diff mbox series

[01/41] drm/i915/selftests: Check for engine-reset errors in the middle of workarounds

Message ID 20210125140136.10494-1-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show
Series [01/41] drm/i915/selftests: Check for engine-reset errors in the middle of workarounds | expand

Commit Message

Chris Wilson Jan. 25, 2021, 2 p.m. UTC
As we reset the engine between verifying the workarounds remain intact,
report an engine reset failure.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gt/selftest_workarounds.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

Comments

Tvrtko Ursulin Jan. 25, 2021, 2:40 p.m. UTC | #1
On 25/01/2021 14:00, Chris Wilson wrote:
> As we reset the engine between verifying the workarounds remain intact,
> report an engine reset failure.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
>   drivers/gpu/drm/i915/gt/selftest_workarounds.c | 16 +++++++++++++---
>   1 file changed, 13 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/selftest_workarounds.c b/drivers/gpu/drm/i915/gt/selftest_workarounds.c
> index 37ea46907a7d..af33a720dbf8 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_workarounds.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_workarounds.c
> @@ -1219,7 +1219,11 @@ live_engine_reset_workarounds(void *arg)
>   			goto err;
>   		}
>   
> -		intel_engine_reset(engine, "live_workarounds:idle");
> +		ret = intel_engine_reset(engine, "live_workarounds:idle");
> +		if (ret) {
> +			pr_err("%s: Reset failed while idle\n", engine->name);
> +			goto err;
> +		}
>   
>   		ok = verify_wa_lists(gt, &lists, "after idle reset");
>   		if (!ok) {
> @@ -1240,12 +1244,18 @@ live_engine_reset_workarounds(void *arg)
>   
>   		ret = request_add_spin(rq, &spin);
>   		if (ret) {
> -			pr_err("Spinner failed to start\n");
> +			pr_err("%s: Spinner failed to start\n", engine->name);
>   			igt_spinner_fini(&spin);
>   			goto err;
>   		}
>   
> -		intel_engine_reset(engine, "live_workarounds:active");
> +		ret = intel_engine_reset(engine, "live_workarounds:active");
> +		if (ret) {
> +			pr_err("%s: Reset failed on an active spinner\n",
> +			       engine->name);
> +			igt_spinner_fini(&spin);
> +			goto err;
> +		}
>   
>   		igt_spinner_end(&spin);
>   		igt_spinner_fini(&spin);
> 

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Regards,

Tvrtko
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/gt/selftest_workarounds.c b/drivers/gpu/drm/i915/gt/selftest_workarounds.c
index 37ea46907a7d..af33a720dbf8 100644
--- a/drivers/gpu/drm/i915/gt/selftest_workarounds.c
+++ b/drivers/gpu/drm/i915/gt/selftest_workarounds.c
@@ -1219,7 +1219,11 @@  live_engine_reset_workarounds(void *arg)
 			goto err;
 		}
 
-		intel_engine_reset(engine, "live_workarounds:idle");
+		ret = intel_engine_reset(engine, "live_workarounds:idle");
+		if (ret) {
+			pr_err("%s: Reset failed while idle\n", engine->name);
+			goto err;
+		}
 
 		ok = verify_wa_lists(gt, &lists, "after idle reset");
 		if (!ok) {
@@ -1240,12 +1244,18 @@  live_engine_reset_workarounds(void *arg)
 
 		ret = request_add_spin(rq, &spin);
 		if (ret) {
-			pr_err("Spinner failed to start\n");
+			pr_err("%s: Spinner failed to start\n", engine->name);
 			igt_spinner_fini(&spin);
 			goto err;
 		}
 
-		intel_engine_reset(engine, "live_workarounds:active");
+		ret = intel_engine_reset(engine, "live_workarounds:active");
+		if (ret) {
+			pr_err("%s: Reset failed on an active spinner\n",
+			       engine->name);
+			igt_spinner_fini(&spin);
+			goto err;
+		}
 
 		igt_spinner_end(&spin);
 		igt_spinner_fini(&spin);