[PATCH 1/8] ARM: OMAP: fix DMA vs memory ordering

Shilimkar, Santosh santosh.shilimkar at ti.com
Mon Apr 23 10:35:23 EDT 2012


On Mon, Apr 23, 2012 at 7:57 PM, Tony Lindgren <tony at atomide.com> wrote:
> * Russell King - ARM Linux <linux at arm.linux.org.uk> [120423 07:22]:
>> On Fri, Apr 20, 2012 at 03:22:33PM -0700, Tony Lindgren wrote:
>> > * Russell King <rmk+kernel at arm.linux.org.uk> [120418 03:14]:
>> > > Using coherent DMA memory with the OMAP DMA engine results in
>> > > unpredictable behaviour due to memory ordering issues; as things stand,
>> > > there is no guarantee that data written to coherent DMA memory will be
>> > > visible to the DMA hardware.
>> > >
>> > > This is because the OMAP dma_write() accessor contains no barriers,
>> > > necessary on ARMv6 and above.  The effect of this can be seen in comments
>> > > in the OMAP serial driver, which incorrectly talks about cache flushing
>> > > for the coherent DMA stuff.
>> > >
>> > > Rather than adding barriers to the accessors, add it in the DMA support
>> > > code just before we enable DMA, and just after we disable DMA.  This
>> > > avoids having barriers for every DMA register access.
>> > >
>> > > Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
>> >
>> > Acked-by: Tony Lindgren <tony at atomide.com>
>>
>> Would you like me to push this upstream on my next -rc push (with a
>> stable tag?)
>
> Yes sounds good to me.
>
FWIW,
Acked-by: Santosh Shilimkar <santosh.shilimkar at ti.com>



More information about the linux-arm-kernel mailing list