[PATCH v3 1/5] io: define several IO & PIO barrier types for the asm-generic version
okaya at codeaurora.org
okaya at codeaurora.org
Thu Apr 5 04:48:36 PDT 2018
On 2018-04-05 03:00, Arnd Bergmann wrote:
> On Thu, Apr 5, 2018 at 1:58 AM, Sinan Kaya <okaya at codeaurora.org>
> wrote:
>
> Looks good, but I'd change the comments to ones that document exactly
> what those barriers are for:
>
>> +#ifndef __io_ar
>> +#ifdef rmb
>> +/* prefer rmb() as the default implementation of __io_ar() if
>> supported */
>> +#define __io_ar() rmb()
>
> /*
> * prevent prefetching of coherent DMA data ahead of a dma-complete */
>
>> +#ifndef __io_bw
>> +#ifdef wmb
>> +/* prefer wmb() as the default implementation of __io_bw() if
>> supported */
>> +#define __io_bw() wmb()
>> +#else
>
> /* flush writes to coherent DMA data before possibly triggering a DMA
> read */
>
>> +#ifndef __io_aw
>> +#define __io_aw() barrier()
>> +#endif
>
> /* serialize device access against a spin_unlock, usually handled there
> */
>
I will add these and post the next version.
> The other four patches look perfect already. What's the timing we need
> for
> these patches? Are they 4.18 material, or do we need them in 4.17 and
> stable kernels to work around known bugs?
I was hoping to get all arch stuff in for 4.17.
Driver developers started removing redundant wmb().
>
> Arnd
More information about the linux-arm-kernel
mailing list