[alsa-devel] [PATCH v5 05/14] ASoC: SOF: Add PCM operations support
Ranjani Sridharan
ranjani.sridharan at linux.intel.com
Fri Apr 5 16:24:08 CEST 2019
On Fri, 2019-04-05 at 14:30 +0200, Takashi Iwai wrote:
> On Thu, 04 Apr 2019 21:13:43 +0200,
> Ranjani Sridharan wrote:
> >
> > > > +
> > > > + /* set runtime config */
> > > > + runtime->hw.info = SNDRV_PCM_INFO_MMAP |
> > > > + SNDRV_PCM_INFO_MMAP_VALID |
> > > > + SNDRV_PCM_INFO_INTERLEAVED |
> > > > + SNDRV_PCM_INFO_PAUSE |
> > > > + SNDRV_PCM_INFO_RESUME |
> > > > + SNDRV_PCM_INFO_NO_PERIOD_WAKEUP;
> > >
> > > Does SOF support the full resume? That is, the stream gets
> > > resumed
> > > at
> > > the exact position that was suspended. Most devices can't, hence
> > > they
> > > don't set *_INFO_RESUME flag and let user-space restarting.
> >
> > Hi Takashi,
> >
> > Thanks for your comment. The SOF driver definitely cannot guarantee
> > to
> > resume from the exact same position due to the fact that triggers
> > for
> > the host dma and link dma are not synchronized and also IPC
> > scheduling
> > will affect this. So we should remove INOF_RESUME from hw.info.
> >
> > I do one follow up question for you. When a stream resumes/restarts
> > after suspend, we have the need for restoring the hw_params in the
> > SOF
> > driver prior to handling the START trigger. I noticed that the
> > legacy/skylake driver does not seem to do this though. Do you have
> > any
> > insights on what we might be missing in the SOF driver?
>
> So, SOF mandates the re-setup of the hw params in BE at resume?
Yes. That's correct.
> Then the right place to do is in the prepare callback. Without
> SNDRV_PCM_INFO_RESUME flag, the PCM core won't trigger RESUME, but
> returns -ENOSYS. Then user-space will do prepare, and start with the
> normal trigger.
>
> You'd need a flag indicating the BE hw_params resetup, and at the
> beginning of prepare function, the flag is checked and the (internal)
> hw_params is done accordingly.
This makes sense. Thank you for your help. We will change the flow
accordingly.
Thanks,
Ranjani
>
>
> Takashi
More information about the Alsa-devel
mailing list