All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915/gem: Fix the mman selftest
@ 2021-08-26  7:24 ` Thomas Hellström
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Hellström @ 2021-08-26  7:24 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Thomas Hellström, Maarten Lankhorst

Using the I915_MMAP_TYPE_FIXED mmap type requires the TTM backend, so
for that mmap type, use __i915_gem_object_create_user() instead of
i915_gem_object_create_internal(), as we really want to tests objects
mmap-able by user-space.

This also means that the out-of-space error happens at object creation
and returns -ENXIO rather than -ENOSPC, so fix the code up to expect
that on out-of-offset-space errors.

Finally only use I915_MMAP_TYPE_FIXED for LMEM and SMEM for now if
testing on LMEM-capable devices. For stolen LMEM, we still take the
same path as for integrated, as that haven't been moved over to TTM yet,
and user-space should not be able to create out of stolen LMEM anyway.

Fixes: 7961c5b60f23 ("drm/i915: Add TTM offset argument to mmap.")
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
 .../drm/i915/gem/selftests/i915_gem_mman.c    | 26 +++++++++++++++----
 1 file changed, 21 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
index b20f5621f62b..68da25e66b69 100644
--- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
@@ -581,6 +581,20 @@ static enum i915_mmap_type default_mapping(struct drm_i915_private *i915)
 	return I915_MMAP_TYPE_GTT;
 }
 
+static struct drm_i915_gem_object *
+create_sys_or_internal(struct drm_i915_private *i915,
+		       unsigned long size)
+{
+	if (HAS_LMEM(i915)) {
+		struct intel_memory_region *sys_region =
+			i915->mm.regions[INTEL_REGION_SMEM];
+
+		return __i915_gem_object_create_user(i915, size, &sys_region, 1);
+	}
+
+	return i915_gem_object_create_internal(i915, size);
+}
+
 static bool assert_mmap_offset(struct drm_i915_private *i915,
 			       unsigned long size,
 			       int expected)
@@ -589,7 +603,7 @@ static bool assert_mmap_offset(struct drm_i915_private *i915,
 	u64 offset;
 	int ret;
 
-	obj = i915_gem_object_create_internal(i915, size);
+	obj = create_sys_or_internal(i915, size);
 	if (IS_ERR(obj))
 		return expected && expected == PTR_ERR(obj);
 
@@ -633,6 +647,7 @@ static int igt_mmap_offset_exhaustion(void *arg)
 	struct drm_mm_node *hole, *next;
 	int loop, err = 0;
 	u64 offset;
+	int enospc = HAS_LMEM(i915) ? -ENXIO : -ENOSPC;
 
 	/* Disable background reaper */
 	disable_retire_worker(i915);
@@ -683,14 +698,14 @@ static int igt_mmap_offset_exhaustion(void *arg)
 	}
 
 	/* Too large */
-	if (!assert_mmap_offset(i915, 2 * PAGE_SIZE, -ENOSPC)) {
+	if (!assert_mmap_offset(i915, 2 * PAGE_SIZE, enospc)) {
 		pr_err("Unexpectedly succeeded in inserting too large object into single page hole\n");
 		err = -EINVAL;
 		goto out;
 	}
 
 	/* Fill the hole, further allocation attempts should then fail */
-	obj = i915_gem_object_create_internal(i915, PAGE_SIZE);
+	obj = create_sys_or_internal(i915, PAGE_SIZE);
 	if (IS_ERR(obj)) {
 		err = PTR_ERR(obj);
 		pr_err("Unable to create object for reclaimed hole\n");
@@ -703,7 +718,7 @@ static int igt_mmap_offset_exhaustion(void *arg)
 		goto err_obj;
 	}
 
-	if (!assert_mmap_offset(i915, PAGE_SIZE, -ENOSPC)) {
+	if (!assert_mmap_offset(i915, PAGE_SIZE, enospc)) {
 		pr_err("Unexpectedly succeeded in inserting object into no holes!\n");
 		err = -EINVAL;
 		goto err_obj;
@@ -842,7 +857,8 @@ static bool can_mmap(struct drm_i915_gem_object *obj, enum i915_mmap_type type)
 	struct drm_i915_private *i915 = to_i915(obj->base.dev);
 	bool no_map;
 
-	if (HAS_LMEM(i915))
+	if (HAS_LMEM(i915) && (obj->mm.region->id == INTEL_REGION_SMEM ||
+			       obj->mm.region->id == INTEL_REGION_LMEM))
 		return type == I915_MMAP_TYPE_FIXED;
 	else if (type == I915_MMAP_TYPE_FIXED)
 		return false;
-- 
2.31.1


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

* [Intel-gfx] [PATCH] drm/i915/gem: Fix the mman selftest
@ 2021-08-26  7:24 ` Thomas Hellström
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Hellström @ 2021-08-26  7:24 UTC (permalink / raw)
  To: intel-gfx, dri-devel; +Cc: Thomas Hellström, Maarten Lankhorst

Using the I915_MMAP_TYPE_FIXED mmap type requires the TTM backend, so
for that mmap type, use __i915_gem_object_create_user() instead of
i915_gem_object_create_internal(), as we really want to tests objects
mmap-able by user-space.

This also means that the out-of-space error happens at object creation
and returns -ENXIO rather than -ENOSPC, so fix the code up to expect
that on out-of-offset-space errors.

Finally only use I915_MMAP_TYPE_FIXED for LMEM and SMEM for now if
testing on LMEM-capable devices. For stolen LMEM, we still take the
same path as for integrated, as that haven't been moved over to TTM yet,
and user-space should not be able to create out of stolen LMEM anyway.

Fixes: 7961c5b60f23 ("drm/i915: Add TTM offset argument to mmap.")
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
 .../drm/i915/gem/selftests/i915_gem_mman.c    | 26 +++++++++++++++----
 1 file changed, 21 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
index b20f5621f62b..68da25e66b69 100644
--- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
@@ -581,6 +581,20 @@ static enum i915_mmap_type default_mapping(struct drm_i915_private *i915)
 	return I915_MMAP_TYPE_GTT;
 }
 
+static struct drm_i915_gem_object *
+create_sys_or_internal(struct drm_i915_private *i915,
+		       unsigned long size)
+{
+	if (HAS_LMEM(i915)) {
+		struct intel_memory_region *sys_region =
+			i915->mm.regions[INTEL_REGION_SMEM];
+
+		return __i915_gem_object_create_user(i915, size, &sys_region, 1);
+	}
+
+	return i915_gem_object_create_internal(i915, size);
+}
+
 static bool assert_mmap_offset(struct drm_i915_private *i915,
 			       unsigned long size,
 			       int expected)
@@ -589,7 +603,7 @@ static bool assert_mmap_offset(struct drm_i915_private *i915,
 	u64 offset;
 	int ret;
 
-	obj = i915_gem_object_create_internal(i915, size);
+	obj = create_sys_or_internal(i915, size);
 	if (IS_ERR(obj))
 		return expected && expected == PTR_ERR(obj);
 
@@ -633,6 +647,7 @@ static int igt_mmap_offset_exhaustion(void *arg)
 	struct drm_mm_node *hole, *next;
 	int loop, err = 0;
 	u64 offset;
+	int enospc = HAS_LMEM(i915) ? -ENXIO : -ENOSPC;
 
 	/* Disable background reaper */
 	disable_retire_worker(i915);
@@ -683,14 +698,14 @@ static int igt_mmap_offset_exhaustion(void *arg)
 	}
 
 	/* Too large */
