Re: [PATCH v2] dma: imx-sdma: add 1ms delay to ensure SDMA channel is stopped
From: Vinod Koul
Date: Mon Mar 27 2017 - 01:20:52 EST
On Thu, Mar 16, 2017 at 11:12:09PM -0700, jiada_wang@xxxxxxxxxx wrote:
> From: Jiada Wang <jiada_wang@xxxxxxxxxx>
>
> sdma_disable_channel() cannot ensure dma is stopped to access
> module's FIFOs. There is chance SDMA core is running and accessing
> BD when disable of corresponding channel, this may cause sometimes
> even after call of .sdma_disable_channel(), SDMA core still be
> running and accessing module's FIFOs.
>
> According to NXP R&D team a delay of one BD SDMA cost time (maximum
> is 1ms) should be added after disable of the channel bit, to ensure
> SDMA core has really been stopped after SDMA clients call
> .device_terminate_all.
>
> This patch introduces adds a new function sdma_disable_channel_with_delay()
> which simply adds 1ms delay after call sdma_disable_channel(),
> and set it as .device_terminate_all.
Applied after fixing the subsystem name.
--
~Vinod