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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 17, 2022 at 2:21 PM Nicolin Chen <nicoleotsuka@xxxxxxxxx> wrote:

> On Tue, Aug 16, 2022 at 10:41 PM Shengjiu Wang <shengjiu.wang@xxxxxxx>
> 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.

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.

For ESAI, because it can't handle read/write pointer correctly when
xrun happen, so we need reset routine.

Best regards
Wang shengjiu



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux