diff mbox series

[3/5] drm/i915/gem: Leave reloading kernel context on resume to GT

Message ID 20191030103827.2413-3-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show
Series [1/5] drm/i915/gt: Always track callers to intel_rps_mark_interactive() | expand

Commit Message

Chris Wilson Oct. 30, 2019, 10:38 a.m. UTC
As we already do reload the kernel context in intel_gt_resume, repeating
that action inside i915_gem_resume() as well is redundant.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gem/i915_gem_pm.c | 30 --------------------------
 1 file changed, 30 deletions(-)

Comments

Andi Shyti Nov. 1, 2019, 1:47 p.m. UTC | #1
Hi Chris,

On Wed, Oct 30, 2019 at 10:38:25AM +0000, Chris Wilson wrote:
> As we already do reload the kernel context in intel_gt_resume, repeating
> that action inside i915_gem_resume() as well is redundant.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

reviewed-by: Andi Shyti <andi.shyti@intel.com>

Thanks,
Andi

> ---
>  drivers/gpu/drm/i915/gem/i915_gem_pm.c | 30 --------------------------
>  1 file changed, 30 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pm.c b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
> index e2ee9c04ece8..64dd04ae3d57 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_pm.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
> @@ -11,32 +11,6 @@
>  
>  #include "i915_drv.h"
>  
> -static bool switch_to_kernel_context_sync(struct intel_gt *gt)
> -{
> -	bool result = !intel_gt_is_wedged(gt);
> -
> -	if (intel_gt_wait_for_idle(gt, I915_GEM_IDLE_TIMEOUT) == -ETIME) {
> -		/* XXX hide warning from gem_eio */
> -		if (i915_modparams.reset) {
> -			dev_err(gt->i915->drm.dev,
> -				"Failed to idle engines, declaring wedged!\n");
> -			GEM_TRACE_DUMP();
> -		}
> -
> -		/*
> -		 * Forcibly cancel outstanding work and leave
> -		 * the gpu quiet.
> -		 */
> -		intel_gt_set_wedged(gt);
> -		result = false;
> -	}
> -
> -	if (intel_gt_pm_wait_for_idle(gt))
> -		result = false;
> -
> -	return result;
> -}
> -
>  static void user_forcewake(struct intel_gt *gt, bool suspend)
>  {
>  	int count = atomic_read(&gt->user_wakeref);
> @@ -158,10 +132,6 @@ void i915_gem_resume(struct drm_i915_private *i915)
>  	if (intel_gt_resume(&i915->gt))
>  		goto err_wedged;
>  
> -	/* Always reload a context for powersaving. */
> -	if (!switch_to_kernel_context_sync(&i915->gt))
> -		goto err_wedged;
> -
>  	user_forcewake(&i915->gt, false);
>  
>  out_unlock:
> -- 
> 2.24.0.rc1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pm.c b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
index e2ee9c04ece8..64dd04ae3d57 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_pm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_pm.c
@@ -11,32 +11,6 @@ 
 
 #include "i915_drv.h"
 
-static bool switch_to_kernel_context_sync(struct intel_gt *gt)
-{
-	bool result = !intel_gt_is_wedged(gt);
-
-	if (intel_gt_wait_for_idle(gt, I915_GEM_IDLE_TIMEOUT) == -ETIME) {
-		/* XXX hide warning from gem_eio */
-		if (i915_modparams.reset) {
-			dev_err(gt->i915->drm.dev,
-				"Failed to idle engines, declaring wedged!\n");
-			GEM_TRACE_DUMP();
-		}
-
-		/*
-		 * Forcibly cancel outstanding work and leave
-		 * the gpu quiet.
-		 */
-		intel_gt_set_wedged(gt);
-		result = false;
-	}
-
-	if (intel_gt_pm_wait_for_idle(gt))
-		result = false;
-
-	return result;
-}
-
 static void user_forcewake(struct intel_gt *gt, bool suspend)
 {
 	int count = atomic_read(&gt->user_wakeref);
@@ -158,10 +132,6 @@  void i915_gem_resume(struct drm_i915_private *i915)
 	if (intel_gt_resume(&i915->gt))
 		goto err_wedged;
 
-	/* Always reload a context for powersaving. */
-	if (!switch_to_kernel_context_sync(&i915->gt))
-		goto err_wedged;
-
 	user_forcewake(&i915->gt, false);
 
 out_unlock: