[PATCH] ASoC: fsl_sai: Remove unnecessary FIFO reset in ISR

Nicolin Chen nicoleotsuka at gmail.com
Wed Aug 17 16:35:22 AEST 2022


On Tue, Aug 16, 2022 at 11:29 PM Shengjiu Wang <shengjiu.wang at gmail.com> wrote:

>> > The FIFO reset drops the words in the FIFO, which may cause
>> > channel swap when SAI module is running, especially when the
>> > DMA speed is low. So it is not good to do FIFO reset in ISR,
>> > then remove the operation.
>>
>> I don't recall the details of adding this many years ago, but
>> leaving underrun/overrun errors unhandled does not sound right
>> to me either. Would it result in a channel swap also? Perhaps
>> there needs to be a reset routine that stops and restarts the
>> DMA as well?
>
>
> Remove the reset, the channel swap is gone.

I have no doubt about that :)

> IMO, no need to handle the underrun/overrun in driver, the SAI
> hardware can handle the read/write pointer itself when xrun happen,
> and we don't need reset routine.

That'd be okay then.


More information about the Linuxppc-dev mailing list