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

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Mon Oct 18 17:05:13 CEST 2021



>> From: Ranjani Sridharan <ranjani.sridharan at linux.intel.com>
>>
>> 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...


More information about the Alsa-devel mailing list