[alsa-devel] [PATCH v8 2/2] ASoC: hdac_hdmi: Add PM support
Subhransu S. Prusty
subhransu.s.prusty at intel.com
Mon Feb 22 03:10:24 CET 2016
> >
> > +#ifdef CONFIG_PM
> > +static int hdmi_codec_resume(struct snd_soc_codec *codec)
> > +{
> > + struct hdac_ext_device *edev = snd_soc_codec_get_drvdata(codec);
> > + struct hdac_hdmi_priv *hdmi = edev->private_data;
> > + struct hdac_hdmi_pin *pin;
> > + struct hdac_device *hdac = &edev->hdac;
> > + struct hdac_bus *bus = hdac->bus;
> > + int err;
> > +
> > + hdac_hdmi_skl_enable_all_pins(&edev->hdac);
> > + hdac_hdmi_skl_enable_dp12(&edev->hdac);
> > +
> > + /* Power up afg */
> > + if (!snd_hdac_check_power_state(hdac, hdac->afg, AC_PWRST_D0))
> > + snd_hdac_codec_write(hdac, hdac->afg, 0,
> > + AC_VERB_SET_POWER_STATE, AC_PWRST_D0);
>
> You don't have to wait for D0 power up unlike runtime resume?
Didn't see any issue yet. But yes, we should wait.
>
> > + /*
> > + * As the ELD notify callback request is not entertained while the
> > + * device is in suspend state. Need to manually check detection of
> > + * all pins here.
> > + */
> > + list_for_each_entry(pin, &hdmi->pin_list, head)
> > + hdac_hdmi_present_sense(pin, 1);
> > +
> > + /* Codec power is turned ON during controller resume */
> > + err = snd_hdac_display_power(bus, false);
> > + if (err < 0) {
> > + dev_err(bus->dev, "Cannot turn on display power on i915\n");
>
> Make clear whether you're turning on or off...
Will fix it.
>
>
> Takashi
--
More information about the Alsa-devel
mailing list