Skip to content

Commit

Permalink
drm/i915: Set HDMI hot plug interrupt enable for only the output in q…
Browse files Browse the repository at this point in the history
…uestion.

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: Ma Ling <ling.ma@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
  • Loading branch information
Ma Ling authored and Eric Anholt committed May 14, 2009
1 parent c9ed448 commit 9d2949a
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions drivers/gpu/drm/i915/intel_hdmi.c
Original file line number Diff line number Diff line change
@@ -155,11 +155,18 @@ intel_hdmi_detect(struct drm_connector *connector)

temp = I915_READ(PORT_HOTPLUG_EN);

I915_WRITE(PORT_HOTPLUG_EN,
temp |
HDMIB_HOTPLUG_INT_EN |
HDMIC_HOTPLUG_INT_EN |
HDMID_HOTPLUG_INT_EN);
switch (hdmi_priv->sdvox_reg) {
case SDVOB:
temp |= HDMIB_HOTPLUG_INT_EN;
break;
case SDVOC:
temp |= HDMIC_HOTPLUG_INT_EN;
break;
default:
return connector_status_unknown;
}

I915_WRITE(PORT_HOTPLUG_EN, temp);

POSTING_READ(PORT_HOTPLUG_EN);

0 comments on commit 9d2949a

Please sign in to comment.