Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 318512
b: refs/heads/master
c: 8ec22b2
h: refs/heads/master
v: v3
  • Loading branch information
Chris Wilson authored and Daniel Vetter committed May 21, 2012
1 parent 7788b98 commit f39a6db
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 084b612ecf8e59973576b2f644e6949609c79375
refs/heads/master: 8ec22b214d76773c9d89f4040505ce10f677ed9a
27 changes: 27 additions & 0 deletions trunk/drivers/gpu/drm/i915/intel_hdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -452,6 +452,30 @@ static bool intel_hdmi_mode_fixup(struct drm_encoder *encoder,
return true;
}

static bool g4x_hdmi_connected(struct intel_hdmi *intel_hdmi)
{
struct drm_device *dev = intel_hdmi->base.base.dev;
struct drm_i915_private *dev_priv = dev->dev_private;
uint32_t bit;

switch (intel_hdmi->sdvox_reg) {
case HDMIB:
bit = HDMIB_HOTPLUG_LIVE_STATUS;
break;
case HDMIC:
bit = HDMIC_HOTPLUG_LIVE_STATUS;
break;
case HDMID:
bit = HDMID_HOTPLUG_LIVE_STATUS;
break;
default:
bit = 0;
break;
}

return I915_READ(PORT_HOTPLUG_STAT) & bit;
}

static enum drm_connector_status
intel_hdmi_detect(struct drm_connector *connector, bool force)
{
Expand All @@ -460,6 +484,9 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
struct edid *edid;
enum drm_connector_status status = connector_status_disconnected;

if (IS_G4X(connector->dev) && !g4x_hdmi_connected(intel_hdmi))
return status;

intel_hdmi->has_hdmi_sink = false;
intel_hdmi->has_audio = false;
edid = drm_get_edid(connector,
Expand Down

0 comments on commit f39a6db

Please sign in to comment.