[PATCH RFC v2 2/4] ALSA: pcm: Add SNDRV_PCM_INFO_EXPLICIT_SYNC flag

Takashi Iwai tiwai at suse.de
Fri Aug 13 08:03:51 CEST 2021


On Thu, 12 Aug 2021 20:37:06 +0200,
Pierre-Louis Bossart wrote:
> 
> 
> Hi Takashi,
> 
> > ALSA PCM core has an optimized way to communicate with user-space for
> > its control and status data via mmap on the supported architectures
> > like x86.  Depending on the situation, however, we'd rather want to
> > enforce user-space notifying the applptr or hwptr change explicitly
> > via ioctl.  For example, the upcoming non-contig and non-coherent
> > buffer handling would need an explicit sync, and this needs to catch
> > the applptr and hwptr changes.
> > 
> > This patch adds the new PCM hardware info flag,
> > SNDRV_PCM_INFO_EXPLICIT_SYNC.  When this flag is set, PCM core
> > disables both the control and the status mmap, which enforces
> > user-space to update via SYNC_PTR ioctl.  In that way, drivers can
> > catch the applptr and hwptr update and apply the sync operation if
> > needed.
> 
> This looks like the same functionality as in the patch "ALSA: pcm:
> conditionally avoid mmap of control data" that we submitted for the SPIB
> support, no?

Yes, quite similar.  That's what I mentioned in the reply at that
time.

> I was about to resubmit a v2 based on my version (code was reviewed on
> GitHub in https://github.com/thesofproject/linux/pull/3076).
> 
> If it's the same solution, could this patch be applied first so we are
> aligned regardless of the order in which memalloc and SPIB patches are
> merged? The renaming is fine, and that was your idea that I implemented
> anyways.
> 
> I think there would be a need for a tag as well so that Mark's tree
> compiles when the SOF driver uses this.

Sure, I can merge this one with a slight more rewording.


thanks,

Takashi


More information about the Alsa-devel mailing list