Re: [RFC PATCH v2 1/2] ASoC: refine ASoC hdmi audio suspend/resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 09 Jan 2019 09:16:34 +0100,
Yang, Libin wrote:
> 
> >-
> >-static void hdmi_codec_complete(struct device *dev)
> >+#ifdef CONFIG_PM_SLEEP
> >+static int hdmi_codec_resume(struct device *dev)
> > {
> > 	struct hdac_device *hdev = dev_to_hdac_dev(dev);
> > 	struct hdac_hdmi_priv *hdmi = hdev_to_hdmi_priv(hdev);
> >+	int ret;
> >
> >-	/* Power up afg */
> >-	snd_hdac_codec_read(hdev, hdev->afg, 0,
> >	AC_VERB_SET_POWER_STATE,
> >-							AC_PWRST_D0);
> >-
> >-	hdac_hdmi_skl_enable_all_pins(hdev);
> >-	hdac_hdmi_skl_enable_dp12(hdev);
> >-
> >+	ret = pm_runtime_force_resume(dev);
> 
> The code hopes to call hdmi pm_runtime() whenever this resume()
> is called? If so, I'm afraid it will not work. pm_runtime_force_resume()
> calls pm_runtime with conditions. Sometimes pm_runtime will not
> be called. In my suspend/resume test, it shows that pm_runtime() is
> not called. This may cause the following function
> hdac_hdmi_present_sense_all_pins() not work well as there is no
> power on.

Hm, right, maybe we should move hdac_hdmi_present_sense_all_pins()
into runtime resume.  It may be called unconditionally, but safer to
call it conditionally only after S3 or so...


thanks,

Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux