drm/i915: Allow DSI dual link to be configured on any pipe
Just like single link MIPI panels, similarly for dual link panels, pipe
to be configured is based on the DVO port from VBT Block 2. In hardware,
Port A is mapped with Pipe A and Port C is mapped with Pipe B.
This issue got introduced in -
commit 7e9804fdcf
Author: Jani Nikula <jani.nikula@intel.com>
Date: Fri Jan 16 14:27:23 2015 +0200
drm/i915/dsi: add drm mipi dsi host support
Cc: stable@vger.kernel.org # v4.0
Signed-off-by: Gaurav K Singh <gaurav.k.singh@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
58590c14d8
commit
824257857f
|
@ -1048,11 +1048,7 @@ void intel_dsi_init(struct drm_device *dev)
|
|||
intel_connector->unregister = intel_connector_unregister;
|
||||
|
||||
/* Pipe A maps to MIPI DSI port A, pipe B maps to MIPI DSI port C */
|
||||
if (dev_priv->vbt.dsi.config->dual_link) {
|
||||
/* XXX: does dual link work on either pipe? */
|
||||
intel_encoder->crtc_mask = (1 << PIPE_A);
|
||||
intel_dsi->ports = ((1 << PORT_A) | (1 << PORT_C));
|
||||
} else if (dev_priv->vbt.dsi.port == DVO_PORT_MIPIA) {
|
||||
if (dev_priv->vbt.dsi.port == DVO_PORT_MIPIA) {
|
||||
intel_encoder->crtc_mask = (1 << PIPE_A);
|
||||
intel_dsi->ports = (1 << PORT_A);
|
||||
} else if (dev_priv->vbt.dsi.port == DVO_PORT_MIPIC) {
|
||||
|
@ -1060,6 +1056,9 @@ void intel_dsi_init(struct drm_device *dev)
|
|||
intel_dsi->ports = (1 << PORT_C);
|
||||
}
|
||||
|
||||
if (dev_priv->vbt.dsi.config->dual_link)
|
||||
intel_dsi->ports = ((1 << PORT_A) | (1 << PORT_C));
|
||||
|
||||
/* Create a DSI host (and a device) for each port. */
|
||||
for_each_dsi_port(port, intel_dsi->ports) {
|
||||
struct intel_dsi_host *host;
|
||||
|
|
Loading…
Reference in New Issue