On 7/13/21 1:17 AM, Takashi Iwai wrote: > On Mon, 12 Jul 2021 22:56:07 +0200, > Pierre-Louis Bossart wrote: >> >> >> >> On 6/13/21 2:28 AM, Takashi Iwai wrote: >>> On Thu, 10 Jun 2021 22:53:24 +0200, >>> Pierre-Louis Bossart wrote: >>>> >>>> In case of mmap, by default alsa-lib mmaps both control and status data. >>>> >>>> If driver subscribes for application pointer update, driver needs to get >>>> notification whenever appl ptr changes. With the above case driver won't >>>> get appl ptr notifications. >>>> >>>> This patch check on a hw info flag and returns error when user land asks >>>> for mmaping control & status data, thus forcing user to issue >>>> IOCTL_SYNC_PTR. >>>> >>>> This patch was originally submitted in 2017, c.f. >>>> https://lore.kernel.org/alsa-devel/1494896518-23399-4-git-send-email-subhransu.s.prusty@xxxxxxxxx/ >>>> >>>> Suggested-by: Takashi Iwai <tiwai@xxxxxxx> >>>> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> >>>> Reviewed-by: Kai Vehmanen <kai.vehmanen@xxxxxxxxxxxxxxx> >>>> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@xxxxxxxxxxxxxxx> >>> >>> This kind of flag itself was what I also introduced for another >>> purpose, too. There is a WIP patch that allows the use of >>> non-coherent non-contiguous buffer pages, and this flag would fit for >>> that. FWIW, the patch is found at >>> https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/log/?h=topic/memalloc >> >> Sorry Takashi, I missed your feedback on this patch. >> >> Are you saying I should use the definition in that patch? >> >> +#define SNDRV_DMA_TYPE_NONCONTIG 8 /* non-coherent SG buffer */ >> >> I am not quite sure if how this is related to the application using mmap or not? > > Not about that, but rather meant that some flag for disabling the mmap > of PCM control record would be needed for other purposes like the > above, too. That is, this patch could be out of series and applied > beforehand in my side. Thanks Takashi, I will resubmit this separately. I may also break the series in two, the two parts (pause/L1EN support and rewinds) are not really connected, they help reduce power but at different levels.