From: Wu Fengguang <fengguang.wu@intel.com>
To: Keith Packard <keithp@keithp.com>
Cc: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
"Wang, Zhenyu Z" <zhenyu.z.wang@intel.com>,
"intel-gfx@lists.freedesktop..."
<intel-gfx@lists.freedesktop.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
"Zhao, Yakui" <yakui.zhao@intel.com>,
Ben Skeggs <bskeggs@redhat.com>,
Jesse Barnes <jbarnes@virtuousgeek.org>,
Christopher White <c.white@pulseforce.com>,
Jeremy Bush <contractfrombelow@gmail.com>,
"Bossart, Pierre-louis" <pierre-louis.bossart@intel.com>
Subject: Re: [PATCH v3] pass ELD to HDMI/DP audio driver
Date: Thu, 4 Aug 2011 17:40:24 +0800 [thread overview]
Message-ID: <20110804094024.GB21137@localhost> (raw)
In-Reply-To: <yunk4atlwnr.fsf@aiko.keithp.com>
> On Mon, 1 Aug 2011 21:51:40 +0800, Wu Fengguang <fengguang.wu@intel.com> wrote:
>
> > 1) intel_write_eld() is not called at all
> > It seems we need to call intel_write_eld() in other places besides
> > inside ->mode_set(). Is ->detect() the right place to do so? In
> > other words, are there established connector<=>encoder mapping
> > that can be queried inside intel_hdmi_detect()/intel_dp_detect()?
>
> The connector has a link to the encoder (struct intel_connector contains a
> pointer to a struct intel_encoder).
Right. I actually have this chunk. dmesg shows that in intel_hdmi_detect(),
the drm_encoder object is there, however encoder->crtc is NULL at the time.
@@ -269,6 +271,12 @@ intel_hdmi_detect(struct drm_connector *
status = connector_status_connected;
intel_hdmi->has_hdmi_sink = drm_detect_hdmi_monitor(edid);
intel_hdmi->has_audio = drm_detect_monitor_audio(edid);
+ drm_edid_to_eld(connector, edid);
+ if (intel_hdmi->base.base.crtc)
+ intel_write_eld(&intel_hdmi->base.base,
+ &intel_hdmi->base.base.crtc->mode);
+ else
+ printk("intel_hdmi_detect: cannot write eld: NULL crtc\n");
}
connector->display_info.raw_edid = NULL;
kfree(edid);
You may wonder why the mode parameter is needed in intel_write_eld().
This is because the ELD field aud_synch_delay (ie. A/V sync delay) may
have different values in progressive/interleaved display modes.
> > 2) intel_dp_detect() is called even though it's an HDMI monitor
> > connected to an HDMI jack.. It may be a bug specific to the
> > hardware I'm testing (attached its full dmesg).
>
> We run all of the hotplug functions when any connector change is
> detected; easier than trying to track what happened from the bits
> visible from the interrupt.
Ah yes. I figured it out later.
> I note that this patch does not include the necessary hooks for
> Ivybridge; we'll need that included (and tested) for this to be
> considered for kernel 3.1. I'd be surprised if it couldn't use
> ironlake_write_eld just fine, so it should just be a matter of setting
> the write_eld field and testing it on actual hardware.
I tested Ivybridge yesterday and ironlake_write_eld seems to not work
properly for Ivybridge. Need to double check its spec.
Thanks,
Fengguang
next prev parent reply other threads:[~2011-08-04 9:40 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-29 6:20 [PATCH] pass ELD to HDMI/DP audio driver Wu Fengguang
2011-06-29 6:36 ` Wu Fengguang
2011-06-29 7:00 ` Takashi Iwai
2011-06-29 13:10 ` [PATCH v2] " Wu Fengguang
2011-06-29 23:11 ` Ben Skeggs
2011-07-29 20:07 ` Jesse Barnes
2011-08-01 13:51 ` [PATCH v3] " Wu Fengguang
2011-08-04 2:48 ` Keith Packard
2011-08-04 9:40 ` Wu Fengguang [this message]
2011-08-04 18:03 ` Keith Packard
2011-08-05 12:49 ` Wu Fengguang
2011-08-05 15:52 ` Stephen Warren
2011-08-06 20:02 ` Keith Packard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110804094024.GB21137@localhost \
--to=fengguang.wu@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=bskeggs@redhat.com \
--cc=c.white@pulseforce.com \
--cc=contractfrombelow@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jbarnes@virtuousgeek.org \
--cc=keithp@keithp.com \
--cc=pierre-louis.bossart@intel.com \
--cc=yakui.zhao@intel.com \
--cc=zhenyu.z.wang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.