]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ENGR00217721-1 add dma_alloc_noncacheable interface
authorTony LIU <junjie.liu@freescale.com>
Fri, 20 Jul 2012 09:49:47 +0000 (17:49 +0800)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:12:28 +0000 (14:12 +0200)
commit3a62ac4c0e98c188324df1f9dea9e69db9590657
tree464d475966e85e02897f5d767349eeb73a98ede5
parente3f280eb26beea8f4ece68b6485ad5dd39e1730d
ENGR00217721-1 add dma_alloc_noncacheable interface

arch/arm/include part

- After USB driver prime a bulk transfer(whatever IN or OUT, take
  OUT for example) on ep1, only one dTD is primed, an USB Interrupt
  (bit 0 of USBSTS) will be issued, and find that endptcomplete
  register is 0x2 which means an OUT transfer on ep1 is completed,
  at this time the ep1 out queue head status is 0x1e18000, and next
  dtd pointer is 0x1 which means transfer is done and everything is
  OK, while the dTD token status is 0x2008080 which means this dTD
  is still active, not completed yet.
- Audio SDMA and Ethernet have the similar issue
- root cause is not found yet
- work around:
  change the non-cacheable bufferable memory to non-cacheable
  non-bufferable memory to make this issue disappear.

Signed-off-by: Tony LIU <junjie.liu@freescale.com>
arch/arm/include/asm/dma-mapping.h