[alsa-devel] [PATCH 1/2] ALSA: hdmi - poll eld at resume time

Wang, Xingchao xingchao.wang at intel.com
Mon Jun 24 14:19:42 CEST 2013



> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai at suse.de]
> Sent: Monday, June 24, 2013 7:33 PM
> To: Wang Xingchao
> Cc: alsa-devel at alsa-project.org; Wang, Xingchao
> Subject: Re: [PATCH 1/2] ALSA: hdmi - poll eld at resume time
> 
> At Mon, 24 Jun 2013 07:45:23 -0400,
> Wang Xingchao wrote:
> >
> > Hdmi driver may not receive intrinsic event from gfx side when it's in
> > runtime suspend mode. There's no ELD info when exit from runtime
> > suspend. This patch avoid missing ELD info.
> 
> hda_call_codec_resume() sets the jack detection all dirty, thus each jack
> detection callback should be called at resume.  Didn't it work as expected?

I would double check that. In my test, it doesnot work as expected.

--xingchao
> 
> 
> Takashi
> 
> >
> > Signed-off-by: Wang Xingchao <xingchao.wang at linux.intel.com>
> > ---
> >  sound/pci/hda/patch_hdmi.c | 21 +++++++++++++++++++++
> >  1 file changed, 21 insertions(+)
> >
> > diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> > index 7803ddd..cb8ac66 100644
> > --- a/sound/pci/hda/patch_hdmi.c
> > +++ b/sound/pci/hda/patch_hdmi.c
> > @@ -1868,12 +1868,33 @@ static void generic_hdmi_free(struct hda_codec
> *codec)
> >  	kfree(spec);
> >  }
> >
> > +#ifdef CONFIG_PM
> > +static int generic_hdmi_resume(struct hda_codec *codec) {
> > +	struct hdmi_spec *spec = codec->spec;
> > +	int pin_idx;
> > +
> > +	generic_hdmi_init(codec);
> > +	snd_hda_codec_resume_amp(codec);
> > +	snd_hda_codec_resume_cache(codec);
> > +
> > +	for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) {
> > +		struct hdmi_spec_per_pin *per_pin = get_pin(spec, pin_idx);
> > +		hdmi_present_sense(per_pin, 1);
> > +	}
> > +	return 0;
> > +}
> > +#endif
> > +
> >  static const struct hda_codec_ops generic_hdmi_patch_ops = {
> >  	.init			= generic_hdmi_init,
> >  	.free			= generic_hdmi_free,
> >  	.build_pcms		= generic_hdmi_build_pcms,
> >  	.build_controls		= generic_hdmi_build_controls,
> >  	.unsol_event		= hdmi_unsol_event,
> > +#ifdef CONFIG_PM
> > +	.resume 		= generic_hdmi_resume,
> > +#endif
> >  };
> >
> >
> > --
> > 1.8.1.2
> >


More information about the Alsa-devel mailing list