drm/i915/chv: Fix gmbus for port D
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 9 Apr 2014 10:28:52 +0000 (13:28 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 20 May 2014 13:30:48 +0000 (15:30 +0200)
On CHV the GMBUS port for port D is different from other gmch platforms
which have port D. Fix it up.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Antti Koskipää <antti.koskipaa@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_hdmi.c

index 3822d25723a60ea5e03224592242c032a7e7cf68..ada0cf326e7f9ac04144073d66981e23d387b687 100644 (file)
@@ -1411,6 +1411,7 @@ enum punit_power_well {
 #define   GMBUS_PORT_SSC       1
 #define   GMBUS_PORT_VGADDC    2
 #define   GMBUS_PORT_PANEL     3
+#define   GMBUS_PORT_DPD_CHV   3 /* HDMID_CHV */
 #define   GMBUS_PORT_DPC       4 /* HDMIC */
 #define   GMBUS_PORT_DPB       5 /* SDVO, HDMIB */
 #define   GMBUS_PORT_DPD       6 /* HDMID */
index 5976693927e635d9614a62d61cbe4ab2ca31e0e0..166785d597cea811688fc27f2e7dfb0bf4bc4633 100644 (file)
@@ -1382,7 +1382,10 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port,
                intel_encoder->hpd_pin = HPD_PORT_C;
                break;
        case PORT_D:
-               intel_hdmi->ddc_bus = GMBUS_PORT_DPD;
+               if (IS_CHERRYVIEW(dev))
+                       intel_hdmi->ddc_bus = GMBUS_PORT_DPD_CHV;
+               else
+                       intel_hdmi->ddc_bus = GMBUS_PORT_DPD;
                intel_encoder->hpd_pin = HPD_PORT_D;
                break;
        case PORT_A: