aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2015-11-19 13:55:01 -0500
committerImre Deak <imre.deak@intel.com>2015-11-20 04:48:57 -0500
commit29bb94bb4dc151024feb649422f3b2bccb37e97d (patch)
treeedf3e6d72ff27a61505b4aa6dd647de649f4e689
parent69172f210e9fffaf8f5d85696b3b96e96e8234e5 (diff)
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. v2: - fix commit message, PCH won't take any redundant power resource after this change (Ville) Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> [fix commit message in v2 (Imre)] Link: http://patchwork.freedesktop.org/patch/msgid/1447959301-1263-2-git-send-email-imre.deak@intel.com
-rw-r--r--drivers/gpu/drm/i915/intel_hdmi.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 17ced03f1b60..bdd462e7c690 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1393,6 +1393,8 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
1393 DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", 1393 DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n",
1394 connector->base.id, connector->name); 1394 connector->base.id, connector->name);
1395 1395
1396 intel_display_power_get(dev_priv, POWER_DOMAIN_GMBUS);
1397
1396 while (!live_status && --retry) { 1398 while (!live_status && --retry) {
1397 live_status = intel_digital_port_connected(dev_priv, 1399 live_status = intel_digital_port_connected(dev_priv,
1398 hdmi_to_dig_port(intel_hdmi)); 1400 hdmi_to_dig_port(intel_hdmi));
@@ -1412,6 +1414,8 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
1412 } else 1414 } else
1413 status = connector_status_disconnected; 1415 status = connector_status_disconnected;
1414 1416
1417 intel_display_power_put(dev_priv, POWER_DOMAIN_GMBUS);
1418
1415 return status; 1419 return status;
1416} 1420}
1417 1421