intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH] drm/i915/selftests: Fix selftest_mocs for DGFX
@ 2020-02-13  0:14 Brian Welty
  2020-02-13  0:34 ` Chris Wilson
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Brian Welty @ 2020-02-13  0:14 UTC (permalink / raw)
  To: intel-gfx

For DGFX devices, the MOCS control value is not initialized or used.
Update the selftest to skip reading and checking control values
for these devices.

References: e6e2ac07118b ("drm/i915: do not set MOCS control values on dgfx")
Fixes: 3fb33cd32ffd ("drm/i915/selftests: Add coverage of mocs registers")
Signed-off-by: Brian Welty <brian.welty@intel.com>
---
 drivers/gpu/drm/i915/gt/selftest_mocs.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/selftest_mocs.c b/drivers/gpu/drm/i915/gt/selftest_mocs.c
index de1f83100fb6..8a94a546d580 100644
--- a/drivers/gpu/drm/i915/gt/selftest_mocs.c
+++ b/drivers/gpu/drm/i915/gt/selftest_mocs.c
@@ -199,7 +199,7 @@ static int check_l3cc_table(struct intel_engine_cs *engine,
 	return 0;
 }
 
-static int check_mocs_engine(struct live_mocs *arg,
+static int check_mocs_engine(struct intel_gt *gt, struct live_mocs *arg,
 			     struct intel_context *ce)
 {
 	struct i915_vma *vma = arg->scratch;
@@ -222,7 +222,7 @@ static int check_mocs_engine(struct live_mocs *arg,
 
 	/* Read the mocs tables back using SRM */
 	offset = i915_ggtt_offset(vma);
-	if (!err)
+	if (!err && !IS_DGFX(gt->i915))
 		err = read_mocs_table(rq, &arg->table, &offset);
 	if (!err && ce->engine->class == RENDER_CLASS)
 		err = read_l3cc_table(rq, &arg->table, &offset);
@@ -235,7 +235,7 @@ static int check_mocs_engine(struct live_mocs *arg,
 
 	/* Compare the results against the expected tables */
 	vaddr = arg->vaddr;
-	if (!err)
+	if (!err && !IS_DGFX(gt->i915))
 		err = check_mocs_table(ce->engine, &arg->table, &vaddr);
 	if (!err && ce->engine->class == RENDER_CLASS)
 		err = check_l3cc_table(ce->engine, &arg->table, &vaddr);
@@ -262,7 +262,7 @@ static int live_mocs_kernel(void *arg)
 
 	for_each_engine(engine, gt, id) {
 		intel_engine_pm_get(engine);
-		err = check_mocs_engine(&mocs, engine->kernel_context);
+		err = check_mocs_engine(gt, &mocs, engine->kernel_context);
 		intel_engine_pm_put(engine);
 		if (err)
 			break;
@@ -295,7 +295,7 @@ static int live_mocs_clean(void *arg)
 			break;
 		}
 
-		err = check_mocs_engine(&mocs, ce);
+		err = check_mocs_engine(gt, &mocs, ce);
 		intel_context_put(ce);
 		if (err)
 			break;
@@ -332,7 +332,7 @@ static int active_engine_reset(struct intel_context *ce,
 	return err;
 }
 
-static int __live_mocs_reset(struct live_mocs *mocs,
+static int __live_mocs_reset(struct intel_gt *gt, struct live_mocs *mocs,
 			     struct intel_context *ce)
 {
 	int err;
@@ -341,7 +341,7 @@ static int __live_mocs_reset(struct live_mocs *mocs,
 	if (err)
 		return err;
 
-	err = check_mocs_engine(mocs, ce);
+	err = check_mocs_engine(gt, mocs, ce);
 	if (err)
 		return err;
 
@@ -349,13 +349,13 @@ static int __live_mocs_reset(struct live_mocs *mocs,
 	if (err)
 		return err;
 
-	err = check_mocs_engine(mocs, ce);
+	err = check_mocs_engine(gt, mocs, ce);
 	if (err)
 		return err;
 
-	intel_gt_reset(ce->engine->gt, ce->engine->mask, "mocs");
+	intel_gt_reset(gt, ce->engine->mask, "mocs");
 
-	err = check_mocs_engine(mocs, ce);
+	err = check_mocs_engine(gt, mocs, ce);
 	if (err)
 		return err;
 
@@ -390,7 +390,7 @@ static int live_mocs_reset(void *arg)
 		}
 
 		intel_engine_pm_get(engine);
-		err = __live_mocs_reset(&mocs, ce);
+		err = __live_mocs_reset(gt, &mocs, ce);
 		intel_engine_pm_put(engine);
 
 		intel_context_put(ce);
-- 
2.20.1

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

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

end of thread, other threads:[~2020-02-18 20:46 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-13  0:14 [Intel-gfx] [PATCH] drm/i915/selftests: Fix selftest_mocs for DGFX Brian Welty
2020-02-13  0:34 ` Chris Wilson
2020-02-13  0:49   ` Brian Welty
2020-02-14 17:56     ` Daniele Ceraolo Spurio
2020-02-14 18:29       ` Chris Wilson
2020-02-14 18:37         ` Chris Wilson
2020-02-14 19:36         ` Daniele Ceraolo Spurio
2020-02-13  7:33 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2020-02-13  7:54 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-02-14 21:28 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/selftests: Fix selftest_mocs for DGFX (rev2) Patchwork
2020-02-14 21:52 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-02-16 15:56 ` [Intel-gfx] [PATCH] drm/i915/gt: Refactor l3cc/mocs availability Chris Wilson
2020-02-16 16:50 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/selftests: Fix selftest_mocs for DGFX (rev3) Patchwork
2020-02-18 20:46 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).