>> 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...