]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ENGR00154704 usb-gadget: wmb is needed after dtd pointer is updated for armv7
authorPeter Chen <peter.chen@freescale.com>
Thu, 11 Aug 2011 02:51:45 +0000 (10:51 +0800)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:09:28 +0000 (14:09 +0200)
commitb66f2955584291e03361c2099c160fe886c58088
treeda5df6c0bcc0192468f0504bfc5067cc5230d485
parentdfe13db0a5815ca5646400957c5a4d4f68b35636
ENGR00154704 usb-gadget: wmb is needed after dtd pointer is updated for armv7

At armv7 SoC, the dma_alloc_coherent returns non-cachable, but
bufferable region, so the driver needs to drain write buffer by
itself, if the controller needs to visit dma buffer immediately
after cpu writes

There is a discussion for this armv7 change:
http://marc.info/?t=127918539100004&r=1&w=2

For this issue, the next dtd pointer is invalid sometimes, the reason
is the region which is used to store dtd is dma buffer, so the data may
not be written to memory when the controller visit this data.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
drivers/usb/gadget/arcotg_udc.c