public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Allow DSI dual link to be configured on any pipe
@ 2015-08-03 10:15 Gaurav K Singh
  2015-09-10 12:48 ` Ville Syrjälä
  0 siblings, 1 reply; 3+ messages in thread
From: Gaurav K Singh @ 2015-08-03 10:15 UTC (permalink / raw)
  To: intel-gfx

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@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@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));
+
 	/* 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@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/i915: Allow DSI dual link to be configured on any pipe
  2015-08-03 10:15 [PATCH] drm/i915: Allow DSI dual link to be configured on any pipe Gaurav K Singh
@ 2015-09-10 12:48 ` Ville Syrjälä
  2015-09-10 13:30   ` Jani Nikula
  0 siblings, 1 reply; 3+ messages in thread
From: Ville Syrjälä @ 2015-09-10 12:48 UTC (permalink / raw)
  To: Gaurav K Singh; +Cc: intel-gfx

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@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@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@linux.intel.com>

>  	/* 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@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/i915: Allow DSI dual link to be configured on any pipe
  2015-09-10 12:48 ` Ville Syrjälä
@ 2015-09-10 13:30   ` Jani Nikula
  0 siblings, 0 replies; 3+ messages in thread
From: Jani Nikula @ 2015-09-10 13:30 UTC (permalink / raw)
  To: Ville Syrjälä, Gaurav K Singh; +Cc: intel-gfx

On Thu, 10 Sep 2015, Ville Syrjälä <ville.syrjala@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@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@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@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@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> -- 
> Ville Syrjälä
> Intel OTC
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-09-10 13:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-03 10:15 [PATCH] drm/i915: Allow DSI dual link to be configured on any pipe Gaurav K Singh
2015-09-10 12:48 ` Ville Syrjälä
2015-09-10 13:30   ` Jani Nikula

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox