* [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support @ 2020-01-11 17:36 Michal Wajdeczko 2020-01-11 17:36 ` [Intel-gfx] [PATCH 2/2] drm/i915/vgt: Move VGT GGTT ballooning nodes to i915_ggtt Michal Wajdeczko ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Michal Wajdeczko @ 2020-01-11 17:36 UTC (permalink / raw) To: intel-gfx; +Cc: Jani Nikula Reserving part of the GGTT for the GuC requires same steps as in VGT GGTT ballooning. Add generic GGTT ballooning helpers to intel_ggtt.c to avoid code duplication. Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Xiong Zhang <xiong.y.zhang@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/gt/intel_ggtt.c | 71 ++++++++++++++++++++++------ drivers/gpu/drm/i915/gt/intel_gtt.h | 4 ++ drivers/gpu/drm/i915/i915_vgpu.c | 60 +++++------------------ 3 files changed, 73 insertions(+), 62 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt.c b/drivers/gpu/drm/i915/gt/intel_ggtt.c index 79096722ce16..636542c7c272 100644 --- a/drivers/gpu/drm/i915/gt/intel_ggtt.c +++ b/drivers/gpu/drm/i915/gt/intel_ggtt.c @@ -459,28 +459,17 @@ static void ggtt_unbind_vma(struct i915_vma *vma) static int ggtt_reserve_guc_top(struct i915_ggtt *ggtt) { - u64 size; - int ret; - if (!USES_GUC(ggtt->vm.i915)) return 0; GEM_BUG_ON(ggtt->vm.total <= GUC_GGTT_TOP); - size = ggtt->vm.total - GUC_GGTT_TOP; - - ret = i915_gem_gtt_reserve(&ggtt->vm, &ggtt->uc_fw, size, - GUC_GGTT_TOP, I915_COLOR_UNEVICTABLE, - PIN_NOEVICT); - if (ret) - DRM_DEBUG_DRIVER("Failed to reserve top of GGTT for GuC\n"); - - return ret; + return i915_ggtt_balloon(ggtt, GUC_GGTT_TOP, ggtt->vm.total, + &ggtt->uc_fw); } static void ggtt_release_guc_top(struct i915_ggtt *ggtt) { - if (drm_mm_node_allocated(&ggtt->uc_fw)) - drm_mm_remove_node(&ggtt->uc_fw); + i915_ggtt_deballoon(ggtt, &ggtt->uc_fw); } static void cleanup_init_ggtt(struct i915_ggtt *ggtt) @@ -1484,3 +1473,57 @@ i915_get_ggtt_vma_pages(struct i915_vma *vma) } return ret; } + +/** + * i915_ggtt_balloon - reserve fixed space in an GGTT + * @ggtt: the &struct i915_ggtt + * @start: start offset inside the GGTT, + * must be #I915_GTT_MIN_ALIGNMENT aligned + * @end: end offset inside the GGTT, + * must be #I915_GTT_PAGE_SIZE aligned + * @node: the &struct drm_mm_node + * + * i915_ggtt_balloon() tries to reserve the @node from @start to @end inside + * GGTT the address space. + * + * Returns: 0 on success, -ENOSPC if no suitable hole is found. + */ +int i915_ggtt_balloon(struct i915_ggtt *ggtt, u64 start, u64 end, + struct drm_mm_node *node) +{ + u64 size = end - start; + int err; + + GEM_BUG_ON(start >= end); + DRM_DEV_DEBUG_DRIVER(ggtt->vm.i915->drm.dev, + "%sGGTT [%#llx-%#llx] %lluK\n", + "ballooning ", start, end, size / SZ_1K); + + err = i915_gem_gtt_reserve(&ggtt->vm, node, size, start, + I915_COLOR_UNEVICTABLE, PIN_NOEVICT); + if (unlikely(err)) { + DRM_DEV_ERROR(ggtt->vm.i915->drm.dev, + "%sGGTT [%#llx-%#llx] %lluK\n", + "Failed to balloon ", node->start, + node->start + node->size, node->size / SZ_1K); + return err; + } + + ggtt->vm.reserved += node->size; + return 0; +} + +void i915_ggtt_deballoon(struct i915_ggtt *ggtt, struct drm_mm_node *node) +{ + if (!drm_mm_node_allocated(node)) + return; + + DRM_DEV_DEBUG_DRIVER(ggtt->vm.i915->drm.dev, + "%sGGTT [%#llx-%#llx] %lluK\n", + "deballooning ", node->start, + node->start + node->size, node->size / SZ_1K); + + GEM_BUG_ON(ggtt->vm.reserved < node->size); + ggtt->vm.reserved -= node->size; + drm_mm_remove_node(node); +} diff --git a/drivers/gpu/drm/i915/gt/intel_gtt.h b/drivers/gpu/drm/i915/gt/intel_gtt.h index 7da7681c20b1..ac852d1a3302 100644 --- a/drivers/gpu/drm/i915/gt/intel_gtt.h +++ b/drivers/gpu/drm/i915/gt/intel_gtt.h @@ -508,6 +508,10 @@ static inline bool i915_ggtt_has_aperture(const struct i915_ggtt *ggtt) return ggtt->mappable_end > 0; } +int i915_ggtt_balloon(struct i915_ggtt *ggtt, u64 start, u64 end, + struct drm_mm_node *node); +void i915_ggtt_deballoon(struct i915_ggtt *ggtt, struct drm_mm_node *node); + int i915_ppgtt_init_hw(struct intel_gt *gt); struct i915_ppgtt *i915_ppgtt_create(struct intel_gt *gt); diff --git a/drivers/gpu/drm/i915/i915_vgpu.c b/drivers/gpu/drm/i915/i915_vgpu.c index 968be26735c5..4e1889a7aa5c 100644 --- a/drivers/gpu/drm/i915/i915_vgpu.c +++ b/drivers/gpu/drm/i915/i915_vgpu.c @@ -117,21 +117,6 @@ struct _balloon_info_ { static struct _balloon_info_ bl_info; -static void vgt_deballoon_space(struct i915_ggtt *ggtt, - struct drm_mm_node *node) -{ - if (!drm_mm_node_allocated(node)) - return; - - DRM_DEBUG_DRIVER("deballoon space: range [0x%llx - 0x%llx] %llu KiB.\n", - node->start, - node->start + node->size, - node->size / 1024); - - ggtt->vm.reserved -= node->size; - drm_mm_remove_node(node); -} - /** * intel_vgt_deballoon - deballoon reserved graphics address trunks * @ggtt: the global GGTT from which we reserved earlier @@ -149,28 +134,7 @@ void intel_vgt_deballoon(struct i915_ggtt *ggtt) DRM_DEBUG("VGT deballoon.\n"); for (i = 0; i < 4; i++) - vgt_deballoon_space(ggtt, &bl_info.space[i]); -} - -static int vgt_balloon_space(struct i915_ggtt *ggtt, - struct drm_mm_node *node, - unsigned long start, unsigned long end) -{ - unsigned long size = end - start; - int ret; - - if (start >= end) - return -EINVAL; - - DRM_INFO("balloon space: range [ 0x%lx - 0x%lx ] %lu KiB.\n", - start, end, size / 1024); - ret = i915_gem_gtt_reserve(&ggtt->vm, node, - size, start, I915_COLOR_UNEVICTABLE, - 0); - if (!ret) - ggtt->vm.reserved += size; - - return ret; + i915_ggtt_deballoon(ggtt, &bl_info.space[i]); } /** @@ -256,32 +220,32 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt) /* Unmappable graphic memory ballooning */ if (unmappable_base > ggtt->mappable_end) { - ret = vgt_balloon_space(ggtt, &bl_info.space[2], - ggtt->mappable_end, unmappable_base); + ret = i915_ggtt_balloon(ggtt, ggtt->mappable_end, + unmappable_base, &bl_info.space[2]); if (ret) goto err; } if (unmappable_end < ggtt_end) { - ret = vgt_balloon_space(ggtt, &bl_info.space[3], - unmappable_end, ggtt_end); + ret = i915_ggtt_balloon(ggtt, unmappable_end, ggtt_end, + &bl_info.space[3]); if (ret) goto err_upon_mappable; } /* Mappable graphic memory ballooning */ if (mappable_base) { - ret = vgt_balloon_space(ggtt, &bl_info.space[0], - 0, mappable_base); + ret = i915_ggtt_balloon(ggtt, 0, mappable_base, + &bl_info.space[0]); if (ret) goto err_upon_unmappable; } if (mappable_end < ggtt->mappable_end) { - ret = vgt_balloon_space(ggtt, &bl_info.space[1], - mappable_end, ggtt->mappable_end); + ret = i915_ggtt_balloon(ggtt, mappable_end, ggtt->mappable_end, + &bl_info.space[1]); if (ret) goto err_below_mappable; @@ -291,11 +255,11 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt) return 0; err_below_mappable: - vgt_deballoon_space(ggtt, &bl_info.space[0]); + i915_ggtt_deballoon(ggtt, &bl_info.space[0]); err_upon_unmappable: - vgt_deballoon_space(ggtt, &bl_info.space[3]); + i915_ggtt_deballoon(ggtt, &bl_info.space[3]); err_upon_mappable: - vgt_deballoon_space(ggtt, &bl_info.space[2]); + i915_ggtt_deballoon(ggtt, &bl_info.space[2]); err: DRM_ERROR("VGT balloon fail\n"); return ret; -- 2.19.2 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Intel-gfx] [PATCH 2/2] drm/i915/vgt: Move VGT GGTT ballooning nodes to i915_ggtt 2020-01-11 17:36 [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support Michal Wajdeczko @ 2020-01-11 17:36 ` Michal Wajdeczko 2020-01-11 18:41 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support Patchwork 2020-01-15 2:51 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 2 siblings, 0 replies; 6+ messages in thread From: Michal Wajdeczko @ 2020-01-11 17:36 UTC (permalink / raw) To: intel-gfx; +Cc: Jani Nikula Since VGT ballooning nodes are GGTT specific, we can move them to i915_ggtt struct close to some other similar nodes. This way we drop another place in driver that uses static data. Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Xiong Zhang <xiong.y.zhang@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/gt/intel_gtt.h | 1 + drivers/gpu/drm/i915/i915_vgpu.c | 27 ++++++++------------------- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_gtt.h b/drivers/gpu/drm/i915/gt/intel_gtt.h index ac852d1a3302..bc5670617b39 100644 --- a/drivers/gpu/drm/i915/gt/intel_gtt.h +++ b/drivers/gpu/drm/i915/gt/intel_gtt.h @@ -348,6 +348,7 @@ struct i915_ggtt { struct mutex error_mutex; struct drm_mm_node error_capture; struct drm_mm_node uc_fw; + struct drm_mm_node balloon[4]; }; struct i915_ppgtt { diff --git a/drivers/gpu/drm/i915/i915_vgpu.c b/drivers/gpu/drm/i915/i915_vgpu.c index 4e1889a7aa5c..428a4a7560ed 100644 --- a/drivers/gpu/drm/i915/i915_vgpu.c +++ b/drivers/gpu/drm/i915/i915_vgpu.c @@ -106,17 +106,6 @@ bool intel_vgpu_has_full_ppgtt(struct drm_i915_private *dev_priv) return dev_priv->vgpu.caps & VGT_CAPS_FULL_PPGTT; } -struct _balloon_info_ { - /* - * There are up to 2 regions per mappable/unmappable graphic - * memory that might be ballooned. Here, index 0/1 is for mappable - * graphic memory, 2/3 for unmappable graphic memory. - */ - struct drm_mm_node space[4]; -}; - -static struct _balloon_info_ bl_info; - /** * intel_vgt_deballoon - deballoon reserved graphics address trunks * @ggtt: the global GGTT from which we reserved earlier @@ -134,7 +123,7 @@ void intel_vgt_deballoon(struct i915_ggtt *ggtt) DRM_DEBUG("VGT deballoon.\n"); for (i = 0; i < 4; i++) - i915_ggtt_deballoon(ggtt, &bl_info.space[i]); + i915_ggtt_deballoon(ggtt, &ggtt->balloon[i]); } /** @@ -221,7 +210,7 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt) /* Unmappable graphic memory ballooning */ if (unmappable_base > ggtt->mappable_end) { ret = i915_ggtt_balloon(ggtt, ggtt->mappable_end, - unmappable_base, &bl_info.space[2]); + unmappable_base, &ggtt->balloon[2]); if (ret) goto err; @@ -229,7 +218,7 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt) if (unmappable_end < ggtt_end) { ret = i915_ggtt_balloon(ggtt, unmappable_end, ggtt_end, - &bl_info.space[3]); + &ggtt->balloon[3]); if (ret) goto err_upon_mappable; } @@ -237,7 +226,7 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt) /* Mappable graphic memory ballooning */ if (mappable_base) { ret = i915_ggtt_balloon(ggtt, 0, mappable_base, - &bl_info.space[0]); + &ggtt->balloon[0]); if (ret) goto err_upon_unmappable; @@ -245,7 +234,7 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt) if (mappable_end < ggtt->mappable_end) { ret = i915_ggtt_balloon(ggtt, mappable_end, ggtt->mappable_end, - &bl_info.space[1]); + &ggtt->balloon[1]); if (ret) goto err_below_mappable; @@ -255,11 +244,11 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt) return 0; err_below_mappable: - i915_ggtt_deballoon(ggtt, &bl_info.space[0]); + i915_ggtt_deballoon(ggtt, &ggtt->balloon[0]); err_upon_unmappable: - i915_ggtt_deballoon(ggtt, &bl_info.space[3]); + i915_ggtt_deballoon(ggtt, &ggtt->balloon[3]); err_upon_mappable: - i915_ggtt_deballoon(ggtt, &bl_info.space[2]); + i915_ggtt_deballoon(ggtt, &ggtt->balloon[2]); err: DRM_ERROR("VGT balloon fail\n"); return ret; -- 2.19.2 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support 2020-01-11 17:36 [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support Michal Wajdeczko 2020-01-11 17:36 ` [Intel-gfx] [PATCH 2/2] drm/i915/vgt: Move VGT GGTT ballooning nodes to i915_ggtt Michal Wajdeczko @ 2020-01-11 18:41 ` Patchwork 2020-01-15 2:51 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 2 siblings, 0 replies; 6+ messages in thread From: Patchwork @ 2020-01-11 18:41 UTC (permalink / raw) To: Michal Wajdeczko; +Cc: intel-gfx == Series Details == Series: series starting with [1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support URL : https://patchwork.freedesktop.org/series/71920/ State : success == Summary == CI Bug Log - changes from CI_DRM_7724 -> Patchwork_16066 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/index.html Known issues ------------ Here are the changes found in Patchwork_16066 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_close_race@basic-threads: - fi-byt-n2820: [PASS][1] -> [TIMEOUT][2] ([i915#816]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/fi-byt-n2820/igt@gem_close_race@basic-threads.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/fi-byt-n2820/igt@gem_close_race@basic-threads.html * igt@i915_selftest@live_blt: - fi-ivb-3770: [PASS][3] -> [DMESG-FAIL][4] ([i915#725]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/fi-ivb-3770/igt@i915_selftest@live_blt.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/fi-ivb-3770/igt@i915_selftest@live_blt.html * igt@i915_selftest@live_gem_contexts: - fi-cfl-guc: [PASS][5] -> [DMESG-FAIL][6] ([i915#623]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html #### Possible fixes #### * igt@gem_close_race@basic-threads: - fi-byt-j1900: [TIMEOUT][7] ([i915#816]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/fi-byt-j1900/igt@gem_close_race@basic-threads.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/fi-byt-j1900/igt@gem_close_race@basic-threads.html * igt@i915_module_load@reload-with-fault-injection: - fi-kbl-x1275: [INCOMPLETE][9] ([i915#879]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/fi-kbl-x1275/igt@i915_module_load@reload-with-fault-injection.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/fi-kbl-x1275/igt@i915_module_load@reload-with-fault-injection.html [i915#623]: https://gitlab.freedesktop.org/drm/intel/issues/623 [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725 [i915#816]: https://gitlab.freedesktop.org/drm/intel/issues/816 [i915#879]: https://gitlab.freedesktop.org/drm/intel/issues/879 Participating hosts (48 -> 41) ------------------------------ Additional (4): fi-hsw-peppy fi-skl-6770hq fi-kbl-7560u fi-bsw-n3050 Missing (11): fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-whl-u fi-kbl-8809g fi-skl-lmem fi-snb-2600 fi-skl-6600u fi-kbl-r Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7724 -> Patchwork_16066 CI-20190529: 20190529 CI_DRM_7724: da61b67ea3ce7098d2ffda9a7dcdf28b7026e6e8 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5364: b7cb6ffdb65cbd233f5ddee2f2dabf97b34fa640 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_16066: 81f56d025ad16555ab9ae8e2ab0cb6e55cc7e229 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 81f56d025ad1 drm/i915/vgt: Move VGT GGTT ballooning nodes to i915_ggtt 56d5d80d010e drm/i915/ggtt: Add generic i915_ggtt ballooning support == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support 2020-01-11 17:36 [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support Michal Wajdeczko 2020-01-11 17:36 ` [Intel-gfx] [PATCH 2/2] drm/i915/vgt: Move VGT GGTT ballooning nodes to i915_ggtt Michal Wajdeczko 2020-01-11 18:41 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support Patchwork @ 2020-01-15 2:51 ` Patchwork 2 siblings, 0 replies; 6+ messages in thread From: Patchwork @ 2020-01-15 2:51 UTC (permalink / raw) To: Michal Wajdeczko; +Cc: intel-gfx == Series Details == Series: series starting with [1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support URL : https://patchwork.freedesktop.org/series/71920/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7724_full -> Patchwork_16066_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_16066_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_16066_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_16066_full: ### IGT changes ### #### Possible regressions #### * igt@runner@aborted: - shard-hsw: NOTRUN -> [FAIL][1] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-hsw7/igt@runner@aborted.html Known issues ------------ Here are the changes found in Patchwork_16066_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_isolation@vecs0-s3: - shard-iclb: [PASS][2] -> [DMESG-WARN][3] ([fdo#111764]) +1 similar issue [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb3/igt@gem_ctx_isolation@vecs0-s3.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb7/igt@gem_ctx_isolation@vecs0-s3.html * igt@gem_ctx_persistence@rcs0-mixed-process: - shard-tglb: [PASS][4] -> [FAIL][5] ([i915#679]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb5/igt@gem_ctx_persistence@rcs0-mixed-process.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb4/igt@gem_ctx_persistence@rcs0-mixed-process.html * igt@gem_ctx_persistence@vcs1-queued: - shard-iclb: [PASS][6] -> [SKIP][7] ([fdo#109276] / [fdo#112080]) +1 similar issue [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb1/igt@gem_ctx_persistence@vcs1-queued.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb5/igt@gem_ctx_persistence@vcs1-queued.html * igt@gem_ctx_shared@q-smoketest-vebox: - shard-tglb: [PASS][8] -> [INCOMPLETE][9] ([fdo#111735]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb5/igt@gem_ctx_shared@q-smoketest-vebox.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb4/igt@gem_ctx_shared@q-smoketest-vebox.html * igt@gem_exec_balancer@nop: - shard-tglb: [PASS][10] -> [INCOMPLETE][11] ([fdo#111736] / [i915#472]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb5/igt@gem_exec_balancer@nop.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb8/igt@gem_exec_balancer@nop.html * igt@gem_exec_balancer@smoke: - shard-iclb: [PASS][12] -> [SKIP][13] ([fdo#110854]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb2/igt@gem_exec_balancer@smoke.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb3/igt@gem_exec_balancer@smoke.html * igt@gem_exec_parallel@vcs1-fds: - shard-iclb: [PASS][14] -> [SKIP][15] ([fdo#112080]) +7 similar issues [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb4/igt@gem_exec_parallel@vcs1-fds.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb3/igt@gem_exec_parallel@vcs1-fds.html * igt@gem_exec_reuse@single: - shard-tglb: [PASS][16] -> [INCOMPLETE][17] ([i915#472]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb2/igt@gem_exec_reuse@single.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb4/igt@gem_exec_reuse@single.html * igt@gem_exec_schedule@in-order-bsd: - shard-iclb: [PASS][18] -> [SKIP][19] ([fdo#112146]) +4 similar issues [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb7/igt@gem_exec_schedule@in-order-bsd.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb2/igt@gem_exec_schedule@in-order-bsd.html * igt@gem_exec_schedule@pi-common-bsd: - shard-iclb: [PASS][20] -> [SKIP][21] ([i915#677]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb6/igt@gem_exec_schedule@pi-common-bsd.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb2/igt@gem_exec_schedule@pi-common-bsd.html * igt@gem_exec_schedule@preempt-queue-chain-bsd1: - shard-tglb: [PASS][22] -> [INCOMPLETE][23] ([fdo#111606] / [fdo#111677] / [i915#472]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb1/igt@gem_exec_schedule@preempt-queue-chain-bsd1.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb8/igt@gem_exec_schedule@preempt-queue-chain-bsd1.html * igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd1: - shard-tglb: [PASS][24] -> [INCOMPLETE][25] ([fdo#111677] / [i915#472]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb2/igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd1.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb6/igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd1.html * igt@gem_exec_schedule@smoketest-bsd1: - shard-tglb: [PASS][26] -> [INCOMPLETE][27] ([i915#463] / [i915#472]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb5/igt@gem_exec_schedule@smoketest-bsd1.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb3/igt@gem_exec_schedule@smoketest-bsd1.html * igt@gem_persistent_relocs@forked-thrash-inactive: - shard-kbl: [PASS][28] -> [TIMEOUT][29] ([fdo#112271]) [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-kbl7/igt@gem_persistent_relocs@forked-thrash-inactive.html [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-kbl6/igt@gem_persistent_relocs@forked-thrash-inactive.html * igt@gem_persistent_relocs@forked-thrashing: - shard-snb: [PASS][30] -> [FAIL][31] ([i915#520]) [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-snb6/igt@gem_persistent_relocs@forked-thrashing.html [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-snb5/igt@gem_persistent_relocs@forked-thrashing.html * igt@i915_pm_dc@dc6-psr: - shard-iclb: [PASS][32] -> [FAIL][33] ([i915#454]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb8/igt@i915_pm_dc@dc6-psr.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb8/igt@i915_pm_dc@dc6-psr.html * igt@i915_pm_rpm@modeset-stress-extra-wait: - shard-glk: [PASS][34] -> [DMESG-WARN][35] ([i915#118] / [i915#95]) [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-glk2/igt@i915_pm_rpm@modeset-stress-extra-wait.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-glk8/igt@i915_pm_rpm@modeset-stress-extra-wait.html * igt@i915_pm_rps@waitboost: - shard-iclb: [PASS][36] -> [FAIL][37] ([i915#413]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb7/igt@i915_pm_rps@waitboost.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb8/igt@i915_pm_rps@waitboost.html * igt@i915_suspend@fence-restore-untiled: - shard-apl: [PASS][38] -> [DMESG-WARN][39] ([i915#180]) +1 similar issue [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-apl1/igt@i915_suspend@fence-restore-untiled.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-apl6/igt@i915_suspend@fence-restore-untiled.html * igt@kms_color@pipe-a-ctm-negative: - shard-skl: [PASS][40] -> [DMESG-WARN][41] ([i915#109]) +1 similar issue [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-skl2/igt@kms_color@pipe-a-ctm-negative.html [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-skl7/igt@kms_color@pipe-a-ctm-negative.html * igt@kms_cursor_crc@pipe-c-cursor-suspend: - shard-kbl: [PASS][42] -> [DMESG-WARN][43] ([i915#180]) +2 similar issues [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-kbl7/igt@kms_cursor_crc@pipe-c-cursor-suspend.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-kbl4/igt@kms_cursor_crc@pipe-c-cursor-suspend.html * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite: - shard-tglb: [PASS][44] -> [FAIL][45] ([i915#49]) +3 similar issues [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb3/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min: - shard-skl: [PASS][46] -> [FAIL][47] ([fdo#108145]) [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-skl4/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-skl2/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc: - shard-skl: [PASS][48] -> [FAIL][49] ([fdo#108145] / [i915#265]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-skl5/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-skl4/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html * igt@kms_psr@psr2_cursor_plane_move: - shard-iclb: [PASS][50] -> [SKIP][51] ([fdo#109441]) +1 similar issue [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb2/igt@kms_psr@psr2_cursor_plane_move.html [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb1/igt@kms_psr@psr2_cursor_plane_move.html * igt@prime_vgem@fence-wait-bsd2: - shard-iclb: [PASS][52] -> [SKIP][53] ([fdo#109276]) +18 similar issues [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb4/igt@prime_vgem@fence-wait-bsd2.html [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb3/igt@prime_vgem@fence-wait-bsd2.html #### Possible fixes #### * igt@gem_busy@busy-vcs1: - shard-iclb: [SKIP][54] ([fdo#112080]) -> [PASS][55] +7 similar issues [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb6/igt@gem_busy@busy-vcs1.html [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb4/igt@gem_busy@busy-vcs1.html * igt@gem_ctx_persistence@vcs1-mixed-process: - shard-iclb: [SKIP][56] ([fdo#109276] / [fdo#112080]) -> [PASS][57] +5 similar issues [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb6/igt@gem_ctx_persistence@vcs1-mixed-process.html [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb2/igt@gem_ctx_persistence@vcs1-mixed-process.html * igt@gem_ctx_shared@exec-single-timeline-bsd: - shard-iclb: [SKIP][58] ([fdo#110841]) -> [PASS][59] [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb1/igt@gem_ctx_shared@exec-single-timeline-bsd.html [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb8/igt@gem_ctx_shared@exec-single-timeline-bsd.html * igt@gem_ctx_shared@q-smoketest-blt: - shard-tglb: [INCOMPLETE][60] ([fdo#111735]) -> [PASS][61] [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb6/igt@gem_ctx_shared@q-smoketest-blt.html [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb7/igt@gem_ctx_shared@q-smoketest-blt.html * igt@gem_eio@unwedge-stress: - shard-tglb: [INCOMPLETE][62] ([i915#469]) -> [PASS][63] [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb6/igt@gem_eio@unwedge-stress.html [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb1/igt@gem_eio@unwedge-stress.html * igt@gem_exec_parallel@vecs0-fds: - shard-tglb: [INCOMPLETE][64] ([i915#472]) -> [PASS][65] [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb9/igt@gem_exec_parallel@vecs0-fds.html [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb3/igt@gem_exec_parallel@vecs0-fds.html * igt@gem_exec_schedule@independent-bsd2: - shard-iclb: [SKIP][66] ([fdo#109276]) -> [PASS][67] +22 similar issues [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb6/igt@gem_exec_schedule@independent-bsd2.html [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb2/igt@gem_exec_schedule@independent-bsd2.html * igt@gem_exec_schedule@pi-distinct-iova-bsd: - shard-iclb: [SKIP][68] ([i915#677]) -> [PASS][69] [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb1/igt@gem_exec_schedule@pi-distinct-iova-bsd.html [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb5/igt@gem_exec_schedule@pi-distinct-iova-bsd.html * igt@gem_exec_schedule@preempt-queue-contexts-blt: - shard-tglb: [INCOMPLETE][70] ([fdo#111606] / [fdo#111677] / [i915#472]) -> [PASS][71] [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb8/igt@gem_exec_schedule@preempt-queue-contexts-blt.html [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb7/igt@gem_exec_schedule@preempt-queue-contexts-blt.html * igt@gem_exec_schedule@smoketest-blt: - shard-tglb: [INCOMPLETE][72] ([i915#470] / [i915#472]) -> [PASS][73] [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb6/igt@gem_exec_schedule@smoketest-blt.html [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb1/igt@gem_exec_schedule@smoketest-blt.html * igt@gem_exec_schedule@wide-bsd: - shard-iclb: [SKIP][74] ([fdo#112146]) -> [PASS][75] +4 similar issues [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb2/igt@gem_exec_schedule@wide-bsd.html [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb3/igt@gem_exec_schedule@wide-bsd.html * igt@gem_pipe_control_store_loop@reused-buffer: - shard-tglb: [INCOMPLETE][76] ([i915#707] / [i915#796]) -> [PASS][77] [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb7/igt@gem_pipe_control_store_loop@reused-buffer.html [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb5/igt@gem_pipe_control_store_loop@reused-buffer.html * igt@gem_ppgtt@flink-and-close-vma-leak: - shard-glk: [FAIL][78] ([i915#644]) -> [PASS][79] [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-glk4/igt@gem_ppgtt@flink-and-close-vma-leak.html [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-glk7/igt@gem_ppgtt@flink-and-close-vma-leak.html * igt@gem_sync@basic-each: - shard-tglb: [INCOMPLETE][80] ([i915#472] / [i915#707]) -> [PASS][81] +1 similar issue [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb7/igt@gem_sync@basic-each.html [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb4/igt@gem_sync@basic-each.html * igt@i915_pm_rps@min-max-config-loaded: - shard-apl: [FAIL][82] ([i915#39]) -> [PASS][83] [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-apl3/igt@i915_pm_rps@min-max-config-loaded.html [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-apl8/igt@i915_pm_rps@min-max-config-loaded.html * igt@i915_suspend@fence-restore-untiled: - shard-skl: [INCOMPLETE][84] ([i915#69]) -> [PASS][85] [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-skl5/igt@i915_suspend@fence-restore-untiled.html [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-skl4/igt@i915_suspend@fence-restore-untiled.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic: - shard-skl: [FAIL][86] ([IGT#5]) -> [PASS][87] [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-skl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-skl10/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html * igt@kms_flip@flip-vs-suspend-interruptible: - shard-apl: [DMESG-WARN][88] ([i915#180]) -> [PASS][89] [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-apl1/igt@kms_flip@flip-vs-suspend-interruptible.html [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite: - shard-tglb: [FAIL][90] ([i915#49]) -> [PASS][91] +1 similar issue [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc: - shard-skl: [FAIL][92] ([fdo#108145]) -> [PASS][93] [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-skl2/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-skl7/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html * igt@kms_psr@psr2_suspend: - shard-iclb: [SKIP][94] ([fdo#109441]) -> [PASS][95] +2 similar issues [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb8/igt@kms_psr@psr2_suspend.html [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb2/igt@kms_psr@psr2_suspend.html * igt@kms_setmode@basic: - shard-apl: [FAIL][96] ([i915#31]) -> [PASS][97] [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-apl2/igt@kms_setmode@basic.html [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-apl4/igt@kms_setmode@basic.html * igt@kms_vblank@pipe-a-ts-continuation-suspend: - shard-kbl: [DMESG-WARN][98] ([i915#180]) -> [PASS][99] +5 similar issues [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-kbl6/igt@kms_vblank@pipe-a-ts-continuation-suspend.html [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-kbl1/igt@kms_vblank@pipe-a-ts-continuation-suspend.html #### Warnings #### * igt@gem_ctx_isolation@vcs1-nonpriv: - shard-iclb: [SKIP][100] ([fdo#109276] / [fdo#112080]) -> [FAIL][101] ([IGT#28]) [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb5/igt@gem_ctx_isolation@vcs1-nonpriv.html [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb1/igt@gem_ctx_isolation@vcs1-nonpriv.html * igt@gem_ctx_isolation@vcs2-clean: - shard-tglb: [SKIP][102] ([fdo#111912] / [fdo#112080]) -> [SKIP][103] ([fdo#112080]) [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb1/igt@gem_ctx_isolation@vcs2-clean.html [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb9/igt@gem_ctx_isolation@vcs2-clean.html * igt@gem_ctx_isolation@vcs2-s3: - shard-tglb: [SKIP][104] ([fdo#112080]) -> [SKIP][105] ([fdo#111912] / [fdo#112080]) [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-tglb9/igt@gem_ctx_isolation@vcs2-s3.html [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-tglb3/igt@gem_ctx_isolation@vcs2-s3.html * igt@gem_eio@kms: - shard-snb: [DMESG-WARN][106] ([i915#444]) -> [INCOMPLETE][107] ([i915#82]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-snb4/igt@gem_eio@kms.html [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-snb4/igt@gem_eio@kms.html * igt@kms_dp_dsc@basic-dsc-enable-edp: - shard-iclb: [DMESG-WARN][108] ([fdo#107724]) -> [SKIP][109] ([fdo#109349]) [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-iclb1/igt@kms_dp_dsc@basic-dsc-enable-edp.html * igt@runner@aborted: - shard-snb: ([FAIL][110], [FAIL][111]) ([i915#436] / [i915#974]) -> [FAIL][112] ([i915#974]) [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-snb4/igt@runner@aborted.html [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7724/shard-snb4/igt@runner@aborted.html [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/shard-snb2/igt@runner@aborted.html [IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28 [IGT#5]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/5 [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841 [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854 [fdo#111606]: https://bugs.freedesktop.org/show_bug.cgi?id=111606 [fdo#111677]: https://bugs.freedesktop.org/show_bug.cgi?id=111677 [fdo#111735]: https://bugs.freedesktop.org/show_bug.cgi?id=111735 [fdo#111736]: https://bugs.freedesktop.org/show_bug.cgi?id=111736 [fdo#111764]: https://bugs.freedesktop.org/show_bug.cgi?id=111764 [fdo#111912]: https://bugs.freedesktop.org/show_bug.cgi?id=111912 [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080 [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146 [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271 [i915#109]: https://gitlab.freedesktop.org/drm/intel/issues/109 [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31 [i915#39]: https://gitlab.freedesktop.org/drm/intel/issues/39 [i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413 [i915#436]: https://gitlab.freedesktop.org/drm/intel/issues/436 [i915#444]: https://gitlab.freedesktop.org/drm/intel/issues/444 [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454 [i915#463]: https://gitlab.freedesktop.org/drm/intel/issues/463 [i915#469]: https://gitlab.freedesktop.org/drm/intel/issues/469 [i915#470]: https://gitlab.freedesktop.org/drm/intel/issues/470 [i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472 [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49 [i915#520]: https://gitlab.freedesktop.org/drm/intel/issues/520 [i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644 [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677 [i915#679]: https://gitlab.freedesktop.org/drm/intel/issues/679 [i915#69]: https://gitlab.freedesktop.org/drm/intel/issues/69 [i915#707]: https://gitlab.freedesktop.org/drm/intel/issues/707 [i915#796]: https://gitlab.freedesktop.org/drm/intel/issues/796 [i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 [i915#974]: https://gitlab.freedesktop.org/drm/intel/issues/974 Participating hosts (11 -> 10) ------------------------------ Missing (1): pig-hsw-4770r Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7724 -> Patchwork_16066 CI-20190529: 20190529 CI_DRM_7724: da61b67ea3ce7098d2ffda9a7dcdf28b7026e6e8 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5364: b7cb6ffdb65cbd233f5ddee2f2dabf97b34fa640 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_16066: 81f56d025ad16555ab9ae8e2ab0cb6e55cc7e229 @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16066/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] [PATCH 0/2] Add generic i915_ggtt ballooning support @ 2020-08-02 15:34 Michal Wajdeczko 2020-08-02 15:34 ` [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: " Michal Wajdeczko 0 siblings, 1 reply; 6+ messages in thread From: Michal Wajdeczko @ 2020-08-02 15:34 UTC (permalink / raw) To: intel-gfx Rebase forgotten series [1] [1] https://patchwork.freedesktop.org/series/71920/ Michal Wajdeczko (2): drm/i915/ggtt: Add generic i915_ggtt ballooning support drm/i915/vgt: Move VGT GGTT ballooning nodes to i915_ggtt drivers/gpu/drm/i915/gt/intel_ggtt.c | 69 +++++++++++++++++++------ drivers/gpu/drm/i915/gt/intel_gtt.h | 5 ++ drivers/gpu/drm/i915/i915_vgpu.c | 75 +++++----------------------- 3 files changed, 71 insertions(+), 78 deletions(-) -- 2.27.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support 2020-08-02 15:34 [Intel-gfx] [PATCH 0/2] " Michal Wajdeczko @ 2020-08-02 15:34 ` Michal Wajdeczko 2020-08-02 15:56 ` Chris Wilson 0 siblings, 1 reply; 6+ messages in thread From: Michal Wajdeczko @ 2020-08-02 15:34 UTC (permalink / raw) To: intel-gfx; +Cc: Jani Nikula, Chris Wilson Reserving part of the GGTT for the GuC requires same steps as in VGT GGTT ballooning. Add generic GGTT ballooning helpers to intel_ggtt.c to avoid code duplication. Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Xiong Zhang <xiong.y.zhang@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/gt/intel_ggtt.c | 69 ++++++++++++++++++++++------ drivers/gpu/drm/i915/gt/intel_gtt.h | 4 ++ drivers/gpu/drm/i915/i915_vgpu.c | 64 +++++--------------------- 3 files changed, 70 insertions(+), 67 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt.c b/drivers/gpu/drm/i915/gt/intel_ggtt.c index 33a3f627ddb1..7001252b4703 100644 --- a/drivers/gpu/drm/i915/gt/intel_ggtt.c +++ b/drivers/gpu/drm/i915/gt/intel_ggtt.c @@ -462,29 +462,17 @@ static void ggtt_unbind_vma(struct i915_address_space *vm, struct i915_vma *vma) static int ggtt_reserve_guc_top(struct i915_ggtt *ggtt) { - u64 size; - int ret; - if (!intel_uc_uses_guc(&ggtt->vm.gt->uc)) return 0; GEM_BUG_ON(ggtt->vm.total <= GUC_GGTT_TOP); - size = ggtt->vm.total - GUC_GGTT_TOP; - - ret = i915_gem_gtt_reserve(&ggtt->vm, &ggtt->uc_fw, size, - GUC_GGTT_TOP, I915_COLOR_UNEVICTABLE, - PIN_NOEVICT); - if (ret) - drm_dbg(&ggtt->vm.i915->drm, - "Failed to reserve top of GGTT for GuC\n"); - - return ret; + return i915_ggtt_balloon(ggtt, GUC_GGTT_TOP, ggtt->vm.total, + &ggtt->uc_fw); } static void ggtt_release_guc_top(struct i915_ggtt *ggtt) { - if (drm_mm_node_allocated(&ggtt->uc_fw)) - drm_mm_remove_node(&ggtt->uc_fw); + i915_ggtt_deballoon(ggtt, &ggtt->uc_fw); } static void cleanup_init_ggtt(struct i915_ggtt *ggtt) @@ -1464,3 +1452,54 @@ i915_get_ggtt_vma_pages(struct i915_vma *vma) } return ret; } + +/** + * i915_ggtt_balloon - reserve fixed space in an GGTT + * @ggtt: the &struct i915_ggtt + * @start: start offset inside the GGTT, + * must be #I915_GTT_MIN_ALIGNMENT aligned + * @end: end offset inside the GGTT, + * must be #I915_GTT_PAGE_SIZE aligned + * @node: the &struct drm_mm_node + * + * i915_ggtt_balloon() tries to reserve the @node from @start to @end inside + * GGTT the address space. + * + * Returns: 0 on success, -ENOSPC if no suitable hole is found. + */ +int i915_ggtt_balloon(struct i915_ggtt *ggtt, u64 start, u64 end, + struct drm_mm_node *node) +{ + u64 size = end - start; + int err; + + GEM_BUG_ON(start >= end); + drm_dbg(&ggtt->vm.i915->drm, "%sGGTT [%#llx-%#llx] %lluK\n", + "ballooning ", start, end, size / SZ_1K); + + err = i915_gem_gtt_reserve(&ggtt->vm, node, size, start, + I915_COLOR_UNEVICTABLE, PIN_NOEVICT); + if (unlikely(err)) { + drm_err(&ggtt->vm.i915->drm, "%sGGTT [%#llx-%#llx] %lluK\n", + "Failed to balloon ", node->start, + node->start + node->size, node->size / SZ_1K); + return err; + } + + ggtt->vm.reserved += node->size; + return 0; +} + +void i915_ggtt_deballoon(struct i915_ggtt *ggtt, struct drm_mm_node *node) +{ + if (!drm_mm_node_allocated(node)) + return; + + drm_dbg(&ggtt->vm.i915->drm, "%sGGTT [%#llx-%#llx] %lluK\n", + "deballooning ", node->start, node->start + node->size, + node->size / SZ_1K); + + GEM_BUG_ON(ggtt->vm.reserved < node->size); + ggtt->vm.reserved -= node->size; + drm_mm_remove_node(node); +} diff --git a/drivers/gpu/drm/i915/gt/intel_gtt.h b/drivers/gpu/drm/i915/gt/intel_gtt.h index c13c650ced22..111306f2f8d6 100644 --- a/drivers/gpu/drm/i915/gt/intel_gtt.h +++ b/drivers/gpu/drm/i915/gt/intel_gtt.h @@ -495,6 +495,10 @@ static inline bool i915_ggtt_has_aperture(const struct i915_ggtt *ggtt) return ggtt->mappable_end > 0; } +int i915_ggtt_balloon(struct i915_ggtt *ggtt, u64 start, u64 end, + struct drm_mm_node *node); +void i915_ggtt_deballoon(struct i915_ggtt *ggtt, struct drm_mm_node *node); + int i915_ppgtt_init_hw(struct intel_gt *gt); struct i915_ppgtt *i915_ppgtt_create(struct intel_gt *gt); diff --git a/drivers/gpu/drm/i915/i915_vgpu.c b/drivers/gpu/drm/i915/i915_vgpu.c index 70fca72f5162..f505142d6dfc 100644 --- a/drivers/gpu/drm/i915/i915_vgpu.c +++ b/drivers/gpu/drm/i915/i915_vgpu.c @@ -145,23 +145,6 @@ struct _balloon_info_ { static struct _balloon_info_ bl_info; -static void vgt_deballoon_space(struct i915_ggtt *ggtt, - struct drm_mm_node *node) -{ - struct drm_i915_private *dev_priv = ggtt->vm.i915; - if (!drm_mm_node_allocated(node)) - return; - - drm_dbg(&dev_priv->drm, - "deballoon space: range [0x%llx - 0x%llx] %llu KiB.\n", - node->start, - node->start + node->size, - node->size / 1024); - - ggtt->vm.reserved -= node->size; - drm_mm_remove_node(node); -} - /** * intel_vgt_deballoon - deballoon reserved graphics address trunks * @ggtt: the global GGTT from which we reserved earlier @@ -180,30 +163,7 @@ void intel_vgt_deballoon(struct i915_ggtt *ggtt) drm_dbg(&dev_priv->drm, "VGT deballoon.\n"); for (i = 0; i < 4; i++) - vgt_deballoon_space(ggtt, &bl_info.space[i]); -} - -static int vgt_balloon_space(struct i915_ggtt *ggtt, - struct drm_mm_node *node, - unsigned long start, unsigned long end) -{ - struct drm_i915_private *dev_priv = ggtt->vm.i915; - unsigned long size = end - start; - int ret; - - if (start >= end) - return -EINVAL; - - drm_info(&dev_priv->drm, - "balloon space: range [ 0x%lx - 0x%lx ] %lu KiB.\n", - start, end, size / 1024); - ret = i915_gem_gtt_reserve(&ggtt->vm, node, - size, start, I915_COLOR_UNEVICTABLE, - 0); - if (!ret) - ggtt->vm.reserved += size; - - return ret; + i915_ggtt_deballoon(ggtt, &bl_info.space[i]); } /** @@ -292,32 +252,32 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt) /* Unmappable graphic memory ballooning */ if (unmappable_base > ggtt->mappable_end) { - ret = vgt_balloon_space(ggtt, &bl_info.space[2], - ggtt->mappable_end, unmappable_base); + ret = i915_ggtt_balloon(ggtt, ggtt->mappable_end, + unmappable_base, &bl_info.space[2]); if (ret) goto err; } if (unmappable_end < ggtt_end) { - ret = vgt_balloon_space(ggtt, &bl_info.space[3], - unmappable_end, ggtt_end); + ret = i915_ggtt_balloon(ggtt, unmappable_end, ggtt_end, + &bl_info.space[3]); if (ret) goto err_upon_mappable; } /* Mappable graphic memory ballooning */ if (mappable_base) { - ret = vgt_balloon_space(ggtt, &bl_info.space[0], - 0, mappable_base); + ret = i915_ggtt_balloon(ggtt, 0, mappable_base, + &bl_info.space[0]); if (ret) goto err_upon_unmappable; } if (mappable_end < ggtt->mappable_end) { - ret = vgt_balloon_space(ggtt, &bl_info.space[1], - mappable_end, ggtt->mappable_end); + ret = i915_ggtt_balloon(ggtt, mappable_end, ggtt->mappable_end, + &bl_info.space[1]); if (ret) goto err_below_mappable; @@ -327,11 +287,11 @@ int intel_vgt_balloon(struct i915_ggtt *ggtt) return 0; err_below_mappable: - vgt_deballoon_space(ggtt, &bl_info.space[0]); + i915_ggtt_deballoon(ggtt, &bl_info.space[0]); err_upon_unmappable: - vgt_deballoon_space(ggtt, &bl_info.space[3]); + i915_ggtt_deballoon(ggtt, &bl_info.space[3]); err_upon_mappable: - vgt_deballoon_space(ggtt, &bl_info.space[2]); + i915_ggtt_deballoon(ggtt, &bl_info.space[2]); err: drm_err(&dev_priv->drm, "VGT balloon fail\n"); return ret; -- 2.27.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support 2020-08-02 15:34 ` [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: " Michal Wajdeczko @ 2020-08-02 15:56 ` Chris Wilson 0 siblings, 0 replies; 6+ messages in thread From: Chris Wilson @ 2020-08-02 15:56 UTC (permalink / raw) To: Michal Wajdeczko, intel-gfx; +Cc: Jani Nikula Quoting Michal Wajdeczko (2020-08-02 16:34:09) > Reserving part of the GGTT for the GuC requires same steps > as in VGT GGTT ballooning. Add generic GGTT ballooning > helpers to intel_ggtt.c to avoid code duplication. > > Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> > Cc: Xiong Zhang <xiong.y.zhang@intel.com> > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Jani Nikula <jani.nikula@intel.com> > --- > drivers/gpu/drm/i915/gt/intel_ggtt.c | 69 ++++++++++++++++++++++------ > drivers/gpu/drm/i915/gt/intel_gtt.h | 4 ++ > drivers/gpu/drm/i915/i915_vgpu.c | 64 +++++--------------------- > 3 files changed, 70 insertions(+), 67 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt.c b/drivers/gpu/drm/i915/gt/intel_ggtt.c > index 33a3f627ddb1..7001252b4703 100644 > --- a/drivers/gpu/drm/i915/gt/intel_ggtt.c > +++ b/drivers/gpu/drm/i915/gt/intel_ggtt.c > @@ -462,29 +462,17 @@ static void ggtt_unbind_vma(struct i915_address_space *vm, struct i915_vma *vma) > > static int ggtt_reserve_guc_top(struct i915_ggtt *ggtt) > { > - u64 size; > - int ret; > - > if (!intel_uc_uses_guc(&ggtt->vm.gt->uc)) > return 0; > > GEM_BUG_ON(ggtt->vm.total <= GUC_GGTT_TOP); > - size = ggtt->vm.total - GUC_GGTT_TOP; > - > - ret = i915_gem_gtt_reserve(&ggtt->vm, &ggtt->uc_fw, size, > - GUC_GGTT_TOP, I915_COLOR_UNEVICTABLE, > - PIN_NOEVICT); > - if (ret) > - drm_dbg(&ggtt->vm.i915->drm, > - "Failed to reserve top of GGTT for GuC\n"); > - > - return ret; > + return i915_ggtt_balloon(ggtt, GUC_GGTT_TOP, ggtt->vm.total, > + &ggtt->uc_fw); I still don't buy this, this is definitely not "ballooning". And I'm yet to be convinced that ballooning is a central concept to the i915_ggtt itself and not a client coordination facility on top. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-08-02 15:56 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-01-11 17:36 [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support Michal Wajdeczko 2020-01-11 17:36 ` [Intel-gfx] [PATCH 2/2] drm/i915/vgt: Move VGT GGTT ballooning nodes to i915_ggtt Michal Wajdeczko 2020-01-11 18:41 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/ggtt: Add generic i915_ggtt ballooning support Patchwork 2020-01-15 2:51 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 2020-08-02 15:34 [Intel-gfx] [PATCH 0/2] " Michal Wajdeczko 2020-08-02 15:34 ` [Intel-gfx] [PATCH 1/2] drm/i915/ggtt: " Michal Wajdeczko 2020-08-02 15:56 ` Chris Wilson
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.