Hi Takashi, >-----Original Message----- >From: Takashi Iwai [mailto:tiwai@xxxxxxx] >Sent: Tuesday, March 26, 2019 7:19 PM >To: Yang, Libin <libin.yang@xxxxxxxxx> >Cc: alsa-devel@xxxxxxxxxxxxxxxx; broonie@xxxxxxxxxx >Subject: Re: [PATCH V2] ASoC: fix hdmi codec driver contest in S3 > >On Tue, 26 Mar 2019 12:15:06 +0100, >Yang, Libin wrote: >> >> Hi Takashi, >> >> >-----Original Message----- >> >From: Takashi Iwai [mailto:tiwai@xxxxxxx] >> >Sent: Tuesday, March 26, 2019 4:54 PM >> >To: Yang, Libin <libin.yang@xxxxxxxxx> >> >Cc: alsa-devel@xxxxxxxxxxxxxxxx; broonie@xxxxxxxxxx >> >Subject: Re: [PATCH V2] ASoC: fix hdmi codec driver >> >contest in S3 >> > >> >On Tue, 26 Mar 2019 09:46:31 +0100, >> >Yang, Libin wrote: >> >> >> >> Hi Takashi >> >> >> >> > >> >> >In the case of legacy HD-audio, we "fixed" the problem by avoiding >> >> >the trigger of async work at resume, but let it be triggered from >> >> >runtime resume. In ASoC case, however, it's no option. >> >> > >> >> >Maybe a possible solution in the sound driver side would be to >> >> >move from system suspend/resume to ASoC component >suspend/resume. >> >> >The runtime suspend/resume can be kept as is, and call >> >> >pm_runtime_force_suspend and resume from the component >> >suspend/resume >> >> >callbacks. Since the component callbacks are certainly processed >> >> >before DAPM events, this should assure the order. >> >> >> >> I tried to move display power setting from runtime suspend/resume >> >> to component suspend/resume. I found there may be another issue: >> >> playback will NOT call component suspend/resume. >> >> This means we will never have chance to set the display power if >> >> we don't do the S3. >> > >> >The runtime suspend/resume are fine and need to be kept, I suppose. >> >The only problem is the system suspend/resume callbacks that call >> >pm_runtime_force_*(). Just moving these two to component would work? >> > >> >> Let's see the flow of the suspend: >> 1. Component suspend is called. It will call snd_hdac_display_power() >> to turn off the display power. > >No, what I meant was to make the component suspend calling >pm_runtime_force_suspend() instead of the system suspend. >Ditto for the component resume calling pm_runtime_force_resume(). Aha, I get your idea now. I will have a try tomorrow as I don't have the device on hand now. Regards, Libin > > >Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel