All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Don't check modeset state in the hw state force restore path
@ 2015-06-01 12:41 Ander Conselvan de Oliveira
  2015-06-01 12:45 ` Conselvan De Oliveira, Ander
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Ander Conselvan de Oliveira @ 2015-06-01 12:41 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ander Conselvan de Oliveira

Since the force restore logic will restore the CRTCs state one at a
time, it is possible that the state will be inconsistent until the whole
operation finishes. A call to intel_modeset_check_state() is done once
it's over, so don't check the state multiple times in between. This
regression was introduced in:

commit 7f27126ea3db6ade886f18fd39caf0ff0cd1d37f
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date:   Wed Nov 5 14:26:06 2014 -0800

    drm/i915: factor out compute_config from __intel_set_mode v3

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94431
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
---

Hi,

This patch applies on top of nightly, but it is only relevant without
Maarten's "drm/i915: Convert to atomic, part 2" series, because of the
changes to the hw state read out and force restore logic.

The regression exists since 3.19.

---
 drivers/gpu/drm/i915/intel_display.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 16e159d..24fb7ce 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -87,7 +87,8 @@ static void ironlake_pch_clock_get(struct intel_crtc *crtc,
 				   struct intel_crtc_state *pipe_config);
 
 static int intel_set_mode(struct drm_crtc *crtc,
-			  struct drm_atomic_state *state);
+			  struct drm_atomic_state *state,
+			  bool check);
 static int intel_framebuffer_init(struct drm_device *dev,
 				  struct intel_framebuffer *ifb,
 				  struct drm_mode_fb_cmd2 *mode_cmd,
@@ -10282,7 +10283,7 @@ retry:
 
 	drm_mode_copy(&crtc_state->base.mode, mode);
 
-	if (intel_set_mode(crtc, state)) {
+	if (intel_set_mode(crtc, state, true)) {
 		DRM_DEBUG_KMS("failed to set mode on load-detect pipe\n");
 		if (old->release_fb)
 			old->release_fb->funcs->destroy(old->release_fb);
@@ -10356,7 +10357,7 @@ void intel_release_load_detect_pipe(struct drm_connector *connector,
 		if (ret)
 			goto fail;
 
-		ret = intel_set_mode(crtc, state);
+		ret = intel_set_mode(crtc, state, true);
 		if (ret)
 			goto fail;
 
@@ -12832,20 +12833,22 @@ static int __intel_set_mode(struct drm_crtc *modeset_crtc,
 }
 
 static int intel_set_mode_with_config(struct drm_crtc *crtc,
-				      struct intel_crtc_state *pipe_config)
+				      struct intel_crtc_state *pipe_config,
+				      bool check)
 {
 	int ret;
 
 	ret = __intel_set_mode(crtc, pipe_config);
 
-	if (ret == 0)
+	if (ret == 0 && check)
 		intel_modeset_check_state(crtc->dev);
 
 	return ret;
 }
 
 static int intel_set_mode(struct drm_crtc *crtc,
-			  struct drm_atomic_state *state)
+			  struct drm_atomic_state *state,
+			  bool check)
 {
 	struct intel_crtc_state *pipe_config;
 	int ret = 0;
@@ -12856,7 +12859,7 @@ static int intel_set_mode(struct drm_crtc *crtc,
 		goto out;
 	}
 
-	ret = intel_set_mode_with_config(crtc, pipe_config);
+	ret = intel_set_mode_with_config(crtc, pipe_config, check);
 	if (ret)
 		goto out;
 
@@ -12933,7 +12936,7 @@ void intel_crtc_restore_mode(struct drm_crtc *crtc)
 	intel_modeset_setup_plane_state(state, crtc, &crtc->mode,
 					crtc->primary->fb, crtc->x, crtc->y);
 
-	ret = intel_set_mode(crtc, state);
+	ret = intel_set_mode(crtc, state, false);
 	if (ret)
 		drm_atomic_state_free(state);
 }
@@ -13133,7 +13136,7 @@ static int intel_crtc_set_config(struct drm_mode_set *set)
 
 	primary_plane_was_visible = primary_plane_visible(set->crtc);
 
-	ret = intel_set_mode_with_config(set->crtc, pipe_config);
+	ret = intel_set_mode_with_config(set->crtc, pipe_config, true);
 
 	if (ret == 0 &&
 	    pipe_config->base.enable &&
-- 
2.1.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: Don't check modeset state in the hw state force restore path
  2015-06-01 12:41 [PATCH] drm/i915: Don't check modeset state in the hw state force restore path Ander Conselvan de Oliveira
@ 2015-06-01 12:45 ` Conselvan De Oliveira, Ander
  2015-06-01 23:47 ` shuang.he
  2015-06-02  7:12 ` Jani Nikula
  2 siblings, 0 replies; 7+ messages in thread
