Browse Source

drm/i915/bxt: allow dsi on any pipe

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
Jani Nikula 9 years ago
parent
commit
2e85ab4fed
1 changed files with 7 additions and 2 deletions
  1. 7 2
      drivers/gpu/drm/i915/intel_dsi.c

+ 7 - 2
drivers/gpu/drm/i915/intel_dsi.c

@@ -1198,8 +1198,13 @@ void intel_dsi_init(struct drm_device *dev)
 	intel_connector->get_hw_state = intel_connector_get_hw_state;
 	intel_connector->get_hw_state = intel_connector_get_hw_state;
 	intel_connector->unregister = intel_connector_unregister;
 	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);
 		intel_encoder->crtc_mask = BIT(PIPE_A);
 	else
 	else
 		intel_encoder->crtc_mask = BIT(PIPE_B);
 		intel_encoder->crtc_mask = BIT(PIPE_B);