aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-02-21 18:53:04 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-02-22 07:04:33 -0500
commit202adf4b9f5957b26a1cb97267d78e0edb319c5e (patch)
treed16f4cf46fb1c2e813973c3bdd1f7733abca34d2 /drivers/gpu
parentbc752862170c135d6c09fb22d79eeb451023568e (diff)
drm/i915: Revert hdmi HDP pin checks
This reverts commit 8ec22b214d76773c9d89f4040505ce10f677ed9a Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri May 11 18:01:34 2012 +0100 drm/i915/hdmi: Query the live connector status bit for G4x and commit b0ea7d37a8f63eeec5ae80b4a6403cfba01da02f Author: Damien Lespiau <damien.lespiau@intel.com> Date: Thu Dec 13 16:09:00 2012 +0000 drm/i915/hdmi: Read the HPD status before trying to read the EDID They reliably cause HDMI to not be detected on some systems (like my ivb or the bug reporters gm45). To fix up the very slow unplug issues we might want to fire up a 2nd detect cycle a few hundred ms after each hotplug. But for now at least make displays work again. I somewhat suspect that this is confined to HDMI connectors, since all the machines I have with DP+ outputs work correctly. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=52361 Cc: Damien Lespiau <damien.lespiau@intel.com> Cc: Jani Nikula <jani.nikula@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@vger.kernel.org.kernel.org # for 8ec22b21 Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/i915/intel_hdmi.c29
1 files changed, 0 insertions, 29 deletions
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 5a6138c62fe9..3647d03f21ce 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -793,28 +793,6 @@ bool intel_hdmi_mode_fixup(struct drm_encoder *encoder,
793 return true; 793 return true;
794} 794}
795 795
796static bool g4x_hdmi_connected(struct intel_hdmi *intel_hdmi)
797{
798 struct drm_device *dev = intel_hdmi_to_dev(intel_hdmi);
799 struct drm_i915_private *dev_priv = dev->dev_private;
800 struct intel_digital_port *intel_dig_port = hdmi_to_dig_port(intel_hdmi);
801 uint32_t bit;
802
803 switch (intel_dig_port->port) {
804 case PORT_B:
805 bit = PORTB_HOTPLUG_LIVE_STATUS;
806 break;
807 case PORT_C:
808 bit = PORTC_HOTPLUG_LIVE_STATUS;
809 break;
810 default:
811 bit = 0;
812 break;
813 }
814
815 return I915_READ(PORT_HOTPLUG_STAT) & bit;
816}
817
818static enum drm_connector_status 796static enum drm_connector_status
819intel_hdmi_detect(struct drm_connector *connector, bool force) 797intel_hdmi_detect(struct drm_connector *connector, bool force)
820{ 798{
@@ -827,13 +805,6 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
827 struct edid *edid; 805 struct edid *edid;
828 enum drm_connector_status status = connector_status_disconnected; 806 enum drm_connector_status status = connector_status_disconnected;
829 807
830
831 if (IS_G4X(dev) && !g4x_hdmi_connected(intel_hdmi))
832 return status;
833 else if (HAS_PCH_SPLIT(dev) &&
834 !ibx_digital_port_connected(dev_priv, intel_dig_port))
835 return status;
836
837 intel_hdmi->has_hdmi_sink = false; 808 intel_hdmi->has_hdmi_sink = false;
838 intel_hdmi->has_audio = false; 809 intel_hdmi->has_audio = false;
839 intel_hdmi->rgb_quant_range_selectable = false; 810 intel_hdmi->rgb_quant_range_selectable = false;