drm/i915: Pass VLV_DISPLAY_BASE + reg to intel_{hdmi, dp}_init on VLV
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 25 Jan 2013 19:44:44 +0000 (21:44 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Sat, 26 Jan 2013 16:31:43 +0000 (17:31 +0100)
When passing the DP/HDMI/SDVO registers to the encoder init functions,
include the VLV specific offset in the value.

v2: Resolved conflicts w/ VLV SDVO elimination

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index 4c4fbc5f30fae9121b1eeb884bb03b58d0d71ed0..c5997d260172f265e607048de71f1ccc93a2952d 100644 (file)
@@ -8228,17 +8228,17 @@ static void intel_setup_outputs(struct drm_device *dev)
                        intel_dp_init(dev, PCH_DP_D, PORT_D);
        } else if (IS_VALLEYVIEW(dev)) {
                /* Check for built-in panel first. Shares lanes with HDMI on SDVOC */
-               if (I915_READ(DP_C) & DP_DETECTED)
-                       intel_dp_init(dev, DP_C, PORT_C);
+               if (I915_READ(VLV_DISPLAY_BASE + DP_C) & DP_DETECTED)
+                       intel_dp_init(dev, VLV_DISPLAY_BASE + DP_C, PORT_C);
 
-               if (I915_READ(SDVOB) & PORT_DETECTED) {
-                       intel_hdmi_init(dev, SDVOB, PORT_B);
-                       if (I915_READ(DP_B) & DP_DETECTED)
-                               intel_dp_init(dev, DP_B, PORT_B);
+               if (I915_READ(VLV_DISPLAY_BASE + SDVOB) & PORT_DETECTED) {
+                       intel_hdmi_init(dev, VLV_DISPLAY_BASE + SDVOB, PORT_B);
+                       if (I915_READ(VLV_DISPLAY_BASE + DP_B) & DP_DETECTED)
+                               intel_dp_init(dev, VLV_DISPLAY_BASE + DP_B, PORT_B);
                }
 
-               if (I915_READ(SDVOC) & PORT_DETECTED)
-                       intel_hdmi_init(dev, SDVOC, PORT_C);
+               if (I915_READ(VLV_DISPLAY_BASE + SDVOC) & PORT_DETECTED)
+                       intel_hdmi_init(dev, VLV_DISPLAY_BASE + SDVOC, PORT_C);
 
        } else if (SUPPORTS_DIGITAL_OUTPUTS(dev)) {
                bool found = false;