[PATCH] ep93xx: Implement double buffering for M2M DMA channels
From: Rafal Prylowski <hidden>
Date: 2012-03-22 10:00:52
Also in:
lkml
From: Rafal Prylowski <hidden>
Date: 2012-03-22 10:00:52
Also in:
lkml
On 2012-03-22 01:57, Ryan Mallon wrote:
I haven't looked through the patch yet, since I'm waiting on more information from Mika and Hartley's testing. However, the commit log doesn't tell me why we want this change. Is it a performance improvement? If so, do you have some numbers that we can paste into the commit log?
In principle, using double buffering should be faster than using only one buffer and disabling/enabling channel each time. But my measurements doesn't show any significant change. The real reason for this change is that current code is not 100% reliable in IDE-DMA (I'm planning to submit ep93xx ide driver to linux-ide soon). Although using only one buffer and DONE interrupt is simple, surprisingly we can get interrupt when M2M DMA is in DMA_BUF_ON and DMA_STALL state. If we disable the channel at this moment, we end with ata timeout.