Commit 9d2949a4 authored by Ma Ling's avatar Ma Ling Committed by Eric Anholt

drm/i915: Set HDMI hot plug interrupt enable for only the output in question.

We detect HDMI output connection status by writing to HOT Plug Interrupt
Detect Enable bit in PORT_HOTPLUG_EN.  The behavior will generate a specified
interrupt, which is caught by audio driver, but during one detection driver
set all Detect Enable bits of HDMIB, HDMIC HDMID, and generate wrong
interrupt signals for current output, according to the signals audio driver
misunderstand device status. The patch intends to handle corresponding
output precisely.

It fixed freedesktop.org bug #21371
Signed-off-by: default avatarMa Ling <ling.ma@intel.com>
Signed-off-by: default avatarEric Anholt <eric@anholt.net>
parent c9ed4486
...@@ -155,11 +155,18 @@ intel_hdmi_detect(struct drm_connector *connector) ...@@ -155,11 +155,18 @@ intel_hdmi_detect(struct drm_connector *connector)
temp = I915_READ(PORT_HOTPLUG_EN); temp = I915_READ(PORT_HOTPLUG_EN);
I915_WRITE(PORT_HOTPLUG_EN, switch (hdmi_priv->sdvox_reg) {
temp | case SDVOB:
HDMIB_HOTPLUG_INT_EN | temp |= HDMIB_HOTPLUG_INT_EN;
HDMIC_HOTPLUG_INT_EN | break;
HDMID_HOTPLUG_INT_EN); case SDVOC:
temp |= HDMIC_HOTPLUG_INT_EN;
break;
default:
return connector_status_unknown;
}
I915_WRITE(PORT_HOTPLUG_EN, temp);
POSTING_READ(PORT_HOTPLUG_EN); POSTING_READ(PORT_HOTPLUG_EN);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment