All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v3] gem_ctx_isolation.c - Gen11 enabling for context isolation test
@ 2019-02-21 17:07 Dale B Stimson
  2019-02-21 18:28 ` [igt-dev] ✓ Fi.CI.BAT: success for gem_ctx_isolation.c - Gen11 enabling for context isolation test (rev4) Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Dale B Stimson @ 2019-02-21 17:07 UTC (permalink / raw)
  To: igt-dev

This patch is a change to igt file tests/i915/gem_ctx_isolation.c to add
Gen11 support.

This patch enables Gen11 support.

This patch accounts for whitelisted registers appropriately for the
different Gen levels.

This patch accounts for the changed MMIO offsets of Gen11.

This patch redefines MAX_REG from 0x40000 to 0x200000 due to the
larger total register space for Gen11 mmio offsets.  The resulting
big sparse array allocations present a good candidate for future
optimization of memory usage.

The current Gen11 SKU has two video engines (with indexes 0 and 2,
for VCS0 and VCS2), with VCS1 not being used.

Current kernel and igt limitations only allow for VCS0 and VCS1.
Those limitations are in the process of being removed.  See for
example the RFC/PATCH series on igt-dev from Andy Shyti:
    [igt-dev] [RFC PATCH v9 0/5] new engine discovery interface
which depends on in-process kernel "media scalability" patches.

Lacking the above infrastructure at the moment:

The array of registers to be tested includes VCS2 and VCS3 registers.
They are present as a provision for the future, but they will
not actually be tested as those engines are not yet known to the
underlying infrastructure.

When run on Gen11 this patch skips the sub-tests for the non-existent VCS1
with these warnings:
  Test requirement not met in function gem_require_engine, file ../lib/igt_gt.h:114:
  Test requirement: gem_has_engine(gem_fd, class, instance)

Signed-off-by: Dale B Stimson <dale.b.stimson@intel.com>
---
 tests/i915/gem_ctx_isolation.c | 47 +++++++++++++++++++++++++---------
 1 file changed, 35 insertions(+), 12 deletions(-)

diff --git a/tests/i915/gem_ctx_isolation.c b/tests/i915/gem_ctx_isolation.c
index 839d49ad..3bda93cc 100644
--- a/tests/i915/gem_ctx_isolation.c
+++ b/tests/i915/gem_ctx_isolation.c
@@ -24,7 +24,7 @@
 #include "igt.h"
 #include "igt_dummyload.h"
 
-#define MAX_REG 0x40000
+#define MAX_REG 0x200000
 #define NUM_REGS (MAX_REG / sizeof(uint32_t))
 
 #define PAGE_ALIGN(x) ALIGN(x, 4096)
@@ -41,6 +41,8 @@ enum {
 	BCS0 = ENGINE(I915_ENGINE_CLASS_COPY, 0),
 	VCS0 = ENGINE(I915_ENGINE_CLASS_VIDEO, 0),
 	VCS1 = ENGINE(I915_ENGINE_CLASS_VIDEO, 1),
+	VCS2 = ENGINE(I915_ENGINE_CLASS_VIDEO, 2),
+	VCS3 = ENGINE(I915_ENGINE_CLASS_VIDEO, 3),
 	VECS0 = ENGINE(I915_ENGINE_CLASS_VIDEO_ENHANCE, 0),
 };
 
@@ -52,10 +54,12 @@ enum {
 #define GEN7 (ALL << 7)
 #define GEN8 (ALL << 8)
 #define GEN9 (ALL << 9)
+#define GEN10 (ALL << 10)
+#define GEN11 (ALL << 11)
 
 #define NOCTX 0
 
-#define LAST_KNOWN_GEN 10
+#define LAST_KNOWN_GEN 11
 
 static const struct named_register {
 	const char *name;
@@ -125,30 +129,49 @@ static const struct named_register {
 	{ "PERF_CNT_1", NOCTX, RCS0, 0x91b8, 2 },
 	{ "PERF_CNT_2", NOCTX, RCS0, 0x91c0, 2 },
 
+	{ "CTX_PREEMPT", NOCTX /* GEN10 */, RCS0, 0x2248 },
+	{ "CS_CHICKEN1", GEN11, RCS0, 0x2580 },
+	{ "HDC_CHICKEN1", GEN_RANGE(10, 11), RCS0, 0x7304 },
+	{ "L3SQREG1", GEN_RANGE(8, 10), RCS0, 0xb010 },
+
 	/* Privileged (enabled by w/a + FORCE_TO_NONPRIV) */
-	{ "CTX_PREEMPT", NOCTX /* GEN_RANGE(9, 10) */, RCS0, 0x2248 },
+	{ "CTX_PREEMPT", NOCTX /* GEN9 */, RCS0, 0x2248 },
 	{ "CS_CHICKEN1", GEN_RANGE(9, 10), RCS0, 0x2580 },
-	{ "HDC_CHICKEN1", GEN_RANGE(9, 10), RCS0, 0x7304 },
-	{ "L3SQREG1", GEN8, RCS0, 0xb010 },
+	{ "HDC_CHICKEN1", GEN_RANGE(9, 9), RCS0, 0x7304 },
+	{ "HALF_SLICE_CHICKEN7", GEN_RANGE(11, 11), RCS0, 0xe194 },
+	{ "SAMPLER_MODE", GEN_RANGE(11, 11), RCS0, 0xE18C },
 
 	{ "BCS_GPR", GEN9, BCS0, 0x22600, 32 },
 	{ "BCS_SWCTRL", GEN8, BCS0, 0x22200 },
 
-	{ "VCS0_GPR", GEN9, VCS0, 0x12600, 32 },
 	{ "MFC_VDBOX1", NOCTX, VCS0, 0x12800, 64 },
-
-	{ "VCS1_GPR", GEN9, VCS1, 0x1c600, 32 },
 	{ "MFC_VDBOX2", NOCTX, VCS1, 0x1c800, 64 },
 
-	{ "VECS_GPR", GEN9, VECS0, 0x1a600, 32 },
+	{ "VCS0_GPR", GEN_RANGE(9, 10), VCS0, 0x12600, 32 },
+	{ "VCS1_GPR", GEN_RANGE(9, 10), VCS1, 0x1c600, 32 },
+	{ "VECS_GPR", GEN_RANGE(9, 10), VECS0, 0x1a600, 32 },
+
+	{ "VCS0_GPR", GEN11, VCS0, 0x1c0600, 32 },
+	{ "VCS1_GPR", GEN11, VCS1, 0x1c4600, 32 },
+	{ "VCS2_GPR", GEN11, VCS2, 0x1d0600, 32 },
+	{ "VCS3_GPR", GEN11, VCS3, 0x1d4600, 32 },
+	{ "VECS_GPR", GEN11, VECS0, 0x1c8600, 32 },
 
 	{}
 }, ignore_registers[] = {
 	{ "RCS timestamp", GEN6, ~0u, 0x2358 },
-	{ "VCS0 timestamp", GEN7, ~0u, 0x12358 },
-	{ "VCS1 timestamp", GEN7, ~0u, 0x1c358 },
 	{ "BCS timestamp", GEN7, ~0u, 0x22358 },
-	{ "VECS timestamp", GEN8, ~0u, 0x1a358 },
+
+	{ "VCS0 timestamp", GEN_RANGE(7, 10), ~0u, 0x12358 },
+	{ "VCS1 timestamp", GEN_RANGE(7, 10), ~0u, 0x1c358 },
+	{ "VECS timestamp", GEN_RANGE(8, 10), ~0u, 0x1a358 },
+
+	{ "VCS0 timestamp", GEN11, ~0u, 0x1c0358 },
+	{ "VCS1 timestamp", GEN11, ~0u, 0x1c4358 },
+	{ "VCS2 timestamp", GEN11, ~0u, 0x1d0358 },
+	{ "VCS3 timestamp", GEN11, ~0u, 0x1d4358 },
+	{ "VECS timestamp", GEN11, ~0u, 0x1c8358 },
+
 	{}
 };
 
-- 
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.BAT: success for gem_ctx_isolation.c - Gen11 enabling for context isolation test (rev4)
  2019-02-21 17:07 [igt-dev] [PATCH i-g-t v3] gem_ctx_isolation.c - Gen11 enabling for context isolation test Dale B Stimson
@ 2019-02-21 18:28 ` Patchwork
  2019-02-22  7:49 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  2019-02-23  2:13 ` [igt-dev] [PATCH i-g-t v3] gem_ctx_isolation.c - Gen11 enabling for context isolation test Robert M. Fosha
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2019-02-21 18:28 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: gem_ctx_isolation.c - Gen11 enabling for context isolation test (rev4)
URL   : https://patchwork.freedesktop.org/series/56016/
State : success

== Summary ==

CI Bug Log - changes from IGT_4850 -> IGTPW_2473
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/56016/revisions/4/mbox/

Known issues
------------

  Here are the changes found in IGTPW_2473 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live_execlists:
    - fi-apl-guc:         PASS -> INCOMPLETE [fdo#103927] / [fdo#109720]

  * igt@kms_busy@basic-flip-c:
    - fi-blb-e6850:       NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-c:
    - fi-blb-e6850:       NOTRUN -> SKIP [fdo#109271] +20

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - fi-blb-e6850:       NOTRUN -> INCOMPLETE [fdo#107718]

  * igt@runner@aborted:
    - fi-apl-guc:         NOTRUN -> FAIL [fdo#108622] / [fdo#109720]

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-blb-e6850:       INCOMPLETE [fdo#107718] -> PASS

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#105998]: https://bugs.freedesktop.org/show_bug.cgi?id=105998
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108622]: https://bugs.freedesktop.org/show_bug.cgi?id=108622
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109294]: https://bugs.freedesktop.org/show_bug.cgi?id=109294
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109527]: https://bugs.freedesktop.org/show_bug.cgi?id=109527
  [fdo#109528]: https://bugs.freedesktop.org/show_bug.cgi?id=109528
  [fdo#109530]: https://bugs.freedesktop.org/show_bug.cgi?id=109530
  [fdo#109720]: https://bugs.freedesktop.org/show_bug.cgi?id=109720


Participating hosts (44 -> 37)
------------------------------

  Additional (1): fi-icl-y 
  Missing    (8): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-gdg-551 fi-pnv-d510 fi-bdw-samus 


Build changes
-------------

    * IGT: IGT_4850 -> IGTPW_2473

  CI_DRM_5650: a4c5c4791699aeebfff694c222c76abb61900fca @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2473: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2473/
  IGT_4850: 8ca0b308acdcf53fac3cf2ea3861f5f911b16986 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2473/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.IGT: success for gem_ctx_isolation.c - Gen11 enabling for context isolation test (rev4)
  2019-02-21 17:07 [igt-dev] [PATCH i-g-t v3] gem_ctx_isolation.c - Gen11 enabling for context isolation test Dale B Stimson
  2019-02-21 18:28 ` [igt-dev] ✓ Fi.CI.BAT: success for gem_ctx_isolation.c - Gen11 enabling for context isolation test (rev4) Patchwork
