[Intel-gfx] [PATCH] drm/i915: Allow DSI dual link to be configured on any pipe
Jani Nikula
jani.nikula at linux.intel.com
Thu Sep 10 06:30:16 PDT 2015
On Thu, 10 Sep 2015, Ville Syrjälä <ville.syrjala at linux.intel.com> wrote:
> On Mon, Aug 03, 2015 at 03:45:32PM +0530, Gaurav K Singh wrote:
>> 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 7e9804fdcffc650515c60f524b8b2076ee59e710
>> Author: Jani Nikula <jani.nikula at intel.com>
>> Date: Fri Jan 16 14:27:23 2015 +0200
>>
>> drm/i915/dsi: add drm mipi dsi host support
>>
>> Signed-off-by: Gaurav K Singh <gaurav.k.singh at intel.com>
>> ---
>> drivers/gpu/drm/i915/intel_dsi.c | 9 ++++-----
>> 1 file changed, 4 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
>> index 18dd7d7..8aa9c7cc 100644
>> --- a/drivers/gpu/drm/i915/intel_dsi.c
>> +++ b/drivers/gpu/drm/i915/intel_dsi.c
>> @@ -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));
>> +
>
> This looks sane based on the fact that intel_dsi_port_enable() sets
> up the MIPI_PORT_CTRL lane configuration bits in a different way
> depending on which pipe is driving the dual link. And the spec agrees
> on the meaning of those bits.
>
> Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Pushed to drm-intel-next-fixes, with cc: stable, thanks for the patch
and review.
BR,
Jani.
>
>> /* Create a DSI host (and a device) for each port. */
>> for_each_dsi_port(port, intel_dsi->ports) {
>> struct intel_dsi_host *host;
>> --
>> 1.7.9.5
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Ville Syrjälä
> Intel OTC
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list