diff mbox

[7/9] drm/i915/bxt: Disable device ready before shutdown command

Message ID 1486551058-22596-8-git-send-email-vidya.srinivas@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Srinivas, Vidya Feb. 8, 2017, 10:50 a.m. UTC
From: Uma Shankar <uma.shankar@intel.com>

Disable device ready before MIPI port shutdown command.
This helps to avoid mipi split screen issues.

Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
---
 drivers/gpu/drm/i915/intel_dsi.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

Comments

Paauwe, Bob J Feb. 15, 2017, 6:27 p.m. UTC | #1
On Wed, 8 Feb 2017 16:20:56 +0530
Vidya Srinivas <vidya.srinivas@intel.com> wrote:

> From: Uma Shankar <uma.shankar@intel.com>
> 
> Disable device ready before MIPI port shutdown command.
> This helps to avoid mipi split screen issues.
> 
> Signed-off-by: Uma Shankar <uma.shankar@intel.com>
> Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>

Reviewed-by: Bob Paauwe <bob.j.paauwe@intel.com>

> ---
>  drivers/gpu/drm/i915/intel_dsi.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
> index 808158f..12aeee1 100644
> --- a/drivers/gpu/drm/i915/intel_dsi.c
> +++ b/drivers/gpu/drm/i915/intel_dsi.c
> @@ -603,6 +603,8 @@ static void intel_dsi_pre_disable(struct intel_encoder *encoder,
>  				  struct intel_crtc_state *old_crtc_state,
>  				  struct drm_connector_state *old_conn_state)
>  {
> +	struct drm_device *dev = encoder->base.dev;
> +	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
>  	enum port port;
>  
> @@ -610,6 +612,15 @@ static void intel_dsi_pre_disable(struct intel_encoder *encoder,
>  
>  	intel_panel_disable_backlight(intel_dsi->attached_connector);
>  
> +	/*
> +	 * Disable Device ready before the port shutdown in order
> +	 * to avoid split screen
> +	 */
> +	if (IS_BROXTON(dev_priv)) {
> +		for_each_dsi_port(port, intel_dsi->ports)
> +			I915_WRITE(MIPI_DEVICE_READY(port), 0);
> +	}
> +
>  	if (is_vid_mode(intel_dsi)) {
>  		/* Send Shutdown command to the panel in LP mode */
>  		for_each_dsi_port(port, intel_dsi->ports)
Jani Nikula Feb. 16, 2017, 3:23 p.m. UTC | #2
On Wed, 15 Feb 2017, Bob Paauwe <bob.j.paauwe@intel.com> wrote:
> On Wed, 8 Feb 2017 16:20:56 +0530
> Vidya Srinivas <vidya.srinivas@intel.com> wrote:
>
>> From: Uma Shankar <uma.shankar@intel.com>
>> 
>> Disable device ready before MIPI port shutdown command.
>> This helps to avoid mipi split screen issues.
>> 
>> Signed-off-by: Uma Shankar <uma.shankar@intel.com>
>> Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
>
> Reviewed-by: Bob Paauwe <bob.j.paauwe@intel.com>

Pushed this one patch to dinq, thanks for the patch and review.

BR,
Jani.

>
>> ---
>>  drivers/gpu/drm/i915/intel_dsi.c | 11 +++++++++++
>>  1 file changed, 11 insertions(+)
>> 
>> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
>> index 808158f..12aeee1 100644
>> --- a/drivers/gpu/drm/i915/intel_dsi.c
>> +++ b/drivers/gpu/drm/i915/intel_dsi.c
>> @@ -603,6 +603,8 @@ static void intel_dsi_pre_disable(struct intel_encoder *encoder,
>>  				  struct intel_crtc_state *old_crtc_state,
>>  				  struct drm_connector_state *old_conn_state)
>>  {
>> +	struct drm_device *dev = encoder->base.dev;
>> +	struct drm_i915_private *dev_priv = dev->dev_private;
>>  	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
>>  	enum port port;
>>  
>> @@ -610,6 +612,15 @@ static void intel_dsi_pre_disable(struct intel_encoder *encoder,
>>  
>>  	intel_panel_disable_backlight(intel_dsi->attached_connector);
>>  
>> +	/*
>> +	 * Disable Device ready before the port shutdown in order
>> +	 * to avoid split screen
>> +	 */
>> +	if (IS_BROXTON(dev_priv)) {
>> +		for_each_dsi_port(port, intel_dsi->ports)
>> +			I915_WRITE(MIPI_DEVICE_READY(port), 0);
>> +	}
>> +
>>  	if (is_vid_mode(intel_dsi)) {
>>  		/* Send Shutdown command to the panel in LP mode */
>>  		for_each_dsi_port(port, intel_dsi->ports)
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
index 808158f..12aeee1 100644
--- a/drivers/gpu/drm/i915/intel_dsi.c
+++ b/drivers/gpu/drm/i915/intel_dsi.c
@@ -603,6 +603,8 @@  static void intel_dsi_pre_disable(struct intel_encoder *encoder,
 				  struct intel_crtc_state *old_crtc_state,
 				  struct drm_connector_state *old_conn_state)
 {
+	struct drm_device *dev = encoder->base.dev;
+	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
 	enum port port;
 
@@ -610,6 +612,15 @@  static void intel_dsi_pre_disable(struct intel_encoder *encoder,
 
 	intel_panel_disable_backlight(intel_dsi->attached_connector);
 
+	/*
+	 * Disable Device ready before the port shutdown in order
+	 * to avoid split screen
+	 */
+	if (IS_BROXTON(dev_priv)) {
+		for_each_dsi_port(port, intel_dsi->ports)
+			I915_WRITE(MIPI_DEVICE_READY(port), 0);
+	}
+
 	if (is_vid_mode(intel_dsi)) {
 		/* Send Shutdown command to the panel in LP mode */
 		for_each_dsi_port(port, intel_dsi->ports)