drm/i915: expose HDMI connectors on port C on BYT
authorJesse Barnes <jbarnes@virtuousgeek.org>
Fri, 9 Aug 2013 16:34:35 +0000 (09:34 -0700)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 9 Aug 2013 17:02:27 +0000 (19:02 +0200)
Ryan noticed that on his board, HDMI was wired up to port C but not
exposed by the kernel, which had only expected DP on that port.  Fix
that up by enumerating both ports if possible.

Tested-by: "Matsumura, Ryan" <ryan.matsumura@intel.com>
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
[danvet: Fix up the whitespace fail. Tsk.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index 2972a0d..370c902 100644 (file)
@@ -9335,8 +9335,13 @@ 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(VLV_DISPLAY_BASE + DP_C) & DP_DETECTED)
-                       intel_dp_init(dev, VLV_DISPLAY_BASE + DP_C, PORT_C);
+               if (I915_READ(VLV_DISPLAY_BASE + GEN4_HDMIC) & SDVO_DETECTED) {
+                       intel_hdmi_init(dev, VLV_DISPLAY_BASE + GEN4_HDMIC,
+                                       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(VLV_DISPLAY_BASE + GEN4_HDMIB) & SDVO_DETECTED) {
                        intel_hdmi_init(dev, VLV_DISPLAY_BASE + GEN4_HDMIB,