Commit 0f5a9be1 authored by Imre Deak's avatar Imre Deak Committed by Jani Nikula

drm/i915: take a power domain reference while checking the HDMI live status

There are platforms that don't need the full GMBUS power domain (BXT)
while others do (PCH, VLV/CHV). For optimizing this we would need to add
a new power domain, but it's not clear how much we would benefit given
the short time we hold the reference. So for now let's keep things
simple.

This fixes a regression introduced in
commit 237ed86c
Author: Sonika Jindal <sonika.jindal@intel.com>
Date:   Tue Sep 15 09:44:20 2015 +0530

   drm/i915: Check live status before reading edid

v2:
- fix commit message, PCH won't take any redundant power resource after
this change (Ville)
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
[fix commit message in v2 (Imre)]
[Cherry-picked from drm-intel-next-queued 29bb94bb (Imre)]
Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1448643329-18675-6-git-send-email-imre.deak@intel.comSigned-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 8e695444
...@@ -1379,6 +1379,8 @@ intel_hdmi_detect(struct drm_connector *connector, bool force) ...@@ -1379,6 +1379,8 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n",
connector->base.id, connector->name); connector->base.id, connector->name);
intel_display_power_get(dev_priv, POWER_DOMAIN_GMBUS);
while (!live_status && --retry) { while (!live_status && --retry) {
live_status = intel_digital_port_connected(dev_priv, live_status = intel_digital_port_connected(dev_priv,
hdmi_to_dig_port(intel_hdmi)); hdmi_to_dig_port(intel_hdmi));
...@@ -1398,6 +1400,8 @@ intel_hdmi_detect(struct drm_connector *connector, bool force) ...@@ -1398,6 +1400,8 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
} else } else
status = connector_status_disconnected; status = connector_status_disconnected;
intel_display_power_put(dev_priv, POWER_DOMAIN_GMBUS);
return status; return status;
} }
......
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