[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <s5hd1ro3kbf.wl-tiwai@suse.de>
Date: Mon, 22 Feb 2016 15:12:52 +0100
From: Takashi Iwai <tiwai@...e.de>
To: Martin Kepplinger <martink@...teo.de>
Cc: david.henningsson@...onical.com, han.lu@...el.com,
libin.yang@...el.com, treding@...dia.com, perex@...ex.cz,
alsa-devel@...a-project.org, linux-kernel@...r.kernel.org
Subject: Re: [BUG] [REGRESSION] [BISECTED] -rc1 breaks audio over HDMI for i915
On Mon, 22 Feb 2016 15:02:56 +0100,
Martin Kepplinger wrote:
> > And how about my questions in the previous mail? Does
> > i915_audio_component_get_eld() is called and returns 0?
> > And is monitor_present set true or false?
>
> i915_audio_component_get_eld() returns 0 and monitor_present is 0.
> >
> > If i915_audio_component_get_eld() is called but returns zero, track
> > the code flow there. It means either intel_encoder is NULL or
> > intel_dig_port->audio_connector is NULL.
>
> intel_dig_port->audio_connector is NULL!
>
> (when called during boot and during HDMI plugin)
Interesting. The relevant code flow should be like:
intel_audio_codec_enable()
-> acomp->audio_ops->pin_eld_notify()
-> intel_pin_eld_notify()
-> check_presence_and_report()
-> hdmi_present_sense()
-> sync_eld_via_acomp()
-> snd_hdac_acomp_get_eld()
-> i915_audio_component_get_eld()
So, at first, check whether intel_dig_port in both
intel_audio_codec_enable() and i915_audio_component_get_eld() points
to the same object address. The audio_connector must be set in
intel_audio_codec_enable(), thus basically it must be non-NULL at
i915_audio_component_get_eld(), too.
thanks,
Takashi
Powered by blists - more mailing lists