From: Conselvan De Oliveira, Ander @ 2015-06-01 12:45 UTC (permalink / raw)
  To: intel-gfx

On Mon, 2015-06-01 at 15:41 +0300, Ander Conselvan de Oliveira wrote:
> Since the force restore logic will restore the CRTCs state one at a
> time, it is possible that the state will be inconsistent until the whole
> operation finishes. A call to intel_modeset_check_state() is done once
> it's over, so don't check the state multiple times in between. This
> regression was introduced in:
> 
> commit 7f27126ea3db6ade886f18fd39caf0ff0cd1d37f
> Author: Jesse Barnes <jbarnes@virtuousgeek.org>
> Date:   Wed Nov 5 14:26:06 2014 -0800
> 
>     drm/i915: factor out compute_config from __intel_set_mode v3
> 
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94431
> Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
> ---
> 
> Hi,
> 
> This patch applies on top of nightly, but it is only relevant without
> Maarten's "drm/i915: Convert to atomic, part 2" series, because of the
> changes to the hw state read out and force restore logic.
> 
> The regression exists since 3.19.

Same patch adapated for 4.1-rc6 here:
https://bugzilla.kernel.org/attachment.cgi?id=178461

Ander

> ---
>  drivers/gpu/drm/i915/intel_display.c | 21 ++++++++++++---------
>  1 file changed, 12 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 16e159d..24fb7ce 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -87,7 +87,8 @@ static void ironlake_pch_clock_get(struct intel_crtc *crtc,
>  				   struct intel_crtc_state *pipe_config);
>  
>  static int intel_set_mode(struct drm_crtc *crtc,
> -			  struct drm_atomic_state *state);
> +			  struct drm_atomic_state *state,
> +			  bool check);
>  static int intel_framebuffer_init(struct drm_device *dev,
>  				  struct intel_framebuffer *ifb,
>  				  struct drm_mode_fb_cmd2 *mode_cmd,
> @@ -10282,7 +10283,7 @@ retry:
>  
>  	drm_mode_copy(&crtc_state->base.mode, mode);
>  
> -	if (intel_set_mode(crtc, state)) {
> +	if (intel_set_mode(crtc, state, true)) {
>  		DRM_DEBUG_KMS("failed to set mode on load-detect pipe\n");
>  		if (old->release_fb)
>  			old->release_fb->funcs->destroy(old->release_fb);
> @@ -10356,7 +10357,7 @@ void intel_release_load_detect_pipe(struct drm_connector *connector,
>  		if (ret)
>  			goto fail;
>  
> -		ret = intel_set_mode(crtc, state);
> +		ret = intel_set_mode(crtc, state, true);
>  		if (ret)
>  			goto fail;
>  
> @@ -12832,20 +12833,22 @@ static int __intel_set_mode(struct drm_crtc *modeset_crtc,
>  }
>  
>  static int intel_set_mode_with_config(struct drm_crtc *crtc,
> -				      struct intel_crtc_state *pipe_config)
> +				      struct intel_crtc_state *pipe_config,
> +				      bool check)
>  {
>  	int ret;
>  
>  	ret = __intel_set_mode(crtc, pipe_config);
>  
> -	if (ret == 0)
> +	if (ret == 0 && check)
>  		intel_modeset_check_state(crtc->dev);
>  
>  	return ret;
>  }
>  
>  static int intel_set_mode(struct drm_crtc *crtc,
> -			  struct drm_atomic_state *state)
> +			  struct drm_atomic_state *state,
> +			  bool check)
>  {
>  	struct intel_crtc_state *pipe_config;
>  	int ret = 0;
> @@ -12856,7 +12859,7 @@ static int intel_set_mode(struct drm_crtc *crtc,
>  		goto out;
>  	}
>  
> -	ret = intel_set_mode_with_config(crtc, pipe_config);
> +	ret = intel_set_mode_with_config(crtc, pipe_config, check);
>  	if (ret)
>  		goto out;
>  
> @@ -12933,7 +12936,7 @@ void intel_crtc_restore_mode(struct drm_crtc *crtc)
>  	intel_modeset_setup_plane_state(state, crtc, &crtc->mode,
>  					crtc->primary->fb, crtc->x, crtc->y);
>  
> -	ret = intel_set_mode(crtc, state);
> +	ret = intel_set_mode(crtc, state, false);
>  	if (ret)
>  		drm_atomic_state_free(state);
>  }
> @@ -13133,7 +13136,7 @@ static int intel_crtc_set_config(struct drm_mode_set *set)
>  
>  	primary_plane_was_visible = primary_plane_visible(set->crtc);
>  
> -	ret = intel_set_mode_with_config(set->crtc, pipe_config);
> +	ret = intel_set_mode_with_config(set->crtc, pipe_config, true);
>  
>  	if (ret == 0 &&
>  	    pipe_config->base.enable &&

---------------------------------------------------------------------
Intel Finland Oy
Registered Address: PL 281, 00181 Helsinki 
Business Identity Code: 0357606 - 4 
Domiciled in Helsinki 

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: Don't check modeset state in the hw state force restore path
  2015-06-01 12:41 [PATCH] drm/i915: Don't check modeset state in the hw state force restore path Ander Conselvan de Oliveira
  2015-06-01 12:45 ` Conselvan De Oliveira, Ander
@ 2015-06-01 23:47 ` shuang.he
  2015-06-02  7:12 ` Jani Nikula
  2 siblings, 0 replies; 7+ messages in thread
From: shuang.he @ 2015-06-01 23:47 UTC (permalink / raw)
  To: shuang.he, lei.a.liu, intel-gfx, ander.conselvan.de.oliveira

Tested-By: Intel Graphics QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com)
Task id: 6514
-------------------------------------Summary-------------------------------------
Platform          Delta          drm-intel-nightly          Series Applied
PNV                                  276/276              276/276
ILK                                  303/303              303/303
SNB                 -1              315/315              314/315
IVB                                  343/343              343/343
BYT                                  287/287              287/287
BDW                 -1              321/321              320/321
-------------------------------------Detailed-------------------------------------
Platform  Test                                drm-intel-nightly          Series Applied
*SNB  igt@pm_rpm@dpms-mode-unset-non-lpsp      PASS(1)      DMESG_WARN(1)
(dmesg patch applied)WARNING:at_drivers/gpu/drm/i915/intel_uncore.c:#assert_device_not_suspended[i915]()@WARNING:.* at .* assert_device_not_suspended+0x
*BDW  igt@gem_flink@basic      PASS(1)      DMESG_WARN(1)
(dmesg patch applied)WARNING:at_drivers/gpu/drm/i915/intel_display.c:#assert_plane[i915]()@WARNING:.* at .* assert_plane
assertion_failure@assertion failure
WARNING:at_drivers/gpu/drm/drm_irq.c:#drm_wait_one_vblank[drm]()@WARNING:.* at .* drm_wait_one_vblank+0x
Note: You need to pay more attention to line start with '*'
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: Don't check modeset state in the hw state force restore path
  2015-06-01 12:41 [PATCH] drm/i915: Don't check modeset state in the hw state force restore path Ander Conselvan de Oliveira
  2015-06-01 12:45 ` Conselvan De Oliveira, Ander
  2015-06-01 23:47 ` shuang.he
@ 2015-06-02  7:12 ` Jani Nikula
  2015-06-02  7:27   ` Maarten Lankhorst
  2 siblings, 1 reply; 7+ messages in thread
From: Jani Nikula @ 2015-06-02  7:12 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ander Conselvan de Oliveira

On Mon, 01 Jun 2015, Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> wrote:
> Since the force restore logic will restore the CRTCs state one at a
> time, it is possible that the state will be inconsistent until the whole
> operation finishes. A call to intel_modeset_check_state() is done once
> it's over, so don't check the state multiple times in between. This
> regression was introduced in:
>
> commit 7f27126ea3db6ade886f18fd39caf0ff0cd1d37f
> Author: Jesse Barnes <jbarnes@virtuousgeek.org>
> Date:   Wed Nov 5 14:26:06 2014 -0800
>
>     drm/i915: factor out compute_config from __intel_set_mode v3
>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94431
> Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
> ---
>
> Hi,
>
> This patch applies on top of nightly, but it is only relevant without
> Maarten's "drm/i915: Convert to atomic, part 2" series, because of the
> changes to the hw state read out and force restore logic.
>
> The regression exists since 3.19.

Sooo, I think this should be applied to fixes, with cc: stable v3.19+,
and IIUC Maarten's series makes this obsolete in dinq?

Now we just need review... Maarten?

BR,
Jani.




>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 21 ++++++++++++---------
>  1 file changed, 12 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 16e159d..24fb7ce 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -87,7 +87,8 @@ static void ironlake_pch_clock_get(struct intel_crtc *crtc,
>  				   struct intel_crtc_state *pipe_config);
>  
>  static int intel_set_mode(struct drm_crtc *crtc,
> -			  struct drm_atomic_state *state);
> +			  struct drm_atomic_state *state,
> +			  bool check);
>  static int intel_framebuffer_init(struct drm_device *dev,
>  				  struct intel_framebuffer *ifb,
>  				  struct drm_mode_fb_cmd2 *mode_cmd,
> @@ -10282,7 +10283,7 @@ retry:
>  
>  	drm_mode_copy(&crtc_state->base.mode, mode);
>  
> -	if (intel_set_mode(crtc, state)) {
> +	if (intel_set_mode(crtc, state, true)) {
>  		DRM_DEBUG_KMS("failed to set mode on load-detect pipe\n");
>  		if (old->release_fb)
>  			old->release_fb->funcs->destroy(old->release_fb);
> @@ -10356,7 +10357,7 @@ void intel_release_load_detect_pipe(struct drm_connector *connector,
>  		if (ret)
>  			goto fail;
>  
> -		ret = intel_set_mode(crtc, state);
> +		ret = intel_set_mode(crtc, state, true);
>  		if (ret)
>  			goto fail;
>  
> @@ -12832,20 +12833,22 @@ static int __intel_set_mode(struct drm_crtc *modeset_crtc,
>  }
>  
>  static int intel_set_mode_with_config(struct drm_crtc *crtc,
> -				      struct intel_crtc_state *pipe_config)
> +				      struct intel_crtc_state *pipe_config,
> +				      bool check)
>  {
>  	int ret;
>  
>  	ret = __intel_set_mode(crtc, pipe_config);
>  
> -	if (ret == 0)
> +	if (ret == 0 && check)
>  		intel_modeset_check_state(crtc->dev);
>  
>  	return ret;
>  }
>  
>  static int intel_set_mode(struct drm_crtc *crtc,
> -			  struct drm_atomic_state *state)
> +			  struct drm_atomic_state *state,
> +			  bool check)
>  {
>  	struct intel_crtc_state *pipe_config;
>  	int ret = 0;
> @@ -12856,7 +12859,7 @@ static int intel_set_mode(struct drm_crtc *crtc,
>  		goto out;
>  	}
>  
> -	ret = intel_set_mode_with_config(crtc, pipe_config);
> +	ret = intel_set_mode_with_config(crtc, pipe_config, check);
>  	if (ret)
>  		goto out;
>  
> @@ -12933,7 +12936,7 @@ void intel_crtc_restore_mode(struct drm_crtc *crtc)
>  	intel_modeset_setup_plane_state(state, crtc, &crtc->mode,
>  					crtc->primary->fb, crtc->x, crtc->y);
>  
> -	ret = intel_set_mode(crtc, state);
> +	ret = intel_set_mode(crtc, state, false);
>  	if (ret)
>  		drm_atomic_state_free(state);
>  }
> @@ -13133,7 +13136,7 @@ static int intel_crtc_set_config(struct drm_mode_set *set)
>  
>  	primary_plane_was_visible = primary_plane_visible(set->crtc);
>  
> -	ret = intel_set_mode_with_config(set->crtc, pipe_config);
> +	ret = intel_set_mode_with_config(set->crtc, pipe_config, true);
>  
>  	if (ret == 0 &&
>  	    pipe_config->base.enable &&
> -- 
> 2.1.0
>
> _______________________________________________
> 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] 7+ messages in thread

* Re: [PATCH] drm/i915: Don't check modeset state in the hw state force restore path
  2015-06-02  7:12 ` Jani Nikula
@ 2015-06-02  7:27   ` Maarten Lankhorst
  2015-06-02  7:30     ` Ander Conselvan De Oliveira
  0 siblings, 1 reply; 7+ messages in thread
From: Maarten Lankhorst @ 2015-06-02  7:27 UTC (permalink / raw)
  To: Jani Nikula, Ander Conselvan de Oliveira, intel-gfx

Op 02-06-15 om 09:12 schreef Jani Nikula:
> On Mon, 01 Jun 2015, Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> wrote:
>> Since the force restore logic will restore the CRTCs state one at a
>> time, it is possible that the state will be inconsistent until the whole
>> operation finishes. A call to intel_modeset_check_state() is done once
>> it's over, so don't check the state multiple times in between. This
>> regression was introduced in:
>>
>> commit 7f27126ea3db6ade886f18fd39caf0ff0cd1d37f
>> Author: Jesse Barnes <jbarnes@virtuousgeek.org>
>> Date:   Wed Nov 5 14:26:06 2014 -0800
>>
>>     drm/i915: factor out compute_config from __intel_set_mode v3
>>
>> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94431
>> Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
>> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
>> ---
>>
>> Hi,
>>
>> This patch applies on top of nightly, but it is only relevant without
>> Maarten's "drm/i915: Convert to atomic, part 2" series, because of the
>> changes to the hw state read out and force restore logic.
>>
>> The regression exists since 3.19.
> Sooo, I think this should be applied to fixes, with cc: stable v3.19+,
> and IIUC Maarten's series makes this obsolete in dinq?
>
> Now we just need review... Maarten?
>
> BR,
> Jani.
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

Looks good to me, but it will conflict with my own patch series. :(

~Maarten
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: Don't check modeset state in the hw state force restore path
  2015-06-02  7:27   ` Maarten Lankhorst
@ 2015-06-02  7:30     ` Ander Conselvan De Oliveira
  2015-06-04 11:13       ` Jani Nikula
  0 siblings, 1 reply; 7+ messages in thread
From: Ander Conselvan De Oliveira @ 2015-06-02  7:30 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

On Tue, 2015-06-02 at 09:27 +0200, Maarten Lankhorst wrote:
> Op 02-06-15 om 09:12 schreef Jani Nikula:
> > On Mon, 01 Jun 2015, Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> wrote:
> >> Since the force restore logic will restore the CRTCs state one at a
> >> time, it is possible that the state will be inconsistent until the whole
> >> operation finishes. A call to intel_modeset_check_state() is done once
> >> it's over, so don't check the state multiple times in between. This
> >> regression was introduced in:
> >>
> >> commit 7f27126ea3db6ade886f18fd39caf0ff0cd1d37f
> >> Author: Jesse Barnes <jbarnes@virtuousgeek.org>
> >> Date:   Wed Nov 5 14:26:06 2014 -0800
> >>
> >>     drm/i915: factor out compute_config from __intel_set_mode v3
> >>
> >> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94431
> >> Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
> >> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
> >> ---
> >>
> >> Hi,
> >>
> >> This patch applies on top of nightly, but it is only relevant without
> >> Maarten's "drm/i915: Convert to atomic, part 2" series, because of the
> >> changes to the hw state read out and force restore logic.
> >>
> >> The regression exists since 3.19.
> > Sooo, I think this should be applied to fixes, with cc: stable v3.19+,
> > and IIUC Maarten's series makes this obsolete in dinq?
> >
> > Now we just need review... Maarten?
> >
> > BR,
> > Jani.
> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> 
> Looks good to me, but it will conflict with my own patch series. :(

I think it's fine to skip this for dinq, since we move to a single
modeset in the force restore path with your patch series. I just got
confused with what branch to base this on. Thanks for reviewing.

Ander




_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: Don't check modeset state in the hw state force restore path
  2015-06-02  7:30     ` Ander Conselvan De Oliveira
@ 2015-06-04 11:13       ` Jani Nikula
  0 siblings, 0 replies; 7+ messages in thread
From: Jani Nikula @ 2015-06-04 11:13 UTC (permalink / raw)
  To: Ander Conselvan De Oliveira, Maarten Lankhorst; +Cc: intel-gfx

On Tue, 02 Jun 2015, Ander Conselvan De Oliveira <conselvan2@gmail.com> wrote:
> On Tue, 2015-06-02 at 09:27 +0200, Maarten Lankhorst wrote:
>> Op 02-06-15 om 09:12 schreef Jani Nikula:
>> > On Mon, 01 Jun 2015, Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> wrote:
>> >> Since the force restore logic will restore the CRTCs state one at a
>> >> time, it is possible that the state will be inconsistent until the whole
>> >> operation finishes. A call to intel_modeset_check_state() is done once
>> >> it's over, so don't check the state multiple times in between. This
>> >> regression was introduced in:
>> >>
>> >> commit 7f27126ea3db6ade886f18fd39caf0ff0cd1d37f
>> >> Author: Jesse Barnes <jbarnes@virtuousgeek.org>
>> >> Date:   Wed Nov 5 14:26:06 2014 -0800
>> >>
>> >>     drm/i915: factor out compute_config from __intel_set_mode v3
>> >>
>> >> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94431
>> >> Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
>> >> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
>> >> ---
>> >>
>> >> Hi,
>> >>
>> >> This patch applies on top of nightly, but it is only relevant without
>> >> Maarten's "drm/i915: Convert to atomic, part 2" series, because of the
>> >> changes to the hw state read out and force restore logic.
>> >>
>> >> The regression exists since 3.19.
>> > Sooo, I think this should be applied to fixes, with cc: stable v3.19+,
>> > and IIUC Maarten's series makes this obsolete in dinq?
>> >
>> > Now we just need review... Maarten?
>> >
>> > BR,
>> > Jani.
>> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> 
>> Looks good to me, but it will conflict with my own patch series. :(
>
> I think it's fine to skip this for dinq, since we move to a single
> modeset in the force restore path with your patch series. I just got
> confused with what branch to base this on. Thanks for reviewing.

Looks like this conflicts even more between v4.1-rc and what's queued
for v4.2. I'll pass this for now, I'm think it may be easier to fix this
for v4.2 and backport from there.

BR,
Jani.





>
> Ander
>
>
>
>

-- 
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] 7+ messages in thread

end of thread, other threads:[~2015-06-04 11:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-01 12:41 [PATCH] drm/i915: Don't check modeset state in the hw state force restore path Ander Conselvan de Oliveira
2015-06-01 12:45 ` Conselvan De Oliveira, Ander
2015-06-01 23:47 ` shuang.he
2015-06-02  7:12 ` Jani Nikula
2015-06-02  7:27   ` Maarten Lankhorst
2015-06-02  7:30     ` Ander Conselvan De Oliveira
2015-06-04 11:13       ` Jani Nikula

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.