Messages in this thread | | | Subject | Re: [PATCH v2 4/4] ALSA: usb-audio: Operate UAC3 Power Domains in PCM callbacks | From | Jorge <> | Date | Mon, 30 Jul 2018 17:48:40 +0100 |
| |
On 30/07/18 17:12, Takashi Iwai wrote: > On Mon, 30 Jul 2018 18:09:38 +0200, > Jorge wrote: >> >> >> >> On 30/07/18 14:13, Takashi Iwai wrote: >>> On Mon, 30 Jul 2018 11:23:36 +0200, >>> Jorge Sanjuan wrote: >>>> >>>> Make use of UAC3 Power Domains associated to an Audio Streaming >>>> path within the PCM's logic. This means, when there is no audio >>>> being transferred (pcm is closed), the host will set the Power Domain >>>> associated to that substream to state D1. When audio is being transferred >>>> (from hw_params onwards), the Power Domain will be set to D0 state. >>>> >>>> This is the way the host lets the device know which Terminal >>>> is going to be actively used and it is for the device to >>>> manage its own internal resources on that UAC3 Power Domain. >>>> >>>> Note the resume method now sets the Power Domain to D1 state as >>>> resuming the device doesn't mean audio streaming will occur. >>> >>> I guess we need the power state transition to D0 also in prepare >>> callback. The recovery from suspend doesn't need hw_params call but >>> just prepare -> trigger. >> >> Right! Shouldn't it then be enough to just go to D0 on .prepare? I,e. >> Move the state transition from .hw_params to .prepare. > > Does the power domain transition needed for setting the format, EP, > etc done in set_format()? If yes, we need D0 in hw_parmas as well.
Ok. That's a good point. The Power Domain will affect the USB streaming terminals so a device may implement this in a way so it is not capable to set_formats properly. I'll make sure the Power Domain is always set to D0 *before* attempting to set_format.
Thanks!
Jorge
> > > thanks, > > Takashi >
| |