Re: [PATCH v3 4/4] ASoC: SOF: Intel: add .ack support for HDaudio platforms

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

 



On Mon, 18 Oct 2021 17:05:13 +0200,
Pierre-Louis Bossart wrote:
> 
> 
> 
> >> From: Ranjani Sridharan <ranjani.sridharan@xxxxxxxxxxxxxxx>
> >>
> >> When we disable rewinds, then the .ack can be used to program SPIB
> >> with the application pointer, which allows the HDaudio DMA to save
> >> power by opportunistically bursting data transfers when the path to
> >> memory is enabled (and conversely to shut it down when there are no
> >> transfer requests).
> >>
> >> The SPIB register can only be programmed with incremental values with
> >> wrap-around after the DMA RUN bits are set. For simplicity, we set the
> >> INFO_NO_REWINDS flag in the .open callback when we already need to
> >> program the SNDRV_PCM_INFO_EXPLICIT_SYNC flag.
> > 
> > Using this flag itself isn't wrong, but if we need to check only
> > appl_ptr updates, a more appropriate flag is
> > SNDRV_PCM_INFO_SYNC_APPLPTR.  This will still allow the mmap of status
> > (i.e. hwptr update) while the mmap of control is disabled for
> > appl_ptr.  SNDRV_PCM_INFO_EXPLICIT_SYNC flag disables both, instead.
> 
> I don't mind, but now we're officially out of INFO flags :-)
> 
> NO_REWINDS took the last available bit...

I mean only about the use EXPLICIT_SYNC flag.  There has been already
an info flag SYNC_APPLPTR, and this should suffice for your purpose.
In a nutshell:

EXPLICIT_SYNC = disable both control and status mmaps
SYNC_APPLPTR = disable only control mmap


Takashi



[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