@ 2019-02-22  7:49 ` Patchwork
  2019-02-23  2:13 ` [igt-dev] [PATCH i-g-t v3] gem_ctx_isolation.c - Gen11 enabling for context isolation test Robert M. Fosha
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2019-02-22  7:49 UTC (permalink / raw)
  To: igt-dev

== Series Details ==

Series: gem_ctx_isolation.c - Gen11 enabling for context isolation test (rev4)
URL   : https://patchwork.freedesktop.org/series/56016/
State : success

== Summary ==

CI Bug Log - changes from IGT_4850_full -> IGTPW_2473_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/56016/revisions/4/mbox/

Known issues
------------

  Here are the changes found in IGTPW_2473_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@drm_import_export@prime:
    - shard-glk:          PASS -> INCOMPLETE [fdo#103359] / [k.org#198133]

  * igt@gem_eio@reset-stress:
    - shard-glk:          PASS -> FAIL [fdo#105957]

  * igt@i915_pm_backlight@fade:
    - shard-glk:          NOTRUN -> SKIP [fdo#109271] +12

  * igt@i915_suspend@sysfs-reader:
    - shard-apl:          PASS -> DMESG-WARN [fdo#108566]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-e:
    - shard-hsw:          NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_color@pipe-a-degamma:
    - shard-kbl:          PASS -> FAIL [fdo#104782] / [fdo#108145]

  * igt@kms_color@pipe-a-legacy-gamma:
    - shard-glk:          PASS -> FAIL [fdo#104782] / [fdo#108145]

  * igt@kms_color@pipe-b-ctm-max:
    - shard-apl:          PASS -> FAIL [fdo#108147]

  * igt@kms_cursor_crc@cursor-128x128-suspend:
    - shard-apl:          PASS -> FAIL [fdo#103191] / [fdo#103232]

  * igt@kms_cursor_crc@cursor-128x42-sliding:
    - shard-apl:          PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-256x256-dpms:
    - shard-kbl:          PASS -> FAIL [fdo#103232]

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-glk:          PASS -> FAIL [fdo#105363]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff:
    - shard-apl:          PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-rte:
    - shard-glk:          PASS -> FAIL [fdo#103167] / [fdo#105682] +1

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
    - shard-glk:          PASS -> FAIL [fdo#103167] +14

  * igt@kms_plane_alpha_blend@pipe-b-alpha-basic:
    - shard-glk:          NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-none:
    - shard-glk:          PASS -> FAIL [fdo#103166] +5

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-x:
    - shard-kbl:          PASS -> FAIL [fdo#103166]

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - shard-apl:          PASS -> FAIL [fdo#103166] +3

  * igt@kms_psr@primary_page_flip:
    - shard-hsw:          NOTRUN -> SKIP [fdo#109271] +13

  * igt@kms_vblank@pipe-b-ts-continuation-dpms-rpm:
    - shard-apl:          PASS -> FAIL [fdo#104894] +1

  * igt@perf_pmu@most-busy-idle-check-all-vcs1:
    - shard-apl:          NOTRUN -> SKIP [fdo#109271] +16

  
#### Possible fixes ####

  * igt@i915_pm_rc6_residency@rc6-accuracy:
    - shard-kbl:          SKIP [fdo#109271] -> PASS

  * igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing:
    - shard-apl:          FAIL [fdo#109660] -> PASS
    - shard-kbl:          FAIL [fdo#109660] -> PASS

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
    - shard-glk:          FAIL [fdo#108145] -> PASS
    - shard-kbl:          FAIL [fdo#107725] / [fdo#108145] -> PASS

  * igt@kms_color@pipe-c-ctm-max:
    - shard-apl:          FAIL [fdo#108147] -> PASS

  * igt@kms_cursor_crc@cursor-128x128-random:
    - shard-apl:          FAIL [fdo#103232] -> PASS +6

  * igt@kms_cursor_crc@cursor-256x256-suspend:
    - shard-hsw:          INCOMPLETE [fdo#103540] -> PASS

  * igt@kms_cursor_crc@cursor-size-change:
    - shard-glk:          FAIL [fdo#103232] -> PASS
    - shard-kbl:          FAIL [fdo#103232] -> PASS +1

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
    - shard-apl:          FAIL [fdo#103167] -> PASS +1

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move:
    - shard-glk:          FAIL [fdo#103167] -> PASS +1

  * igt@kms_plane@pixel-format-pipe-a-planes-source-clamping:
    - shard-apl:          FAIL [fdo#108948] -> PASS

  * igt@kms_plane@plane-position-covered-pipe-c-planes:
    - shard-apl:          FAIL [fdo#103166] -> PASS +5

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-yf:
    - shard-glk:          FAIL [fdo#103166] -> PASS +1

  * igt@kms_universal_plane@universal-plane-pipe-c-functional:
    - shard-kbl:          FAIL [fdo#103166] -> PASS +2

  
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
  [fdo#104894]: https://bugs.freedesktop.org/show_bug.cgi?id=104894
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#105682]: https://bugs.freedesktop.org/show_bug.cgi?id=105682
  [fdo#105957]: https://bugs.freedesktop.org/show_bug.cgi?id=105957
  [fdo#107725]: https://bugs.freedesktop.org/show_bug.cgi?id=107725
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108147]: https://bugs.freedesktop.org/show_bug.cgi?id=108147
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108948]: https://bugs.freedesktop.org/show_bug.cgi?id=108948
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109660]: https://bugs.freedesktop.org/show_bug.cgi?id=109660
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


Participating hosts (6 -> 4)
------------------------------

  Missing    (2): shard-skl shard-iclb 


Build changes
-------------

    * IGT: IGT_4850 -> IGTPW_2473

  CI_DRM_5650: a4c5c4791699aeebfff694c222c76abb61900fca @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2473: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2473/
  IGT_4850: 8ca0b308acdcf53fac3cf2ea3861f5f911b16986 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2473/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v3] gem_ctx_isolation.c - Gen11 enabling for context isolation test
  2019-02-21 17:07 [igt-dev] [PATCH i-g-t v3] gem_ctx_isolation.c - Gen11 enabling for context isolation test Dale B Stimson
  2019-02-21 18:28 ` [igt-dev] ✓ Fi.CI.BAT: success for gem_ctx_isolation.c - Gen11 enabling for context isolation test (rev4) Patchwork
  2019-02-22  7:49 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2019-02-23  2:13 ` Robert M. Fosha
  2 siblings, 0 replies; 4+ messages in thread
From: Robert M. Fosha @ 2019-02-23  2:13 UTC (permalink / raw)
  To: igt-dev

On Thu, Feb 21, 2019 at 09:07:52AM -0800, Dale B Stimson wrote:
> This patch is a change to igt file tests/i915/gem_ctx_isolation.c to add
> Gen11 support.
> 
> This patch enables Gen11 support.
> 
> This patch accounts for whitelisted registers appropriately for the
> different Gen levels.
> 
> This patch accounts for the changed MMIO offsets of Gen11.
> 
> This patch redefines MAX_REG from 0x40000 to 0x200000 due to the
> larger total register space for Gen11 mmio offsets.  The resulting
> big sparse array allocations present a good candidate for future
> optimization of memory usage.
> 
> The current Gen11 SKU has two video engines (with indexes 0 and 2,
> for VCS0 and VCS2), with VCS1 not being used.
> 
> Current kernel and igt limitations only allow for VCS0 and VCS1.
> Those limitations are in the process of being removed.  See for
> example the RFC/PATCH series on igt-dev from Andy Shyti:
>     [igt-dev] [RFC PATCH v9 0/5] new engine discovery interface
> which depends on in-process kernel "media scalability" patches.
> 
> Lacking the above infrastructure at the moment:
> 
> The array of registers to be tested includes VCS2 and VCS3 registers.
> They are present as a provision for the future, but they will
> not actually be tested as those engines are not yet known to the
> underlying infrastructure.
> 
> When run on Gen11 this patch skips the sub-tests for the non-existent VCS1
> with these warnings:
>   Test requirement not met in function gem_require_engine, file ../lib/igt_gt.h:114:
>   Test requirement: gem_has_engine(gem_fd, class, instance)
> 
> Signed-off-by: Dale B Stimson <dale.b.stimson@intel.com>
> ---
>  tests/i915/gem_ctx_isolation.c | 47 +++++++++++++++++++++++++---------
>  1 file changed, 35 insertions(+), 12 deletions(-)
> 
> diff --git a/tests/i915/gem_ctx_isolation.c b/tests/i915/gem_ctx_isolation.c
> index 839d49ad..3bda93cc 100644
> --- a/tests/i915/gem_ctx_isolation.c
> +++ b/tests/i915/gem_ctx_isolation.c
> @@ -24,7 +24,7 @@
>  #include "igt.h"
>  #include "igt_dummyload.h"
>  
> -#define MAX_REG 0x40000
> +#define MAX_REG 0x200000
>  #define NUM_REGS (MAX_REG / sizeof(uint32_t))
>  
>  #define PAGE_ALIGN(x) ALIGN(x, 4096)
> @@ -41,6 +41,8 @@ enum {
>  	BCS0 = ENGINE(I915_ENGINE_CLASS_COPY, 0),
>  	VCS0 = ENGINE(I915_ENGINE_CLASS_VIDEO, 0),
>  	VCS1 = ENGINE(I915_ENGINE_CLASS_VIDEO, 1),
> +	VCS2 = ENGINE(I915_ENGINE_CLASS_VIDEO, 2),
> +	VCS3 = ENGINE(I915_ENGINE_CLASS_VIDEO, 3),
>  	VECS0 = ENGINE(I915_ENGINE_CLASS_VIDEO_ENHANCE, 0),
>  };
>  
> @@ -52,10 +54,12 @@ enum {
>  #define GEN7 (ALL << 7)
>  #define GEN8 (ALL << 8)
>  #define GEN9 (ALL << 9)
> +#define GEN10 (ALL << 10)
> +#define GEN11 (ALL << 11)
>  
>  #define NOCTX 0
>  
> -#define LAST_KNOWN_GEN 10
> +#define LAST_KNOWN_GEN 11
>  
>  static const struct named_register {
>  	const char *name;
> @@ -125,30 +129,49 @@ static const struct named_register {
>  	{ "PERF_CNT_1", NOCTX, RCS0, 0x91b8, 2 },
>  	{ "PERF_CNT_2", NOCTX, RCS0, 0x91c0, 2 },
>  
> +	{ "CTX_PREEMPT", NOCTX /* GEN10 */, RCS0, 0x2248 },
> +	{ "CS_CHICKEN1", GEN11, RCS0, 0x2580 },
> +	{ "HDC_CHICKEN1", GEN_RANGE(10, 11), RCS0, 0x7304 },
> +	{ "L3SQREG1", GEN_RANGE(8, 10), RCS0, 0xb010 },
> +
>  	/* Privileged (enabled by w/a + FORCE_TO_NONPRIV) */
> -	{ "CTX_PREEMPT", NOCTX /* GEN_RANGE(9, 10) */, RCS0, 0x2248 },
> +	{ "CTX_PREEMPT", NOCTX /* GEN9 */, RCS0, 0x2248 },
>  	{ "CS_CHICKEN1", GEN_RANGE(9, 10), RCS0, 0x2580 },
> -	{ "HDC_CHICKEN1", GEN_RANGE(9, 10), RCS0, 0x7304 },
> -	{ "L3SQREG1", GEN8, RCS0, 0xb010 },
> +	{ "HDC_CHICKEN1", GEN_RANGE(9, 9), RCS0, 0x7304 },
> +	{ "HALF_SLICE_CHICKEN7", GEN_RANGE(11, 11), RCS0, 0xe194 },
> +	{ "SAMPLER_MODE", GEN_RANGE(11, 11), RCS0, 0xE18C },
>  
>  	{ "BCS_GPR", GEN9, BCS0, 0x22600, 32 },
>  	{ "BCS_SWCTRL", GEN8, BCS0, 0x22200 },
>  
> -	{ "VCS0_GPR", GEN9, VCS0, 0x12600, 32 },
>  	{ "MFC_VDBOX1", NOCTX, VCS0, 0x12800, 64 },
> -
> -	{ "VCS1_GPR", GEN9, VCS1, 0x1c600, 32 },
>  	{ "MFC_VDBOX2", NOCTX, VCS1, 0x1c800, 64 },
>  
> -	{ "VECS_GPR", GEN9, VECS0, 0x1a600, 32 },
> +	{ "VCS0_GPR", GEN_RANGE(9, 10), VCS0, 0x12600, 32 },
> +	{ "VCS1_GPR", GEN_RANGE(9, 10), VCS1, 0x1c600, 32 },
> +	{ "VECS_GPR", GEN_RANGE(9, 10), VECS0, 0x1a600, 32 },
> +
> +	{ "VCS0_GPR", GEN11, VCS0, 0x1c0600, 32 },
> +	{ "VCS1_GPR", GEN11, VCS1, 0x1c4600, 32 },
> +	{ "VCS2_GPR", GEN11, VCS2, 0x1d0600, 32 },
> +	{ "VCS3_GPR", GEN11, VCS3, 0x1d4600, 32 },
> +	{ "VECS_GPR", GEN11, VECS0, 0x1c8600, 32 },
>  
>  	{}
>  }, ignore_registers[] = {
>  	{ "RCS timestamp", GEN6, ~0u, 0x2358 },
> -	{ "VCS0 timestamp", GEN7, ~0u, 0x12358 },
> -	{ "VCS1 timestamp", GEN7, ~0u, 0x1c358 },
>  	{ "BCS timestamp", GEN7, ~0u, 0x22358 },
> -	{ "VECS timestamp", GEN8, ~0u, 0x1a358 },
> +
> +	{ "VCS0 timestamp", GEN_RANGE(7, 10), ~0u, 0x12358 },
> +	{ "VCS1 timestamp", GEN_RANGE(7, 10), ~0u, 0x1c358 },
> +	{ "VECS timestamp", GEN_RANGE(8, 10), ~0u, 0x1a358 },
> +
> +	{ "VCS0 timestamp", GEN11, ~0u, 0x1c0358 },
> +	{ "VCS1 timestamp", GEN11, ~0u, 0x1c4358 },
> +	{ "VCS2 timestamp", GEN11, ~0u, 0x1d0358 },
> +	{ "VCS3 timestamp", GEN11, ~0u, 0x1d4358 },
> +	{ "VECS timestamp", GEN11, ~0u, 0x1c8358 },
> +
>  	{}
>  };
>  
> -- 
> 2.20.1
> 
Tested By: Robert M. Fosha <robert.m.fosha@intel.com>

Tested on ICLU. No regressions. I did observe suspend/resume issues with the
baseline (i.e., without the change).

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2019-02-23  2:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-21 17:07 [igt-dev] [PATCH i-g-t v3] gem_ctx_isolation.c - Gen11 enabling for context isolation test Dale B Stimson
2019-02-21 18:28 ` [igt-dev] ✓ Fi.CI.BAT: success for gem_ctx_isolation.c - Gen11 enabling for context isolation test (rev4) Patchwork
2019-02-22  7:49 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-02-23  2:13 ` [igt-dev] [PATCH i-g-t v3] gem_ctx_isolation.c - Gen11 enabling for context isolation test Robert M. Fosha

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.