-	if (!assert_mmap_offset(i915, 2 * PAGE_SIZE, -ENOSPC)) {
+	if (!assert_mmap_offset(i915, 2 * PAGE_SIZE, enospc)) {
 		pr_err("Unexpectedly succeeded in inserting too large object into single page hole\n");
 		err = -EINVAL;
 		goto out;
 	}
 
 	/* Fill the hole, further allocation attempts should then fail */
-	obj = i915_gem_object_create_internal(i915, PAGE_SIZE);
+	obj = create_sys_or_internal(i915, PAGE_SIZE);
 	if (IS_ERR(obj)) {
 		err = PTR_ERR(obj);
 		pr_err("Unable to create object for reclaimed hole\n");
@@ -703,7 +718,7 @@ static int igt_mmap_offset_exhaustion(void *arg)
 		goto err_obj;
 	}
 
-	if (!assert_mmap_offset(i915, PAGE_SIZE, -ENOSPC)) {
+	if (!assert_mmap_offset(i915, PAGE_SIZE, enospc)) {
 		pr_err("Unexpectedly succeeded in inserting object into no holes!\n");
 		err = -EINVAL;
 		goto err_obj;
@@ -842,7 +857,8 @@ static bool can_mmap(struct drm_i915_gem_object *obj, enum i915_mmap_type type)
 	struct drm_i915_private *i915 = to_i915(obj->base.dev);
 	bool no_map;
 
-	if (HAS_LMEM(i915))
+	if (HAS_LMEM(i915) && (obj->mm.region->id == INTEL_REGION_SMEM ||
+			       obj->mm.region->id == INTEL_REGION_LMEM))
 		return type == I915_MMAP_TYPE_FIXED;
 	else if (type == I915_MMAP_TYPE_FIXED)
 		return false;
-- 
2.31.1


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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/gem: Fix the mman selftest
  2021-08-26  7:24 ` [Intel-gfx] " Thomas Hellström
  (?)
@ 2021-08-26 11:15 ` Patchwork
  -1 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2021-08-26 11:15 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 5247 bytes --]

== Series Details ==

Series: drm/i915/gem: Fix the mman selftest
URL   : https://patchwork.freedesktop.org/series/94062/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10524 -> Patchwork_20900
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/index.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_huc_copy@huc-copy:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][1] ([i915#2190])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/fi-tgl-1115g4/igt@gem_huc_copy@huc-copy.html

  * igt@i915_pm_backlight@basic-brightness:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][2] ([i915#1155])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/fi-tgl-1115g4/igt@i915_pm_backlight@basic-brightness.html

  * igt@i915_pm_rpm@module-reload:
    - fi-tgl-1115g4:      NOTRUN -> [INCOMPLETE][3] ([i915#4006])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/fi-tgl-1115g4/igt@i915_pm_rpm@module-reload.html

  * igt@i915_selftest@live@gt_lrc:
    - fi-rkl-guc:         [PASS][4] -> [DMESG-WARN][5] ([i915#3958])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/fi-rkl-guc/igt@i915_selftest@live@gt_lrc.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/fi-rkl-guc/igt@i915_selftest@live@gt_lrc.html

  * igt@kms_addfb_basic@too-wide:
    - fi-tgl-1115g4:      NOTRUN -> [DMESG-WARN][6] ([i915#4002]) +91 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/fi-tgl-1115g4/igt@kms_addfb_basic@too-wide.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][7] ([fdo#111827]) +8 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/fi-tgl-1115g4/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_force_connector_basic@force-load-detect:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][8] ([fdo#109285])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/fi-tgl-1115g4/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_psr@primary_mmap_gtt:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][9] ([i915#1072]) +2 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/fi-tgl-1115g4/igt@kms_psr@primary_mmap_gtt.html

  * igt@kms_psr@primary_page_flip:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][10] ([i915#1072] / [i915#1385])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/fi-tgl-1115g4/igt@kms_psr@primary_page_flip.html

  * igt@prime_vgem@basic-userptr:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][11] ([i915#3301])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/fi-tgl-1115g4/igt@prime_vgem@basic-userptr.html

  * igt@runner@aborted:
    - fi-tgl-1115g4:      NOTRUN -> [FAIL][12] ([i915#2722] / [i915#3834])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/fi-tgl-1115g4/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-icl-u2:          [DMESG-WARN][13] ([i915#2203] / [i915#2868]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html

  
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#1385]: https://gitlab.freedesktop.org/drm/intel/issues/1385
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2203]: https://gitlab.freedesktop.org/drm/intel/issues/2203
  [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722
  [i915#2868]: https://gitlab.freedesktop.org/drm/intel/issues/2868
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3834]: https://gitlab.freedesktop.org/drm/intel/issues/3834
  [i915#3958]: https://gitlab.freedesktop.org/drm/intel/issues/3958
  [i915#4002]: https://gitlab.freedesktop.org/drm/intel/issues/4002
  [i915#4006]: https://gitlab.freedesktop.org/drm/intel/issues/4006


Participating hosts (40 -> 34)
------------------------------

  Additional (1): fi-tgl-1115g4 
  Missing    (7): fi-ilk-m540 bat-adls-5 fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-bdw-samus bat-jsl-1 


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

  * Linux: CI_DRM_10524 -> Patchwork_20900

  CI-20190529: 20190529
  CI_DRM_10524: 5833b7a8b6de23b9b4862f74e257bde02e5c08f4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6186: 250081b306c6fa8f95405fab6a7604f1968dd4ec @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_20900: 33cd582a4b5180b0ed39bd39a4cc9743fae482ff @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

33cd582a4b51 drm/i915/gem: Fix the mman selftest

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/index.html

[-- Attachment #2: Type: text/html, Size: 6207 bytes --]

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

* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/gem: Fix the mman selftest
  2021-08-26  7:24 ` [Intel-gfx] " Thomas Hellström
  (?)
  (?)
@ 2021-08-26 18:36 ` Patchwork
  -1 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2021-08-26 18:36 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 30258 bytes --]

== Series Details ==

Series: drm/i915/gem: Fix the mman selftest
URL   : https://patchwork.freedesktop.org/series/94062/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10524_full -> Patchwork_20900_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_20900_full:

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@kms_vblank@pipe-c-query-busy:
    - {shard-rkl}:        [SKIP][1] ([i915#1845]) -> [TIMEOUT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-rkl-5/igt@kms_vblank@pipe-c-query-busy.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-rkl-5/igt@kms_vblank@pipe-c-query-busy.html

  * igt@syncobj_timeline@multi-wait-all-for-submit-available-signaled:
    - {shard-rkl}:        [PASS][3] -> [TIMEOUT][4] +2 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-rkl-5/igt@syncobj_timeline@multi-wait-all-for-submit-available-signaled.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-rkl-5/igt@syncobj_timeline@multi-wait-all-for-submit-available-signaled.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_persistence@engines-hostile-preempt:
    - shard-snb:          NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#1099]) +1 similar issue
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-snb2/igt@gem_ctx_persistence@engines-hostile-preempt.html

  * igt@gem_ctx_sseu@mmap-args:
    - shard-tglb:         NOTRUN -> [SKIP][6] ([i915#280])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb5/igt@gem_ctx_sseu@mmap-args.html

  * igt@gem_exec_fair@basic-flow@rcs0:
    - shard-tglb:         [PASS][7] -> [FAIL][8] ([i915#2842]) +2 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-tglb7/igt@gem_exec_fair@basic-flow@rcs0.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb7/igt@gem_exec_fair@basic-flow@rcs0.html

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-iclb:         [PASS][9] -> [FAIL][10] ([i915#2842])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-iclb7/igt@gem_exec_fair@basic-none-rrul@rcs0.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb2/igt@gem_exec_fair@basic-none-rrul@rcs0.html
    - shard-glk:          [PASS][11] -> [FAIL][12] ([i915#2842])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-glk5/igt@gem_exec_fair@basic-none-rrul@rcs0.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-glk3/igt@gem_exec_fair@basic-none-rrul@rcs0.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-tglb:         NOTRUN -> [FAIL][13] ([i915#2842])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb3/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs1:
    - shard-iclb:         NOTRUN -> [FAIL][14] ([i915#2842]) +1 similar issue
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb4/igt@gem_exec_fair@basic-none@vcs1.html
    - shard-kbl:          NOTRUN -> [FAIL][15] ([i915#2842])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-kbl7/igt@gem_exec_fair@basic-none@vcs1.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-kbl:          [PASS][16] -> [FAIL][17] ([i915#2851])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-kbl4/igt@gem_exec_fair@basic-pace@rcs0.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-kbl6/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_fair@basic-pace@vcs1:
    - shard-kbl:          [PASS][18] -> [FAIL][19] ([i915#2842])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-kbl4/igt@gem_exec_fair@basic-pace@vcs1.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-kbl6/igt@gem_exec_fair@basic-pace@vcs1.html

  * igt@gem_exec_params@secure-non-master:
    - shard-tglb:         NOTRUN -> [SKIP][20] ([fdo#112283])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb5/igt@gem_exec_params@secure-non-master.html

  * igt@gem_mmap_gtt@cpuset-big-copy-odd:
    - shard-iclb:         [PASS][21] -> [FAIL][22] ([i915#307]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-iclb3/igt@gem_mmap_gtt@cpuset-big-copy-odd.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb5/igt@gem_mmap_gtt@cpuset-big-copy-odd.html

  * igt@gem_pread@exhaustion:
    - shard-apl:          NOTRUN -> [WARN][23] ([i915#2658])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl8/igt@gem_pread@exhaustion.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-snb:          NOTRUN -> [WARN][24] ([i915#2658])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-snb2/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_render_copy@yf-tiled-to-vebox-linear:
    - shard-iclb:         NOTRUN -> [SKIP][25] ([i915#768])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb6/igt@gem_render_copy@yf-tiled-to-vebox-linear.html

  * igt@gem_userptr_blits@input-checking:
    - shard-apl:          NOTRUN -> [DMESG-WARN][26] ([i915#3002])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl3/igt@gem_userptr_blits@input-checking.html
    - shard-snb:          NOTRUN -> [DMESG-WARN][27] ([i915#3002])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-snb5/igt@gem_userptr_blits@input-checking.html

  * igt@gem_userptr_blits@readonly-pwrite-unsync:
    - shard-tglb:         NOTRUN -> [SKIP][28] ([i915#3297])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb3/igt@gem_userptr_blits@readonly-pwrite-unsync.html
    - shard-iclb:         NOTRUN -> [SKIP][29] ([i915#3297])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb6/igt@gem_userptr_blits@readonly-pwrite-unsync.html

  * igt@gen3_render_tiledy_blits:
    - shard-tglb:         NOTRUN -> [SKIP][30] ([fdo#109289])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb5/igt@gen3_render_tiledy_blits.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-skl:          [PASS][31] -> [DMESG-WARN][32] ([i915#1436] / [i915#716])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-skl9/igt@gen9_exec_parse@allowed-single.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl5/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_pm_rpm@gem-mmap-type@fixed:
    - shard-apl:          NOTRUN -> [SKIP][33] ([fdo#109271] / [i915#3976])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl6/igt@i915_pm_rpm@gem-mmap-type@fixed.html

  * igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-tglb:         NOTRUN -> [SKIP][34] ([fdo#111644] / [i915#1397] / [i915#2411])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb5/igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@kms_async_flips@alternate-sync-async-flip:
    - shard-skl:          [PASS][35] -> [FAIL][36] ([i915#2521])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-skl3/igt@kms_async_flips@alternate-sync-async-flip.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl9/igt@kms_async_flips@alternate-sync-async-flip.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-0:
    - shard-glk:          [PASS][37] -> [DMESG-WARN][38] ([i915#118] / [i915#95]) +1 similar issue
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-glk3/igt@kms_big_fb@x-tiled-32bpp-rotate-0.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-glk4/igt@kms_big_fb@x-tiled-32bpp-rotate-0.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - shard-skl:          NOTRUN -> [FAIL][39] ([i915#3722]) +1 similar issue
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl4/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-skl:          NOTRUN -> [SKIP][40] ([fdo#109271] / [i915#3777])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl10/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-apl:          NOTRUN -> [SKIP][41] ([fdo#109271] / [i915#3777])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl6/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-apl:          NOTRUN -> [SKIP][42] ([fdo#109271]) +285 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-tglb:         NOTRUN -> [SKIP][43] ([fdo#111615])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb5/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_gen12_rc_ccs_cc:
    - shard-skl:          NOTRUN -> [SKIP][44] ([fdo#109271] / [i915#3886]) +4 similar issues
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl9/igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc:
    - shard-apl:          NOTRUN -> [SKIP][45] ([fdo#109271] / [i915#3886]) +13 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl8/igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc:
    - shard-iclb:         NOTRUN -> [SKIP][46] ([fdo#109278] / [i915#3886]) +1 similar issue
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb6/igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-c-random-ccs-data-y_tiled_gen12_mc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][47] ([i915#3689] / [i915#3886])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb3/igt@kms_ccs@pipe-c-random-ccs-data-y_tiled_gen12_mc_ccs.html

  * igt@kms_chamelium@dp-audio:
    - shard-tglb:         NOTRUN -> [SKIP][48] ([fdo#109284] / [fdo#111827]) +1 similar issue
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb5/igt@kms_chamelium@dp-audio.html

  * igt@kms_chamelium@hdmi-audio-edid:
    - shard-skl:          NOTRUN -> [SKIP][49] ([fdo#109271] / [fdo#111827]) +4 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl4/igt@kms_chamelium@hdmi-audio-edid.html

  * igt@kms_chamelium@hdmi-mode-timings:
    - shard-iclb:         NOTRUN -> [SKIP][50] ([fdo#109284] / [fdo#111827]) +2 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb6/igt@kms_chamelium@hdmi-mode-timings.html

  * igt@kms_chamelium@vga-hpd-without-ddc:
    - shard-snb:          NOTRUN -> [SKIP][51] ([fdo#109271] / [fdo#111827]) +7 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-snb5/igt@kms_chamelium@vga-hpd-without-ddc.html

  * igt@kms_color@pipe-d-ctm-green-to-red:
    - shard-iclb:         NOTRUN -> [SKIP][52] ([fdo#109278] / [i915#1149])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb6/igt@kms_color@pipe-d-ctm-green-to-red.html

  * igt@kms_color_chamelium@pipe-a-ctm-limited-range:
    - shard-apl:          NOTRUN -> [SKIP][53] ([fdo#109271] / [fdo#111827]) +18 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl8/igt@kms_color_chamelium@pipe-a-ctm-limited-range.html

  * igt@kms_color_chamelium@pipe-b-gamma:
    - shard-kbl:          NOTRUN -> [SKIP][54] ([fdo#109271] / [fdo#111827])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-kbl7/igt@kms_color_chamelium@pipe-b-gamma.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-tglb:         NOTRUN -> [SKIP][55] ([fdo#111828]) +1 similar issue
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb3/igt@kms_content_protection@atomic-dpms.html
    - shard-iclb:         NOTRUN -> [SKIP][56] ([fdo#109300] / [fdo#111066])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb6/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@legacy:
    - shard-apl:          NOTRUN -> [TIMEOUT][57] ([i915#1319])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl8/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@uevent:
    - shard-apl:          NOTRUN -> [FAIL][58] ([i915#2105])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl6/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@pipe-a-cursor-32x32-sliding:
    - shard-tglb:         NOTRUN -> [SKIP][59] ([i915#3319])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb5/igt@kms_cursor_crc@pipe-a-cursor-32x32-sliding.html

  * igt@kms_cursor_crc@pipe-c-cursor-32x10-onscreen:
    - shard-tglb:         NOTRUN -> [SKIP][60] ([i915#3359])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb5/igt@kms_cursor_crc@pipe-c-cursor-32x10-onscreen.html

  * igt@kms_cursor_crc@pipe-c-cursor-512x512-random:
    - shard-tglb:         NOTRUN -> [SKIP][61] ([fdo#109279] / [i915#3359])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb5/igt@kms_cursor_crc@pipe-c-cursor-512x512-random.html

  * igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible:
    - shard-iclb:         NOTRUN -> [SKIP][62] ([fdo#109274])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb6/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-skl:          [PASS][63] -> [FAIL][64] ([i915#79])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-skl2/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl6/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-kbl:          [PASS][65] -> [DMESG-WARN][66] ([i915#180]) +5 similar issues
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-kbl3/igt@kms_flip@flip-vs-suspend@c-dp1.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-kbl1/igt@kms_flip@flip-vs-suspend@c-dp1.html

  * igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1:
    - shard-skl:          [PASS][67] -> [FAIL][68] ([i915#2122]) +1 similar issue
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-skl3/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl3/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs:
    - shard-apl:          NOTRUN -> [SKIP][69] ([fdo#109271] / [i915#2672])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs.html

  * igt@kms_frontbuffer_tracking@fbc-1p-shrfb-fliptrack-mmap-gtt:
    - shard-skl:          NOTRUN -> [SKIP][70] ([fdo#109271]) +102 similar issues
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl8/igt@kms_frontbuffer_tracking@fbc-1p-shrfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-gtt:
    - shard-iclb:         NOTRUN -> [SKIP][71] ([fdo#109280]) +2 similar issues
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-gtt.html
    - shard-tglb:         NOTRUN -> [SKIP][72] ([fdo#111825]) +2 similar issues
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb3/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt:
    - shard-snb:          NOTRUN -> [SKIP][73] ([fdo#109271]) +196 similar issues
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-snb5/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt.html

  * igt@kms_hdr@bpc-switch-dpms:
    - shard-skl:          [PASS][74] -> [FAIL][75] ([i915#1188]) +1 similar issue
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-skl8/igt@kms_hdr@bpc-switch-dpms.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl9/igt@kms_hdr@bpc-switch-dpms.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - shard-apl:          NOTRUN -> [SKIP][76] ([fdo#109271] / [i915#533]) +1 similar issue
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl6/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  * igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d:
    - shard-skl:          NOTRUN -> [SKIP][77] ([fdo#109271] / [i915#533])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl4/igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d.html

  * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max:
    - shard-apl:          NOTRUN -> [FAIL][78] ([fdo#108145] / [i915#265]) +1 similar issue
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl6/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max.html

  * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min:
    - shard-skl:          NOTRUN -> [FAIL][79] ([fdo#108145] / [i915#265])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl8/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
    - shard-kbl:          NOTRUN -> [FAIL][80] ([fdo#108145] / [i915#265])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-kbl7/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb:
    - shard-apl:          NOTRUN -> [FAIL][81] ([i915#265])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl3/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min:
    - shard-skl:          [PASS][82] -> [FAIL][83] ([fdo#108145] / [i915#265])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-skl9/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl3/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html

  * igt@kms_plane_cursor@pipe-d-viewport-size-64:
    - shard-iclb:         NOTRUN -> [SKIP][84] ([fdo#109278]) +6 similar issues
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb6/igt@kms_plane_cursor@pipe-d-viewport-size-64.html

  * igt@kms_plane_lowres@pipe-d-tiling-none:
    - shard-tglb:         NOTRUN -> [SKIP][85] ([i915#3536])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb5/igt@kms_plane_lowres@pipe-d-tiling-none.html

  * igt@kms_prime@basic-crc@first-to-second:
    - shard-tglb:         NOTRUN -> [SKIP][86] ([i915#1836])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb5/igt@kms_prime@basic-crc@first-to-second.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-2:
    - shard-apl:          NOTRUN -> [SKIP][87] ([fdo#109271] / [i915#658]) +5 similar issues
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl2/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-2.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-1:
    - shard-tglb:         NOTRUN -> [SKIP][88] ([i915#2920])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb3/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-1.html
    - shard-skl:          NOTRUN -> [SKIP][89] ([fdo#109271] / [i915#658]) +1 similar issue
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl10/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-1.html
    - shard-iclb:         NOTRUN -> [SKIP][90] ([i915#658])
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb6/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-1.html

  * igt@kms_psr@psr2_primary_page_flip:
    - shard-iclb:         [PASS][91] -> [SKIP][92] ([fdo#109441]) +2 similar issues
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb7/igt@kms_psr@psr2_primary_page_flip.html

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
    - shard-apl:          [PASS][93] -> [DMESG-WARN][94] ([i915#180])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-apl8/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl7/igt@kms_vblank@pipe-c-ts-continuation-suspend.html

  * igt@kms_writeback@writeback-check-output:
    - shard-iclb:         NOTRUN -> [SKIP][95] ([i915#2437])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb6/igt@kms_writeback@writeback-check-output.html
    - shard-tglb:         NOTRUN -> [SKIP][96] ([i915#2437])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb3/igt@kms_writeback@writeback-check-output.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-apl:          NOTRUN -> [SKIP][97] ([fdo#109271] / [i915#2437])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl8/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@kms_writeback@writeback-pixel-formats:
    - shard-skl:          NOTRUN -> [SKIP][98] ([fdo#109271] / [i915#2437]) +1 similar issue
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl4/igt@kms_writeback@writeback-pixel-formats.html

  * igt@nouveau_crc@pipe-d-ctx-flip-detection:
    - shard-tglb:         NOTRUN -> [SKIP][99] ([i915#2530])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb3/igt@nouveau_crc@pipe-d-ctx-flip-detection.html
    - shard-iclb:         NOTRUN -> [SKIP][100] ([fdo#109278] / [i915#2530])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb6/igt@nouveau_crc@pipe-d-ctx-flip-detection.html

  * igt@prime_nv_api@i915_nv_double_import:
    - shard-kbl:          NOTRUN -> [SKIP][101] ([fdo#109271]) +8 similar issues
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-kbl7/igt@prime_nv_api@i915_nv_double_import.html

  * igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name:
    - shard-tglb:         NOTRUN -> [SKIP][102] ([fdo#109291])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb5/igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name.html

  * igt@sysfs_clients@create:
    - shard-apl:          NOTRUN -> [SKIP][103] ([fdo#109271] / [i915#2994]) +1 similar issue
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-apl8/igt@sysfs_clients@create.html

  * igt@sysfs_clients@recycle-many:
    - shard-skl:          NOTRUN -> [SKIP][104] ([fdo#109271] / [i915#2994]) +1 similar issue
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl4/igt@sysfs_clients@recycle-many.html

  * igt@sysfs_clients@sema-10:
    - shard-tglb:         NOTRUN -> [SKIP][105] ([i915#2994]) +1 similar issue
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-tglb3/igt@sysfs_clients@sema-10.html
    - shard-iclb:         NOTRUN -> [SKIP][106] ([i915#2994])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb6/igt@sysfs_clients@sema-10.html

  
#### Possible fixes ####

  * igt@fbdev@unaligned-read:
    - {shard-rkl}:        [SKIP][107] ([i915#2582]) -> [PASS][108]
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-rkl-5/igt@fbdev@unaligned-read.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-rkl-6/igt@fbdev@unaligned-read.html

  * igt@gem_eio@unwedge-stress:
    - {shard-rkl}:        [FAIL][109] ([i915#3115]) -> [PASS][110]
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-rkl-5/igt@gem_eio@unwedge-stress.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-rkl-6/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - {shard-rkl}:        [FAIL][111] ([i915#2842]) -> [PASS][112]
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-rkl-5/igt@gem_exec_fair@basic-none-solo@rcs0.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-rkl-1/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-none-vip@rcs0:
    - shard-glk:          [FAIL][113] ([i915#2842]) -> [PASS][114]
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-glk1/igt@gem_exec_fair@basic-none-vip@rcs0.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-glk5/igt@gem_exec_fair@basic-none-vip@rcs0.html

  * igt@gem_exec_fair@basic-pace@vcs0:
    - shard-kbl:          [SKIP][115] ([fdo#109271]) -> [PASS][116]
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-kbl4/igt@gem_exec_fair@basic-pace@vcs0.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-kbl6/igt@gem_exec_fair@basic-pace@vcs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - {shard-rkl}:        [FAIL][117] ([i915#2849]) -> [PASS][118]
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-rkl-6/igt@gem_exec_fair@basic-throttle@rcs0.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-rkl-2/igt@gem_exec_fair@basic-throttle@rcs0.html
    - shard-iclb:         [FAIL][119] ([i915#2849]) -> [PASS][120]
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-iclb3/igt@gem_exec_fair@basic-throttle@rcs0.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb5/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_mmap_gtt@cpuset-big-copy-odd:
    - {shard-rkl}:        [FAIL][121] ([i915#307]) -> [PASS][122]
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-rkl-6/igt@gem_mmap_gtt@cpuset-big-copy-odd.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-rkl-1/igt@gem_mmap_gtt@cpuset-big-copy-odd.html

  * igt@gem_mmap_gtt@cpuset-big-copy-xy:
    - shard-iclb:         [FAIL][123] ([i915#307]) -> [PASS][124]
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-iclb3/igt@gem_mmap_gtt@cpuset-big-copy-xy.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-iclb6/igt@gem_mmap_gtt@cpuset-big-copy-xy.html

  * igt@gem_workarounds@suspend-resume:
    - shard-kbl:          [DMESG-WARN][125] ([i915#180]) -> [PASS][126]
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-kbl1/igt@gem_workarounds@suspend-resume.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-kbl7/igt@gem_workarounds@suspend-resume.html

  * igt@gem_workarounds@suspend-resume-fd:
    - shard-snb:          [TIMEOUT][127] -> [PASS][128]
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-snb6/igt@gem_workarounds@suspend-resume-fd.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-snb7/igt@gem_workarounds@suspend-resume-fd.html

  * igt@i915_pm_backlight@fade_with_dpms:
    - {shard-rkl}:        [SKIP][129] ([i915#3012]) -> [PASS][130] +1 similar issue
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-rkl-5/igt@i915_pm_backlight@fade_with_dpms.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-rkl-6/igt@i915_pm_backlight@fade_with_dpms.html

  * igt@i915_pm_dc@dc9-dpms:
    - {shard-rkl}:        [FAIL][131] ([i915#3343]) -> [PASS][132]
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-rkl-5/igt@i915_pm_dc@dc9-dpms.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-rkl-5/igt@i915_pm_dc@dc9-dpms.html

  * igt@i915_pm_rpm@gem-pread:
    - {shard-rkl}:        [SKIP][133] ([fdo#109308]) -> [PASS][134] +1 similar issue
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-rkl-5/igt@i915_pm_rpm@gem-pread.html
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-rkl-6/igt@i915_pm_rpm@gem-pread.html

  * igt@i915_suspend@forcewake:
    - shard-skl:          [INCOMPLETE][135] ([i915#636]) -> [PASS][136]
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-skl5/igt@i915_suspend@forcewake.html
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-skl8/igt@i915_suspend@forcewake.html

  * igt@kms_atomic@test-only:
    - {shard-rkl}:        [SKIP][137] ([i915#1845]) -> [PASS][138] +24 similar issues
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10524/shard-rkl-5/igt@kms_atomic@test-only.html
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/shard-rkl-6/igt@kms_atomic@test-only.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-0:
    - {shard-rkl}:        [SKIP][139] ([i915#3638]) -> [PASS][140] +1 similar issue
   [13

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20900/index.html

[-- Attachment #2: Type: text/html, Size: 33690 bytes --]

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

* Re: [Intel-gfx] [PATCH] drm/i915/gem: Fix the mman selftest
  2021-08-26  7:24 ` [Intel-gfx] " Thomas Hellström
@ 2021-08-31  9:45   ` Maarten Lankhorst
  -1 siblings, 0 replies; 8+ messages in thread
From: Maarten Lankhorst @ 2021-08-31  9:45 UTC (permalink / raw)
  To: Thomas Hellström, intel-gfx, dri-devel

Op 26-08-2021 om 09:24 schreef Thomas Hellström:
> Using the I915_MMAP_TYPE_FIXED mmap type requires the TTM backend, so
> for that mmap type, use __i915_gem_object_create_user() instead of
> i915_gem_object_create_internal(), as we really want to tests objects
> mmap-able by user-space.
>
> This also means that the out-of-space error happens at object creation
> and returns -ENXIO rather than -ENOSPC, so fix the code up to expect
> that on out-of-offset-space errors.
>
> Finally only use I915_MMAP_TYPE_FIXED for LMEM and SMEM for now if
> testing on LMEM-capable devices. For stolen LMEM, we still take the
> same path as for integrated, as that haven't been moved over to TTM yet,
> and user-space should not be able to create out of stolen LMEM anyway.
>
> Fixes: 7961c5b60f23 ("drm/i915: Add TTM offset argument to mmap.")
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> ---
>  .../drm/i915/gem/selftests/i915_gem_mman.c    | 26 +++++++++++++++----
>  1 file changed, 21 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
> index b20f5621f62b..68da25e66b69 100644
> --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
> +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
> @@ -581,6 +581,20 @@ static enum i915_mmap_type default_mapping(struct drm_i915_private *i915)
>  	return I915_MMAP_TYPE_GTT;
>  }
>  
> +static struct drm_i915_gem_object *
> +create_sys_or_internal(struct drm_i915_private *i915,
> +		       unsigned long size)
> +{
> +	if (HAS_LMEM(i915)) {
> +		struct intel_memory_region *sys_region =
> +			i915->mm.regions[INTEL_REGION_SMEM];
> +
> +		return __i915_gem_object_create_user(i915, size, &sys_region, 1);
> +	}
> +
> +	return i915_gem_object_create_internal(i915, size);
> +}
> +
>  static bool assert_mmap_offset(struct drm_i915_private *i915,
>  			       unsigned long size,
>  			       int expected)
> @@ -589,7 +603,7 @@ static bool assert_mmap_offset(struct drm_i915_private *i915,
>  	u64 offset;
>  	int ret;
>  
> -	obj = i915_gem_object_create_internal(i915, size);
> +	obj = create_sys_or_internal(i915, size);
>  	if (IS_ERR(obj))
>  		return expected && expected == PTR_ERR(obj);
>  
> @@ -633,6 +647,7 @@ static int igt_mmap_offset_exhaustion(void *arg)
>  	struct drm_mm_node *hole, *next;
>  	int loop, err = 0;
>  	u64 offset;
> +	int enospc = HAS_LMEM(i915) ? -ENXIO : -ENOSPC;
>  
>  	/* Disable background reaper */
>  	disable_retire_worker(i915);
> @@ -683,14 +698,14 @@ static int igt_mmap_offset_exhaustion(void *arg)
>  	}
>  
>  	/* Too large */
> -	if (!assert_mmap_offset(i915, 2 * PAGE_SIZE, -ENOSPC)) {
> +	if (!assert_mmap_offset(i915, 2 * PAGE_SIZE, enospc)) {
>  		pr_err("Unexpectedly succeeded in inserting too large object into single page hole\n");
>  		err = -EINVAL;
>  		goto out;
>  	}
>  
>  	/* Fill the hole, further allocation attempts should then fail */
> -	obj = i915_gem_object_create_internal(i915, PAGE_SIZE);
> +	obj = create_sys_or_internal(i915, PAGE_SIZE);
>  	if (IS_ERR(obj)) {
>  		err = PTR_ERR(obj);
>  		pr_err("Unable to create object for reclaimed hole\n");
> @@ -703,7 +718,7 @@ static int igt_mmap_offset_exhaustion(void *arg)
>  		goto err_obj;
>  	}
>  
> -	if (!assert_mmap_offset(i915, PAGE_SIZE, -ENOSPC)) {
> +	if (!assert_mmap_offset(i915, PAGE_SIZE, enospc)) {
>  		pr_err("Unexpectedly succeeded in inserting object into no holes!\n");
>  		err = -EINVAL;
>  		goto err_obj;
> @@ -842,7 +857,8 @@ static bool can_mmap(struct drm_i915_gem_object *obj, enum i915_mmap_type type)
>  	struct drm_i915_private *i915 = to_i915(obj->base.dev);
>  	bool no_map;
>  
> -	if (HAS_LMEM(i915))
> +	if (HAS_LMEM(i915) && (obj->mm.region->id == INTEL_REGION_SMEM ||
> +			       obj->mm.region->id == INTEL_REGION_LMEM))

Ooh just noticed, make the whole line "if (obj->ops->mmap_offset)" instead to match i915_gem_mman.c?

Otherwise looks good.

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

>  		return type == I915_MMAP_TYPE_FIXED;
>  	else if (type == I915_MMAP_TYPE_FIXED)
>  		return false;



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

* Re: [PATCH] drm/i915/gem: Fix the mman selftest
@ 2021-08-31  9:45   ` Maarten Lankhorst
  0 siblings, 0 replies; 8+ messages in thread
From: Maarten Lankhorst @ 2021-08-31  9:45 UTC (permalink / raw)
  To: Thomas Hellström, intel-gfx, dri-devel

Op 26-08-2021 om 09:24 schreef Thomas Hellström:
> Using the I915_MMAP_TYPE_FIXED mmap type requires the TTM backend, so
> for that mmap type, use __i915_gem_object_create_user() instead of
> i915_gem_object_create_internal(), as we really want to tests objects
> mmap-able by user-space.
>
> This also means that the out-of-space error happens at object creation
> and returns -ENXIO rather than -ENOSPC, so fix the code up to expect
> that on out-of-offset-space errors.
>
> Finally only use I915_MMAP_TYPE_FIXED for LMEM and SMEM for now if
> testing on LMEM-capable devices. For stolen LMEM, we still take the
> same path as for integrated, as that haven't been moved over to TTM yet,
> and user-space should not be able to create out of stolen LMEM anyway.
>
> Fixes: 7961c5b60f23 ("drm/i915: Add TTM offset argument to mmap.")
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> ---
>  .../drm/i915/gem/selftests/i915_gem_mman.c    | 26 +++++++++++++++----
>  1 file changed, 21 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
> index b20f5621f62b..68da25e66b69 100644
> --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
> +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
> @@ -581,6 +581,20 @@ static enum i915_mmap_type default_mapping(struct drm_i915_private *i915)
>  	return I915_MMAP_TYPE_GTT;
>  }
>  
> +static struct drm_i915_gem_object *
> +create_sys_or_internal(struct drm_i915_private *i915,
> +		       unsigned long size)
> +{
> +	if (HAS_LMEM(i915)) {
> +		struct intel_memory_region *sys_region =
> +			i915->mm.regions[INTEL_REGION_SMEM];
> +
> +		return __i915_gem_object_create_user(i915, size, &sys_region, 1);
> +	}
> +
> +	return i915_gem_object_create_internal(i915, size);
> +}
> +
>  static bool assert_mmap_offset(struct drm_i915_private *i915,
>  			       unsigned long size,
>  			       int expected)
> @@ -589,7 +603,7 @@ static bool assert_mmap_offset(struct drm_i915_private *i915,
>  	u64 offset;
>  	int ret;
>  
> -	obj = i915_gem_object_create_internal(i915, size);
> +	obj = create_sys_or_internal(i915, size);
>  	if (IS_ERR(obj))
>  		return expected && expected == PTR_ERR(obj);
>  
> @@ -633,6 +647,7 @@ static int igt_mmap_offset_exhaustion(void *arg)
>  	struct drm_mm_node *hole, *next;
>  	int loop, err = 0;
>  	u64 offset;
> +	int enospc = HAS_LMEM(i915) ? -ENXIO : -ENOSPC;
>  
>  	/* Disable background reaper */
>  	disable_retire_worker(i915);
> @@ -683,14 +698,14 @@ static int igt_mmap_offset_exhaustion(void *arg)
>  	}
>  
>  	/* Too large */
> -	if (!assert_mmap_offset(i915, 2 * PAGE_SIZE, -ENOSPC)) {
> +	if (!assert_mmap_offset(i915, 2 * PAGE_SIZE, enospc)) {
>  		pr_err("Unexpectedly succeeded in inserting too large object into single page hole\n");
>  		err = -EINVAL;
>  		goto out;
>  	}
>  
>  	/* Fill the hole, further allocation attempts should then fail */
> -	obj = i915_gem_object_create_internal(i915, PAGE_SIZE);
> +	obj = create_sys_or_internal(i915, PAGE_SIZE);
>  	if (IS_ERR(obj)) {
>  		err = PTR_ERR(obj);
>  		pr_err("Unable to create object for reclaimed hole\n");
> @@ -703,7 +718,7 @@ static int igt_mmap_offset_exhaustion(void *arg)
>  		goto err_obj;
>  	}
>  
> -	if (!assert_mmap_offset(i915, PAGE_SIZE, -ENOSPC)) {
> +	if (!assert_mmap_offset(i915, PAGE_SIZE, enospc)) {
>  		pr_err("Unexpectedly succeeded in inserting object into no holes!\n");
>  		err = -EINVAL;
>  		goto err_obj;
> @@ -842,7 +857,8 @@ static bool can_mmap(struct drm_i915_gem_object *obj, enum i915_mmap_type type)
>  	struct drm_i915_private *i915 = to_i915(obj->base.dev);
>  	bool no_map;
>  
> -	if (HAS_LMEM(i915))
> +	if (HAS_LMEM(i915) && (obj->mm.region->id == INTEL_REGION_SMEM ||
> +			       obj->mm.region->id == INTEL_REGION_LMEM))

Ooh just noticed, make the whole line "if (obj->ops->mmap_offset)" instead to match i915_gem_mman.c?

Otherwise looks good.

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

>  		return type == I915_MMAP_TYPE_FIXED;
>  	else if (type == I915_MMAP_TYPE_FIXED)
>  		return false;



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

* Re: [PATCH] drm/i915/gem: Fix the mman selftest
  2021-08-31  9:45   ` Maarten Lankhorst
@ 2021-08-31 10:52     ` Thomas Hellström
  -1 siblings, 0 replies; 8+ messages in thread
From: Thomas Hellström @ 2021-08-31 10:52 UTC (permalink / raw)
  To: Maarten Lankhorst, intel-gfx, dri-devel


On 8/31/21 11:45 AM, Maarten Lankhorst wrote:
> Op 26-08-2021 om 09:24 schreef Thomas Hellström:
>> Using the I915_MMAP_TYPE_FIXED mmap type requires the TTM backend, so
>> for that mmap type, use __i915_gem_object_create_user() instead of
>> i915_gem_object_create_internal(), as we really want to tests objects
>> mmap-able by user-space.
>>
>> This also means that the out-of-space error happens at object creation
>> and returns -ENXIO rather than -ENOSPC, so fix the code up to expect
>> that on out-of-offset-space errors.
>>
>> Finally only use I915_MMAP_TYPE_FIXED for LMEM and SMEM for now if
>> testing on LMEM-capable devices. For stolen LMEM, we still take the
>> same path as for integrated, as that haven't been moved over to TTM yet,
>> and user-space should not be able to create out of stolen LMEM anyway.
>>
>> Fixes: 7961c5b60f23 ("drm/i915: Add TTM offset argument to mmap.")
>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>> ---
>>   .../drm/i915/gem/selftests/i915_gem_mman.c    | 26 +++++++++++++++----
>>   1 file changed, 21 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
>> index b20f5621f62b..68da25e66b69 100644
>> --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
>> +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
>> @@ -581,6 +581,20 @@ static enum i915_mmap_type default_mapping(struct drm_i915_private *i915)
>>   	return I915_MMAP_TYPE_GTT;
>>   }
>>   
>> +static struct drm_i915_gem_object *
>> +create_sys_or_internal(struct drm_i915_private *i915,
>> +		       unsigned long size)
>> +{
>> +	if (HAS_LMEM(i915)) {
>> +		struct intel_memory_region *sys_region =
>> +			i915->mm.regions[INTEL_REGION_SMEM];
>> +
>> +		return __i915_gem_object_create_user(i915, size, &sys_region, 1);
>> +	}
>> +
>> +	return i915_gem_object_create_internal(i915, size);
>> +}
>> +
>>   static bool assert_mmap_offset(struct drm_i915_private *i915,
>>   			       unsigned long size,
>>   			       int expected)
>> @@ -589,7 +603,7 @@ static bool assert_mmap_offset(struct drm_i915_private *i915,
>>   	u64 offset;
>>   	int ret;
>>   
>> -	obj = i915_gem_object_create_internal(i915, size);
>> +	obj = create_sys_or_internal(i915, size);
>>   	if (IS_ERR(obj))
>>   		return expected && expected == PTR_ERR(obj);
>>   
>> @@ -633,6 +647,7 @@ static int igt_mmap_offset_exhaustion(void *arg)
>>   	struct drm_mm_node *hole, *next;
>>   	int loop, err = 0;
>>   	u64 offset;
>> +	int enospc = HAS_LMEM(i915) ? -ENXIO : -ENOSPC;
>>   
>>   	/* Disable background reaper */
>>   	disable_retire_worker(i915);
>> @@ -683,14 +698,14 @@ static int igt_mmap_offset_exhaustion(void *arg)
>>   	}
>>   
>>   	/* Too large */
>> -	if (!assert_mmap_offset(i915, 2 * PAGE_SIZE, -ENOSPC)) {
>> +	if (!assert_mmap_offset(i915, 2 * PAGE_SIZE, enospc)) {
>>   		pr_err("Unexpectedly succeeded in inserting too large object into single page hole\n");
>>   		err = -EINVAL;
>>   		goto out;
>>   	}
>>   
>>   	/* Fill the hole, further allocation attempts should then fail */
>> -	obj = i915_gem_object_create_internal(i915, PAGE_SIZE);
>> +	obj = create_sys_or_internal(i915, PAGE_SIZE);
>>   	if (IS_ERR(obj)) {
>>   		err = PTR_ERR(obj);
>>   		pr_err("Unable to create object for reclaimed hole\n");
>> @@ -703,7 +718,7 @@ static int igt_mmap_offset_exhaustion(void *arg)
>>   		goto err_obj;
>>   	}
>>   
>> -	if (!assert_mmap_offset(i915, PAGE_SIZE, -ENOSPC)) {
>> +	if (!assert_mmap_offset(i915, PAGE_SIZE, enospc)) {
>>   		pr_err("Unexpectedly succeeded in inserting object into no holes!\n");
>>   		err = -EINVAL;
>>   		goto err_obj;
>> @@ -842,7 +857,8 @@ static bool can_mmap(struct drm_i915_gem_object *obj, enum i915_mmap_type type)
>>   	struct drm_i915_private *i915 = to_i915(obj->base.dev);
>>   	bool no_map;
>>   
>> -	if (HAS_LMEM(i915))
>> +	if (HAS_LMEM(i915) && (obj->mm.region->id == INTEL_REGION_SMEM ||
>> +			       obj->mm.region->id == INTEL_REGION_LMEM))
> Ooh just noticed, make the whole line "if (obj->ops->mmap_offset)" instead to match i915_gem_mman.c?

Ah, right. I'll fix that up.

/Thomas

>
> Otherwise looks good.
>
> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>
>>   		return type == I915_MMAP_TYPE_FIXED;
>>   	else if (type == I915_MMAP_TYPE_FIXED)
>>   		return false;
>

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

* Re: [Intel-gfx] [PATCH] drm/i915/gem: Fix the mman selftest
@ 2021-08-31 10:52     ` Thomas Hellström
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Hellström @ 2021-08-31 10:52 UTC (permalink / raw)
  To: Maarten Lankhorst, intel-gfx, dri-devel


On 8/31/21 11:45 AM, Maarten Lankhorst wrote:
> Op 26-08-2021 om 09:24 schreef Thomas Hellström:
>> Using the I915_MMAP_TYPE_FIXED mmap type requires the TTM backend, so
>> for that mmap type, use __i915_gem_object_create_user() instead of
>> i915_gem_object_create_internal(), as we really want to tests objects
>> mmap-able by user-space.
>>
>> This also means that the out-of-space error happens at object creation
>> and returns -ENXIO rather than -ENOSPC, so fix the code up to expect
>> that on out-of-offset-space errors.
>>
>> Finally only use I915_MMAP_TYPE_FIXED for LMEM and SMEM for now if
>> testing on LMEM-capable devices. For stolen LMEM, we still take the
>> same path as for integrated, as that haven't been moved over to TTM yet,
>> and user-space should not be able to create out of stolen LMEM anyway.
>>
>> Fixes: 7961c5b60f23 ("drm/i915: Add TTM offset argument to mmap.")
>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>> ---
>>   .../drm/i915/gem/selftests/i915_gem_mman.c    | 26 +++++++++++++++----
>>   1 file changed, 21 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
>> index b20f5621f62b..68da25e66b69 100644
>> --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
>> +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
>> @@ -581,6 +581,20 @@ static enum i915_mmap_type default_mapping(struct drm_i915_private *i915)
>>   	return I915_MMAP_TYPE_GTT;
>>   }
>>   
>> +static struct drm_i915_gem_object *
>> +create_sys_or_internal(struct drm_i915_private *i915,
>> +		       unsigned long size)
>> +{
>> +	if (HAS_LMEM(i915)) {
>> +		struct intel_memory_region *sys_region =
>> +			i915->mm.regions[INTEL_REGION_SMEM];
>> +
>> +		return __i915_gem_object_create_user(i915, size, &sys_region, 1);
>> +	}
>> +
>> +	return i915_gem_object_create_internal(i915, size);
>> +}
>> +
>>   static bool assert_mmap_offset(struct drm_i915_private *i915,
>>   			       unsigned long size,
>>   			       int expected)
>> @@ -589,7 +603,7 @@ static bool assert_mmap_offset(struct drm_i915_private *i915,
>>   	u64 offset;
>>   	int ret;
>>   
>> -	obj = i915_gem_object_create_internal(i915, size);
>> +	obj = create_sys_or_internal(i915, size);
>>   	if (IS_ERR(obj))
>>   		return expected && expected == PTR_ERR(obj);
>>   
>> @@ -633,6 +647,7 @@ static int igt_mmap_offset_exhaustion(void *arg)
>>   	struct drm_mm_node *hole, *next;
>>   	int loop, err = 0;
>>   	u64 offset;
>> +	int enospc = HAS_LMEM(i915) ? -ENXIO : -ENOSPC;
>>   
>>   	/* Disable background reaper */
>>   	disable_retire_worker(i915);
>> @@ -683,14 +698,14 @@ static int igt_mmap_offset_exhaustion(void *arg)
>>   	}
>>   
>>   	/* Too large */
>> -	if (!assert_mmap_offset(i915, 2 * PAGE_SIZE, -ENOSPC)) {
>> +	if (!assert_mmap_offset(i915, 2 * PAGE_SIZE, enospc)) {
>>   		pr_err("Unexpectedly succeeded in inserting too large object into single page hole\n");
>>   		err = -EINVAL;
>>   		goto out;
>>   	}
>>   
>>   	/* Fill the hole, further allocation attempts should then fail */
>> -	obj = i915_gem_object_create_internal(i915, PAGE_SIZE);
>> +	obj = create_sys_or_internal(i915, PAGE_SIZE);
>>   	if (IS_ERR(obj)) {
>>   		err = PTR_ERR(obj);
>>   		pr_err("Unable to create object for reclaimed hole\n");
>> @@ -703,7 +718,7 @@ static int igt_mmap_offset_exhaustion(void *arg)
>>   		goto err_obj;
>>   	}
>>   
>> -	if (!assert_mmap_offset(i915, PAGE_SIZE, -ENOSPC)) {
>> +	if (!assert_mmap_offset(i915, PAGE_SIZE, enospc)) {
>>   		pr_err("Unexpectedly succeeded in inserting object into no holes!\n");
>>   		err = -EINVAL;
>>   		goto err_obj;
>> @@ -842,7 +857,8 @@ static bool can_mmap(struct drm_i915_gem_object *obj, enum i915_mmap_type type)
>>   	struct drm_i915_private *i915 = to_i915(obj->base.dev);
>>   	bool no_map;
>>   
>> -	if (HAS_LMEM(i915))
>> +	if (HAS_LMEM(i915) && (obj->mm.region->id == INTEL_REGION_SMEM ||
>> +			       obj->mm.region->id == INTEL_REGION_LMEM))
> Ooh just noticed, make the whole line "if (obj->ops->mmap_offset)" instead to match i915_gem_mman.c?

Ah, right. I'll fix that up.

/Thomas

>
> Otherwise looks good.
>
> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>
>>   		return type == I915_MMAP_TYPE_FIXED;
>>   	else if (type == I915_MMAP_TYPE_FIXED)
>>   		return false;
>

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

end of thread, other threads:[~2021-08-31 10:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-26  7:24 [PATCH] drm/i915/gem: Fix the mman selftest Thomas Hellström
2021-08-26  7:24 ` [Intel-gfx] " Thomas Hellström
2021-08-26 11:15 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
2021-08-26 18:36 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2021-08-31  9:45 ` [Intel-gfx] [PATCH] " Maarten Lankhorst
2021-08-31  9:45   ` Maarten Lankhorst
2021-08-31 10:52   ` Thomas Hellström
2021-08-31 10:52     ` [Intel-gfx] " Thomas Hellström

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.