drm/i915/bxt: allow dsi on any pipe
authorJani Nikula <jani.nikula@intel.com>
Fri, 18 Mar 2016 15:05:44 +0000 (17:05 +0200)
committerJani Nikula <jani.nikula@intel.com>
Mon, 21 Mar 2016 10:59:09 +0000 (12:59 +0200)
BXT isn't as limited as BYT and CHT regarding DSI pipes and ports.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/0375f1e237092d0ae3f39ecfc5702024918acbfd.1458313400.git.jani.nikula@intel.com
drivers/gpu/drm/i915/intel_dsi.c

index dd6f7bc4f444e36336d643ba69e07fa28170716a..456676c00059387ce44d82897f0a0e36640b429c 100644 (file)
@@ -1198,8 +1198,13 @@ void intel_dsi_init(struct drm_device *dev)
        intel_connector->get_hw_state = intel_connector_get_hw_state;
        intel_connector->unregister = intel_connector_unregister;
 
-       /* Pipe A maps to MIPI DSI port A, pipe B maps to MIPI DSI port C */
-       if (port == PORT_A)
+       /*
+        * On BYT/CHV, pipe A maps to MIPI DSI port A, pipe B maps to MIPI DSI
+        * port C. BXT isn't limited like this.
+        */
+       if (IS_BROXTON(dev_priv))
+               intel_encoder->crtc_mask = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C);
+       else if (port == PORT_A)
                intel_encoder->crtc_mask = BIT(PIPE_A);
        else
                intel_encoder->crtc_mask = BIT(PIPE_B);