Re: [PATCH 6/7] k3dma: Fix occasional DMA ERR issue by using proper dma api

From: zhangfei
Date: Thu Jul 21 2016 - 00:27:18 EST




On 07/21/2016 11:53 AM, John Stultz wrote:
After lots of debugging on an occasional DMA ERR issue, I realized
that the desc structures which we point the dma hardware are being
allocated out of regular memory. This means when we fill the desc
structures, that data doesn't always get flushed out to memory by
the time we start the dma transfer, resulting in the dma engine getting
some null values, resulting in a DMA ERR on the first irq.

How about using wmb() flush before start dma to sync desc?

I remember I used dma_pool first, then do some optimization referring Russell's driver.

Thanks