OSDN Git Service

drm/i915/bxt: Use intel_encoder->hpd_pin to check live status
authorSonika Jindal <sonika.jindal@intel.com>
Fri, 11 Sep 2015 11:28:32 +0000 (16:58 +0530)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 14 Sep 2015 09:12:13 +0000 (11:12 +0200)
Using intel_encoder's hpd_pin to check the live status
because of BXT A0/A1 WA for HPD pins and hpd_pin contains the
updated pin for the corresponding port.

Signed-off-by: Sonika Jindal <sonika.jindal@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_dp.c

index 45ab25e..b8c4fc5 100644 (file)
@@ -4637,11 +4637,14 @@ static bool vlv_digital_port_connected(struct drm_i915_private *dev_priv,
 }
 
 static bool bxt_digital_port_connected(struct drm_i915_private *dev_priv,
-                                      struct intel_digital_port *port)
+                                      struct intel_digital_port *intel_dig_port)
 {
+       struct intel_encoder *intel_encoder = &intel_dig_port->base;
+       enum port port;
        u32 bit;
 
-       switch (port->port) {
+       intel_hpd_pin_to_port(intel_encoder->hpd_pin, &port);
+       switch (port) {
        case PORT_A:
                bit = BXT_DE_PORT_HP_DDIA;
                break;
@@ -4652,7 +4655,7 @@ static bool bxt_digital_port_connected(struct drm_i915_private *dev_priv,
                bit = BXT_DE_PORT_HP_DDIC;
                break;
        default:
-               MISSING_CASE(port->port);
+               MISSING_CASE(port);
                return false;
        }