* [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support
@ 2023-12-01 12:49 Jeevan B
2023-12-01 12:49 ` [igt-dev] [PATCH i-g-t 1/4] tests/intel/kms_psr: fix documentation Jeevan B
` (7 more replies)
0 siblings, 8 replies; 16+ messages in thread
From: Jeevan B @ 2023-12-01 12:49 UTC (permalink / raw)
To: igt-dev
fix kms_psr documentation, subtest naming and add fbc support/test
for kms_psr, kms_psr2_sf.
v2: rebase
Signed-off-by: Jeevan B <jeevan.b@intel.com>
Jeevan B (3):
tests/intel/kms_psr: fix subtest naming
tests/intel/kms_psr: Add FBC support to PSR/PSR2/PR tests
tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests
Swati Sharma (1):
tests/intel/kms_psr: fix documentation
lib/igt_psr.h | 5 +
tests/intel/kms_psr.c | 569 ++++++++++++++++++----------------
tests/intel/kms_psr2_sf.c | 623 +++++++++++++++++++++-----------------
3 files changed, 662 insertions(+), 535 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 16+ messages in thread* [igt-dev] [PATCH i-g-t 1/4] tests/intel/kms_psr: fix documentation 2023-12-01 12:49 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B @ 2023-12-01 12:49 ` Jeevan B 2023-12-01 12:49 ` [igt-dev] [PATCH i-g-t 2/4] tests/intel/kms_psr: fix subtest naming Jeevan B ` (6 subsequent siblings) 7 siblings, 0 replies; 16+ messages in thread From: Jeevan B @ 2023-12-01 12:49 UTC (permalink / raw) To: igt-dev From: Swati Sharma <swati2.sharma@intel.com> Optimize documentation and update mega features accordingly. Signed-off-by: Swati Sharma <swati2.sharma@intel.com> Reviewed-by: Jeevan B <jeevan.b@intel.com> --- tests/intel/kms_psr.c | 215 +++++++++++++++--------------------------- 1 file changed, 74 insertions(+), 141 deletions(-) diff --git a/tests/intel/kms_psr.c b/tests/intel/kms_psr.c index 05bdd7b98..31d6f779c 100644 --- a/tests/intel/kms_psr.c +++ b/tests/intel/kms_psr.c @@ -43,143 +43,93 @@ #include "xe/xe_query.h" /** - * SUBTEST: psr_basic - * Description: Basic check for psr if it is detecting changes made in planes - * Functionality: psr1 + * SUBTEST: %s_basic + * Description: Basic check for %arg[1] if it is detecting changes made in planes + * Functionality: %arg[1] * - * SUBTEST: psr_%s_%s - * Description: Check if psr is detecting memory mapping, rendering and plane - * operations performed on %arg[1] - * Driver requirement: i915 - * Functionality: kms_core, plane, psr1 - * - * arg[1]: - * - * @cursor: Cursor plane - * @primary: Primary plane - * @sprite: Sprite plane - * - * arg[2]: + * SUBTEST: %s_dpms + * Description: Check if %arg[1] is detecting changes when rendering operation + * is performed with dpms enabled or disabled + * Functionality: %arg[1], dpms * - * @mmap_cpu: MMAP CPU - * @mmap_gtt: MMAP GTT - */ - -/** - * SUBTEST: psr_sprite_plane_move - * Description: Check if psr is detecting memory mapping, rendering and plane - * operations performed on sprite planes - * Functionality: plane, psr1 + * SUBTEST: %s_no_drrs + * Description: Check if %arg[1] is detecting changes when drrs is disabled + * Functionality: %arg[1], drrs * - * SUBTEST: psr_%s_%s - * Description: Check if psr is detecting memory mapping, rendering and plane - * operations performed on %arg[1] planes - * Functionality: kms_core, plane, psr1 + * SUBTEST: %s_suspend + * Description: Check if %arg[1] is detecting changes when plane operation is + * performed with suspend resume cycles + * Functionality: %arg[1], suspend * * arg[1]: * - * @cursor: Cursor plane - * @sprite: Sprite plane - * - * arg[2]: - * - * @blt: Blitter - * @render: Render - * @plane_onoff: Plane On off + * @psr: psr1 + * @psr2: psr2 */ /** - * SUBTEST: psr_primary_%s - * Description: Check if psr is detecting memory mapping, rendering and plane - * operations performed on %arg[1] planes - * Functionality: kms_core, psr1 + * SUBTEST: %s_%s_%s + * Description: Check if %arg[1] is detecting memory mapping %arg[3] operations + * performed on %arg[2] planes + * Driver requirement: i915 + * Functionality: %arg[1], plane * * arg[1]: * - * @blt: Blitter - * @render: Render - */ - -/** - * SUBTEST: psr_dpms - * Description: Check if psr is detecting changes when rendering operation is - * performed with dpms enabled or disabled - * Functionality: dpms, psr1 - * - * SUBTEST: psr_no_drrs - * Description: Check if psr is detecting changes when drrs is disabled - * Functionality: drrs, psr1 - * - * SUBTEST: psr_suspend - * Description: Check if psr is detecting changes when plane operation - * is performed with suspend resume cycles - * Functionality: psr1, suspend - * - * SUBTEST: psr2_dpms - * Description: Check if psr is detecting changes when rendering operation - * is performed with dpms enabled or disabled - * Functionality: dpms, psr2 - * - * SUBTEST: psr2_no_drrs - * Description: Check if psr is detecting changes when drrs is disabled - * Functionality: drrs, psr2 - * - * SUBTEST: psr2_suspend - * Description: Check if psr is detecting changes when plane operation is - * performed with suspend resume cycles - * Functionality: psr2, suspend - * - * SUBTEST: psr2_basic - * Description: Basic check for psr if it is detecting changes made in planes - * Functionality: psr2 + * @psr: psr1 + * @psr2: psr2 * - * SUBTEST: psr2_%s_%s - * Description: Check if psr2 is detecting memory mapping, rendering and plane - * operations performed on %arg[1] planes - * Driver requirement: i915 - * Functionality: kms_core, plane, psr2 - * - * arg[1]: + * arg[2]: * * @cursor: Cursor plane * @primary: Primary plane * @sprite: Sprite plane * - * arg[2]: + * arg[3]: * * @mmap_cpu: MMAP CPU * @mmap_gtt: MMAP GTT */ /** - * SUBTEST: psr2_primary_page_flip - * Description: Check if psr is detecting memory mapping, rendering and plane - * operations performed on primary planes - * Functionality: plane, psr2 + * SUBTEST: %s_primary_page_flip + * Description: Check if %arg[1] is detecting page-flipping operation + * performed on primary plane + * Functionality: %arg[1], plane * - * SUBTEST: psr2_primary_%s - * Description: Check if psr is detecting memory mapping, rendering and plane - * operations performed on primary planes - * Functionality: kms_core, plane, psr2 + * SUBTEST: %s_primary_%s + * Description: Check if %arg[1] is detecting rendering operations %arg[2] + * when performed on primary plane + * Functionality: %arg[1], plane * * arg[1]: * + * @psr: psr1 + * @psr2: psr2 + * + * arg[2]: + * * @blt: Blitter * @render: Render */ /** - * SUBTEST: psr2_%s_%s - * Description: Check if psr is detecting memory mapping, rendering and plane - * operations performed on %arg[1] planes - * Functionality: kms_core, plane, psr2 + * SUBTEST: %s_%s_%s + * Description: Check if %arg[1] is detecting rendering and plane + * operations %arg[3] performed on %arg[2] planes + * Functionality: %arg[1], plane * * arg[1]: * + * @psr: psr1 + * @psr2: psr2 + * + * arg[2]: + * * @cursor: Cursor plane * @sprite: Sprite plane * - * arg[2]: + * arg[3]: * * @blt: Blitter * @render: Render @@ -188,36 +138,36 @@ */ /** + * SUBTEST: pr_basic + * Description: Basic check for pr if it is detecting changes made in planes + * Functionality: pr + * Mega feature: DP2.0 + * * SUBTEST: pr_dpms * Description: Check if pr is detecting changes when rendering operation * is performed with dpms enabled or disabled - * Functionality: dpms, pr - * Mega feature: Panel Replay + * Functionality: pr, dpms + * Mega feature: DP2.0 * * SUBTEST: pr_no_drrs * Description: Check if pr is detecting changes when drrs is disabled - * Functionality: drrs, pr - * Mega feature: Panel Replay + * Functionality: pr, drrs + * Mega feature: DP2.0 * * SUBTEST: pr_suspend * Description: Check if pr is detecting changes when plane operation is * performed with suspend resume cycles * Functionality: pr, suspend - * Mega feature: Panel Replay - * - * SUBTEST: pr_basic - * Description: Basic check for pr if it is detecting changes made in planes - * Functionality: pr - * Mega feature: Panel Replay + * Mega feature: DP2.0 */ /** * SUBTEST: pr_%s_%s - * Description: Check if pr is detecting memory mapping, rendering and plane - * operations performed on %arg[1] planes + * Description: Check if pr is detecting memory mapping %arg[2] operations + * performed on %arg[1] planes * Driver requirement: i915 - * Functionality: kms_core, plane, pr - * Mega feature: Panel Replay + * Functionality: pr, plane + * Mega feature: DP2.0 * * arg[1]: * @@ -233,16 +183,16 @@ /** * SUBTEST: pr_primary_page_flip - * Description: Check if pr is detecting memory mapping, rendering and plane - * operations performed on primary planes - * Functionality: plane, pr - * Mega feature: Panel Replay + * Description: Check if pr is detecting page-flipping operation + * performed on primary plane + * Functionality: pr, plane + * Mega feature: DP2.0 * * SUBTEST: pr_primary_%s - * Description: Check if pr is detecting memory mapping, rendering and plane - * operations performed on primary planes - * Functionality: kms_core, plane, pr - * Mega feature: Panel Replay + * Description: Check if pr is detecting rendering operations %arg[1] + * when performed on primary plane + * Functionality: pr, plane + * Mega feature: DP2.0 * * arg[1]: * @@ -252,10 +202,10 @@ /** * SUBTEST: pr_%s_%s - * Description: Check if pr is detecting memory mapping, rendering and plane - * operations performed on %arg[1] planes - * Functionality: kms_core, plane, pr - * Mega feature: Panel Replay + * Description: Check if pr is detecting rendering and plane + * operations %arg[2] performed on %arg[1] planes + * Functionality: pr, plane + * Mega feature: DP2.0 * * arg[1]: * @@ -270,23 +220,6 @@ * @plane_move: Move plane position */ -/** - * SUBTEST: psr_cursor_plane_move - * Description: Check if psr is detecting the plane operations performed on - * cursor planes - * Functionality: psr1 - * - * SUBTEST: psr_primary_page_flip - * Description: Check if psr is detecting page-flipping operations performed - * on primary planes - * Functionality: psr1 - * - * SUBTEST: psr_sprite_plane_onoff - * Description: Check if psr is detecting the plane operations performed on - * sprite planes - * Functionality: psr1 - */ - enum operations { PAGE_FLIP, MMAP_GTT, -- 2.25.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t 2/4] tests/intel/kms_psr: fix subtest naming 2023-12-01 12:49 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B 2023-12-01 12:49 ` [igt-dev] [PATCH i-g-t 1/4] tests/intel/kms_psr: fix documentation Jeevan B @ 2023-12-01 12:49 ` Jeevan B 2023-12-01 12:49 ` [igt-dev] [PATCH i-g-t 3/4] tests/intel/kms_psr: Add FBC support to PSR/PSR2/PR tests Jeevan B ` (5 subsequent siblings) 7 siblings, 0 replies; 16+ messages in thread From: Jeevan B @ 2023-12-01 12:49 UTC (permalink / raw) To: igt-dev update subtest naming from sub_test to sub-test. Signed-off-by: Jeevan B <jeevan.b@intel.com> Reviewed-by: Swati Sharma <swati2.sharma@intel.com> --- tests/intel/kms_psr.c | 72 +++++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/tests/intel/kms_psr.c b/tests/intel/kms_psr.c index 31d6f779c..aea8b0b3f 100644 --- a/tests/intel/kms_psr.c +++ b/tests/intel/kms_psr.c @@ -43,20 +43,20 @@ #include "xe/xe_query.h" /** - * SUBTEST: %s_basic + * SUBTEST: %s-basic * Description: Basic check for %arg[1] if it is detecting changes made in planes * Functionality: %arg[1] * - * SUBTEST: %s_dpms + * SUBTEST: %s-dpms * Description: Check if %arg[1] is detecting changes when rendering operation * is performed with dpms enabled or disabled * Functionality: %arg[1], dpms * - * SUBTEST: %s_no_drrs + * SUBTEST: %s-no-drrs * Description: Check if %arg[1] is detecting changes when drrs is disabled * Functionality: %arg[1], drrs * - * SUBTEST: %s_suspend + * SUBTEST: %s-suspend * Description: Check if %arg[1] is detecting changes when plane operation is * performed with suspend resume cycles * Functionality: %arg[1], suspend @@ -68,7 +68,7 @@ */ /** - * SUBTEST: %s_%s_%s + * SUBTEST: %s-%s-%s * Description: Check if %arg[1] is detecting memory mapping %arg[3] operations * performed on %arg[2] planes * Driver requirement: i915 @@ -87,17 +87,17 @@ * * arg[3]: * - * @mmap_cpu: MMAP CPU - * @mmap_gtt: MMAP GTT + * @mmap-cpu: MMAP CPU + * @mmap-gtt: MMAP GTT */ /** - * SUBTEST: %s_primary_page_flip + * SUBTEST: %s-primary-page-flip * Description: Check if %arg[1] is detecting page-flipping operation * performed on primary plane * Functionality: %arg[1], plane * - * SUBTEST: %s_primary_%s + * SUBTEST: %s-primary-%s * Description: Check if %arg[1] is detecting rendering operations %arg[2] * when performed on primary plane * Functionality: %arg[1], plane @@ -114,7 +114,7 @@ */ /** - * SUBTEST: %s_%s_%s + * SUBTEST: %s-%s-%s * Description: Check if %arg[1] is detecting rendering and plane * operations %arg[3] performed on %arg[2] planes * Functionality: %arg[1], plane @@ -133,28 +133,28 @@ * * @blt: Blitter * @render: Render - * @plane_onoff: Plane On off - * @plane_move: Move plane position + * @plane-onoff: Plane On off + * @plane-move: Move plane position */ /** - * SUBTEST: pr_basic + * SUBTEST: pr-basic * Description: Basic check for pr if it is detecting changes made in planes * Functionality: pr * Mega feature: DP2.0 * - * SUBTEST: pr_dpms + * SUBTEST: pr-dpms * Description: Check if pr is detecting changes when rendering operation * is performed with dpms enabled or disabled * Functionality: pr, dpms * Mega feature: DP2.0 * - * SUBTEST: pr_no_drrs + * SUBTEST: pr-no-drrs * Description: Check if pr is detecting changes when drrs is disabled * Functionality: pr, drrs * Mega feature: DP2.0 * - * SUBTEST: pr_suspend + * SUBTEST: pr-suspend * Description: Check if pr is detecting changes when plane operation is * performed with suspend resume cycles * Functionality: pr, suspend @@ -162,7 +162,7 @@ */ /** - * SUBTEST: pr_%s_%s + * SUBTEST: pr-%s-%s * Description: Check if pr is detecting memory mapping %arg[2] operations * performed on %arg[1] planes * Driver requirement: i915 @@ -177,18 +177,18 @@ * * arg[2]: * - * @mmap_cpu: MMAP CPU - * @mmap_gtt: MMAP GTT + * @mmap-cpu: MMAP CPU + * @mmap-gtt: MMAP GTT */ /** - * SUBTEST: pr_primary_page_flip + * SUBTEST: pr-primary-page-flip * Description: Check if pr is detecting page-flipping operation * performed on primary plane * Functionality: pr, plane * Mega feature: DP2.0 * - * SUBTEST: pr_primary_%s + * SUBTEST: pr-primary-%s * Description: Check if pr is detecting rendering operations %arg[1] * when performed on primary plane * Functionality: pr, plane @@ -201,7 +201,7 @@ */ /** - * SUBTEST: pr_%s_%s + * SUBTEST: pr-%s-%s * Description: Check if pr is detecting rendering and plane * operations %arg[2] performed on %arg[1] planes * Functionality: pr, plane @@ -216,8 +216,8 @@ * * @blt: Blitter * @render: Render - * @plane_onoff: Plane On off - * @plane_move: Move plane position + * @plane-onoff: Plane On off + * @plane-move: Move plane position */ enum operations { @@ -233,13 +233,13 @@ enum operations { static const char *op_str(enum operations op) { static const char * const name[] = { - [PAGE_FLIP] = "page_flip", - [MMAP_GTT] = "mmap_gtt", - [MMAP_CPU] = "mmap_cpu", + [PAGE_FLIP] = "page-flip", + [MMAP_GTT] = "mmap-gtt", + [MMAP_CPU] = "mmap-cpu", [BLT] = "blt", [RENDER] = "render", - [PLANE_MOVE] = "plane_move", - [PLANE_ONOFF] = "plane_onoff", + [PLANE_MOVE] = "plane-move", + [PLANE_ONOFF] = "plane-onoff", }; return name[op]; @@ -682,9 +682,9 @@ igt_main int z; enum operations op; const char *append_subtest_name[3] = { - "psr_", - "psr2_", - "pr_" + "psr-", + "psr2-", + "pr-" }; int modes[] = {PSR_MODE_1, PSR_MODE_2, PR_MODE}; igt_output_t *output; @@ -719,7 +719,7 @@ igt_main } igt_describe("Check if psr is detecting changes when drrs is disabled"); - igt_subtest_with_dynamic_f("%sno_drrs", append_subtest_name[z]) { + igt_subtest_with_dynamic_f("%sno-drrs", append_subtest_name[z]) { for_each_connected_output(&data.display, output) { if (!psr_sink_support(data.drm_fd, data.debugfs_fd, data.op_psr_mode, output)) @@ -738,7 +738,7 @@ igt_main for (op = PAGE_FLIP; op <= RENDER; op++) { igt_describe("Check if psr is detecting page-flipping,memory mapping and " "rendering operations performed on primary planes"); - igt_subtest_with_dynamic_f("%sprimary_%s", + igt_subtest_with_dynamic_f("%sprimary-%s", append_subtest_name[z], op_str(op)) { igt_skip_on(is_xe_device(data.drm_fd) && @@ -763,7 +763,7 @@ igt_main for (op = MMAP_GTT; op <= PLANE_ONOFF; op++) { igt_describe("Check if psr is detecting memory mapping,rendering " "and plane operations performed on sprite planes"); - igt_subtest_with_dynamic_f("%ssprite_%s", + igt_subtest_with_dynamic_f("%ssprite-%s", append_subtest_name[z], op_str(op)) { igt_skip_on(is_xe_device(data.drm_fd) && @@ -786,7 +786,7 @@ igt_main igt_describe("Check if psr is detecting memory mapping, rendering " "and plane operations performed on cursor planes"); - igt_subtest_with_dynamic_f("%scursor_%s", + igt_subtest_with_dynamic_f("%scursor-%s", append_subtest_name[z], op_str(op)) { igt_skip_on(is_xe_device(data.drm_fd) && -- 2.25.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t 3/4] tests/intel/kms_psr: Add FBC support to PSR/PSR2/PR tests 2023-12-01 12:49 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B 2023-12-01 12:49 ` [igt-dev] [PATCH i-g-t 1/4] tests/intel/kms_psr: fix documentation Jeevan B 2023-12-01 12:49 ` [igt-dev] [PATCH i-g-t 2/4] tests/intel/kms_psr: fix subtest naming Jeevan B @ 2023-12-01 12:49 ` Jeevan B 2023-12-01 12:49 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B ` (4 subsequent siblings) 7 siblings, 0 replies; 16+ messages in thread From: Jeevan B @ 2023-12-01 12:49 UTC (permalink / raw) To: igt-dev For LunarLake (intel_display_ver 20), FBC can be enabled along with PSR/PSR2/PR, thereby adding FBC checks to validate this scenario. Signed-off-by: Jeevan B <jeevan.b@intel.com> Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com> --- lib/igt_psr.h | 5 + tests/intel/kms_psr.c | 318 ++++++++++++++++++++++++++++-------------- 2 files changed, 219 insertions(+), 104 deletions(-) diff --git a/lib/igt_psr.h b/lib/igt_psr.h index a30330e6c..36711c0d4 100644 --- a/lib/igt_psr.h +++ b/lib/igt_psr.h @@ -40,6 +40,11 @@ enum psr_mode { PSR_DISABLED, }; +enum fbc_mode { + FBC_DISABLED, + FBC_ENABLED, +}; + bool psr_disabled_check(int debugfs_fd); bool psr2_selective_fetch_check(int debugfs_fd); bool psr_wait_entry(int debugfs_fd, enum psr_mode mode, igt_output_t *output); diff --git a/tests/intel/kms_psr.c b/tests/intel/kms_psr.c index aea8b0b3f..fa5333f9a 100644 --- a/tests/intel/kms_psr.c +++ b/tests/intel/kms_psr.c @@ -31,6 +31,7 @@ * Test category: functionality test */ +#include "i915/intel_fbc.h" #include "igt.h" #include "igt_sysfs.h" #include "igt_psr.h" @@ -47,24 +48,42 @@ * Description: Basic check for %arg[1] if it is detecting changes made in planes * Functionality: %arg[1] * + * SUBTEST: fbc-%s-basic + * Description: Basic check for fbc with %arg[1] if it is detecting changes made in planes + * Functionality: %arg[1], fbc + * * SUBTEST: %s-dpms * Description: Check if %arg[1] is detecting changes when rendering operation * is performed with dpms enabled or disabled * Functionality: %arg[1], dpms * + * SUBTEST: fbc-%s-dpms + * Description: Check if fbc with %arg[1] is detecting changes when rendering operation + * is performed with dpms enabled or disabled + * Functionality: %arg[1], dpms, fbc + * * SUBTEST: %s-no-drrs * Description: Check if %arg[1] is detecting changes when drrs is disabled * Functionality: %arg[1], drrs * + * SUBTEST: fbc-%s-no-drrs + * Description: Check if fbc with %arg[1] is detecting changes when drrs is disabled + * Functionality: %arg[1], drrs, fbc + * * SUBTEST: %s-suspend * Description: Check if %arg[1] is detecting changes when plane operation is * performed with suspend resume cycles * Functionality: %arg[1], suspend * + * SUBTEST: fbc-%s-suspend + * Description: Check if fbc with %arg[1] is detecting changes when plane operation is + * performed with suspend resume cycles + * Functionality: %arg[1], suspend, fbc + * * arg[1]: * - * @psr: psr1 - * @psr2: psr2 + * @psr: psr1 + * @psr2: psr2 */ /** @@ -74,6 +93,12 @@ * Driver requirement: i915 * Functionality: %arg[1], plane * + * SUBTEST: fbc-%s-%s-%s + * Description: Check if fbc with %arg[1] is detecting memory mapping %arg[3] operations + * performed on %arg[2] planes + * Driver requirement: i915 + * Functionality: %arg[1], plane, fbc + * * arg[1]: * * @psr: psr1 @@ -97,11 +122,21 @@ * performed on primary plane * Functionality: %arg[1], plane * + * SUBTEST: fbc-%s-primary-page-flip + * Description: Check if fbc with %arg[1] is detecting page-flipping operation + * performed on primary plane + * Functionality: %arg[1], plane, fbc + * * SUBTEST: %s-primary-%s * Description: Check if %arg[1] is detecting rendering operations %arg[2] * when performed on primary plane * Functionality: %arg[1], plane * + * SUBTEST: fbc-%s-primary-%s + * Description: Check if %arg[1] is detecting rendering operations %arg[2] + * when performed on primary plane + * Functionality: %arg[1], plane, fbc + * * arg[1]: * * @psr: psr1 @@ -119,6 +154,11 @@ * operations %arg[3] performed on %arg[2] planes * Functionality: %arg[1], plane * + * SUBTEST: fbc-%s-%s-%s + * Description: Check if fbc with %arg[1] is detecting rendering and plane + * operations %arg[3] performed on %arg[2] planes + * Functionality: %arg[1], plane, fbc + * * arg[1]: * * @psr: psr1 @@ -143,22 +183,44 @@ * Functionality: pr * Mega feature: DP2.0 * + * SUBTEST: fbc-pr-basic + * Description: Basic check for fbc with pr if it is detecting changes made in planes + * Functionality: pr, fbc + * Mega feature: DP2.0 + * * SUBTEST: pr-dpms * Description: Check if pr is detecting changes when rendering operation * is performed with dpms enabled or disabled * Functionality: pr, dpms * Mega feature: DP2.0 * + * SUBTEST: fbc-pr-dpms + * Description: Check if fbc with pr is detecting changes when rendering operation + * is performed with dpms enabled or disabled + * Functionality: pr, dpms, fbc + * Mega feature: DP2.0 + * * SUBTEST: pr-no-drrs * Description: Check if pr is detecting changes when drrs is disabled * Functionality: pr, drrs * Mega feature: DP2.0 * + * SUBTEST: fbc-pr-no-drrs + * Description: Check if fbc with pr is detecting changes when drrs is disabled + * Functionality: pr, drrs, fbc + * Mega feature: DP2.0 + * * SUBTEST: pr-suspend * Description: Check if pr is detecting changes when plane operation is * performed with suspend resume cycles * Functionality: pr, suspend * Mega feature: DP2.0 + * + * SUBTEST: fbc-pr-suspend + * Description: Check if fbc with pr is detecting changes when plane operation is + * performed with suspend resume cycles + * Functionality: pr, suspend, fbc + * Mega feature: DP2.0 */ /** @@ -169,6 +231,13 @@ * Functionality: pr, plane * Mega feature: DP2.0 * + * SUBTEST: fbc-pr-%s-%s + * Description: Check if fbc with pr is detecting memory mapping %arg[2] operations + * performed on %arg[1] planes + * Driver requirement: i915 + * Functionality: pr, plane, fbc + * Mega feature: DP2.0 + * * arg[1]: * * @cursor: Cursor plane @@ -188,12 +257,24 @@ * Functionality: pr, plane * Mega feature: DP2.0 * + * SUBTEST: fbc-pr-primary-page-flip + * Description: Check if fbc with pr is detecting page-flipping operation + * performed on primary plane + * Functionality: pr, plane, fbc + * Mega feature: DP2.0 + * * SUBTEST: pr-primary-%s * Description: Check if pr is detecting rendering operations %arg[1] * when performed on primary plane * Functionality: pr, plane * Mega feature: DP2.0 * + * SUBTEST: fbc-pr-primary-%s + * Description: Check if fbc with pr is detecting rendering operations %arg[1] + * when performed on primary plane + * Functionality: pr, plane, fbc + * Mega feature: DP2.0 + * * arg[1]: * * @blt: Blitter @@ -207,6 +288,12 @@ * Functionality: pr, plane * Mega feature: DP2.0 * + * SUBTEST: fbc-pr-%s-%s + * Description: Check if fbc with pr is detecting rendering and plane + * operations %arg[2] performed on %arg[1] planes + * Functionality: pr, plane, fbc + * Mega feature: DP2.0 + * * arg[1]: * * @cursor: Cursor plane @@ -251,6 +338,7 @@ typedef struct { enum operations op; int test_plane_id; enum psr_mode op_psr_mode; + enum fbc_mode op_fbc_mode; uint32_t devid; uint32_t crtc_id; igt_display_t display; @@ -261,6 +349,7 @@ typedef struct { int mod_stride; drmModeModeInfo *mode; igt_output_t *output; + bool fbc_flag; } data_t; static void create_cursor_fb(data_t *data) @@ -659,6 +748,10 @@ static void test_setup(data_t *data) psr_enable_if_enabled(data); setup_test_plane(data, data->test_plane_id); if (psr_wait_entry_if_enabled(data)) { + if (data->fbc_flag == true && data->op_fbc_mode == FBC_ENABLED) + igt_assert_f(intel_fbc_wait_until_enabled(data->drm_fd, + pipe), + "FBC still disabled"); psr_entered = true; break; } @@ -679,14 +772,20 @@ data_t data = {}; igt_main { - int z; + int z, y; enum operations op; + enum pipe pipe; const char *append_subtest_name[3] = { "psr-", "psr2-", "pr-" }; + const char *append_fbc_subtest[2] = { + "", + "fbc-" + }; int modes[] = {PSR_MODE_1, PSR_MODE_2, PR_MODE}; + int fbc_status[] = {FBC_DISABLED, FBC_ENABLED}; igt_output_t *output; igt_fixture { @@ -697,52 +796,38 @@ igt_main data.bops = buf_ops_create(data.drm_fd); igt_display_require(&data.display, data.drm_fd); igt_require_f(output_supports_psr(&data), "Sink does not support PSR/PSR2/PR\n"); + if ((intel_display_ver(intel_get_drm_devid(data.drm_fd) == 20)) && + (intel_fbc_supported_on_chipset(data.drm_fd, pipe))) { + data.fbc_flag = true; + } } - for (z = 0; z < ARRAY_SIZE(modes); z++) { - data.op_psr_mode = modes[z]; - - igt_describe("Basic check for psr if it is detecting changes made in planes"); - igt_subtest_with_dynamic_f("%sbasic", append_subtest_name[z]) { - for_each_connected_output(&data.display, output) { - if (!psr_sink_support(data.drm_fd, data.debugfs_fd, - data.op_psr_mode, output)) - continue; - igt_display_reset(&data.display); - data.output = output; - igt_dynamic_f("%s", data.output->name) { - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - test_setup(&data); - test_cleanup(&data); - } - } - } + for (y = 0; y < ARRAY_SIZE(fbc_status); y++) { + data.op_fbc_mode = fbc_status[y]; + for (z = 0; z < ARRAY_SIZE(modes); z++) { + data.op_psr_mode = modes[z]; - igt_describe("Check if psr is detecting changes when drrs is disabled"); - igt_subtest_with_dynamic_f("%sno-drrs", append_subtest_name[z]) { - for_each_connected_output(&data.display, output) { - if (!psr_sink_support(data.drm_fd, data.debugfs_fd, - data.op_psr_mode, output)) - continue; - igt_display_reset(&data.display); - data.output = output; - igt_dynamic_f("%s", data.output->name) { - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - test_setup(&data); - igt_assert(drrs_disabled(&data)); - test_cleanup(&data); + igt_describe("Basic check for psr if it is detecting changes made " + "in planes"); + igt_subtest_with_dynamic_f("%s%sbasic", append_fbc_subtest[y], + append_subtest_name[z]) { + for_each_connected_output(&data.display, output) { + if (!psr_sink_support(data.drm_fd, data.debugfs_fd, + data.op_psr_mode, output)) + continue; + igt_display_reset(&data.display); + data.output = output; + igt_dynamic_f("%s", data.output->name) { + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + test_setup(&data); + test_cleanup(&data); + } } } - } - for (op = PAGE_FLIP; op <= RENDER; op++) { - igt_describe("Check if psr is detecting page-flipping,memory mapping and " - "rendering operations performed on primary planes"); - igt_subtest_with_dynamic_f("%sprimary-%s", - append_subtest_name[z], - op_str(op)) { - igt_skip_on(is_xe_device(data.drm_fd) && - (op == MMAP_CPU || op == MMAP_GTT)); + igt_describe("Check if psr is detecting changes when drrs is disabled"); + igt_subtest_with_dynamic_f("%s%sno-drrs", append_fbc_subtest[y], + append_subtest_name[z]) { for_each_connected_output(&data.display, output) { if (!psr_sink_support(data.drm_fd, data.debugfs_fd, data.op_psr_mode, output)) @@ -750,24 +835,88 @@ igt_main igt_display_reset(&data.display); data.output = output; igt_dynamic_f("%s", data.output->name) { - data.op = op; data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; test_setup(&data); - run_test(&data); + igt_assert(drrs_disabled(&data)); test_cleanup(&data); } } } + + for (op = PAGE_FLIP; op <= RENDER; op++) { + igt_describe("Check if psr is detecting page-flipping,memory " + "mapping and rendering operations performed on " + "primary planes"); + igt_subtest_with_dynamic_f("%s%sprimary-%s", append_fbc_subtest[y], + append_subtest_name[z], op_str(op)) { + igt_skip_on(is_xe_device(data.drm_fd) && + (op == MMAP_CPU || op == MMAP_GTT)); + for_each_connected_output(&data.display, output) { + if (!psr_sink_support(data.drm_fd, data.debugfs_fd, + data.op_psr_mode, output)) + continue; + igt_display_reset(&data.display); + data.output = output; + igt_dynamic_f("%s", data.output->name) { + data.op = op; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + test_setup(&data); + run_test(&data); + test_cleanup(&data); + } + } + } + } + + for (op = MMAP_GTT; op <= PLANE_ONOFF; op++) { + igt_describe("Check if psr is detecting memory mapping,rendering " + "and plane operations performed on sprite planes"); + igt_subtest_with_dynamic_f("%s%ssprite-%s", append_fbc_subtest[y], + append_subtest_name[z], op_str(op)) { + igt_skip_on(is_xe_device(data.drm_fd) && + (op == MMAP_CPU || op == MMAP_GTT)); + for_each_connected_output(&data.display, output) { + if (!psr_sink_support(data.drm_fd, data.debugfs_fd, + data.op_psr_mode, output)) + continue; + igt_display_reset(&data.display); + data.output = output; + igt_dynamic_f("%s", data.output->name) { + data.op = op; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + test_setup(&data); + run_test(&data); + test_cleanup(&data); + } + } + } + + igt_describe("Check if psr is detecting memory mapping, rendering " + "and plane operations performed on cursor planes"); + igt_subtest_with_dynamic_f("%s%scursor-%s", append_fbc_subtest[y], + append_subtest_name[z], op_str(op)) { + igt_skip_on(is_xe_device(data.drm_fd) && + (op == MMAP_CPU || op == MMAP_GTT)); + for_each_connected_output(&data.display, output) { + if (!psr_sink_support(data.drm_fd, data.debugfs_fd, + data.op_psr_mode, output)) + continue; + igt_display_reset(&data.display); + data.output = output; + igt_dynamic_f("%s", data.output->name) { + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + test_setup(&data); + run_test(&data); + test_cleanup(&data); + } + } + } } - for (op = MMAP_GTT; op <= PLANE_ONOFF; op++) { - igt_describe("Check if psr is detecting memory mapping,rendering " - "and plane operations performed on sprite planes"); - igt_subtest_with_dynamic_f("%ssprite-%s", - append_subtest_name[z], - op_str(op)) { - igt_skip_on(is_xe_device(data.drm_fd) && - (op == MMAP_CPU || op == MMAP_GTT)); + igt_describe("Check if psr is detecting changes when rendering operation " + "is performed with dpms enabled or disabled"); + igt_subtest_with_dynamic_f("%s%sdpms", append_fbc_subtest[y], + append_subtest_name[z]) { for_each_connected_output(&data.display, output) { if (!psr_sink_support(data.drm_fd, data.debugfs_fd, data.op_psr_mode, output)) @@ -775,22 +924,21 @@ igt_main igt_display_reset(&data.display); data.output = output; igt_dynamic_f("%s", data.output->name) { - data.op = op; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.op = igt_get_render_copyfunc(data.devid) ? + RENDER : BLT; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; test_setup(&data); + dpms_off_on(&data); run_test(&data); test_cleanup(&data); } } } - igt_describe("Check if psr is detecting memory mapping, rendering " - "and plane operations performed on cursor planes"); - igt_subtest_with_dynamic_f("%scursor-%s", - append_subtest_name[z], - op_str(op)) { - igt_skip_on(is_xe_device(data.drm_fd) && - (op == MMAP_CPU || op == MMAP_GTT)); + igt_describe("Check if psr is detecting changes when plane operation is " + "performed with suspend resume cycles"); + igt_subtest_with_dynamic_f("%s%ssuspend", append_fbc_subtest[y], + append_subtest_name[z]) { for_each_connected_output(&data.display, output) { if (!psr_sink_support(data.drm_fd, data.debugfs_fd, data.op_psr_mode, output)) @@ -798,56 +946,18 @@ igt_main igt_display_reset(&data.display); data.output = output; igt_dynamic_f("%s", data.output->name) { + data.op = PLANE_ONOFF; data.test_plane_id = DRM_PLANE_TYPE_CURSOR; test_setup(&data); + igt_system_suspend_autoresume(SUSPEND_STATE_MEM, + SUSPEND_TEST_NONE); + igt_assert(psr_wait_entry_if_enabled(&data)); run_test(&data); test_cleanup(&data); } } } } - - igt_describe("Check if psr is detecting changes when rendering operation is performed" - " with dpms enabled or disabled"); - igt_subtest_with_dynamic_f("%sdpms", append_subtest_name[z]) { - for_each_connected_output(&data.display, output) { - if (!psr_sink_support(data.drm_fd, data.debugfs_fd, - data.op_psr_mode, output)) - continue; - igt_display_reset(&data.display); - data.output = output; - igt_dynamic_f("%s", data.output->name) { - data.op = igt_get_render_copyfunc(data.devid) ? RENDER : BLT; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - test_setup(&data); - dpms_off_on(&data); - run_test(&data); - test_cleanup(&data); - } - } - } - - igt_describe("Check if psr is detecting changes when plane operation is performed " - "with suspend resume cycles"); - igt_subtest_with_dynamic_f("%ssuspend", append_subtest_name[z]) { - for_each_connected_output(&data.display, output) { - if (!psr_sink_support(data.drm_fd, data.debugfs_fd, - data.op_psr_mode, output)) - continue; - igt_display_reset(&data.display); - data.output = output; - igt_dynamic_f("%s", data.output->name) { - data.op = PLANE_ONOFF; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - test_setup(&data); - igt_system_suspend_autoresume(SUSPEND_STATE_MEM, - SUSPEND_TEST_NONE); - igt_assert(psr_wait_entry_if_enabled(&data)); - run_test(&data); - test_cleanup(&data); - } - } - } } igt_fixture { -- 2.25.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests 2023-12-01 12:49 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B ` (2 preceding siblings ...) 2023-12-01 12:49 ` [igt-dev] [PATCH i-g-t 3/4] tests/intel/kms_psr: Add FBC support to PSR/PSR2/PR tests Jeevan B @ 2023-12-01 12:49 ` Jeevan B 2023-12-01 12:57 ` Sharma, Swati2 2023-12-01 15:09 ` [igt-dev] ✓ Fi.CI.BAT: success for Update PSR/PSR2_SF documenation and Add FBC support (rev4) Patchwork ` (3 subsequent siblings) 7 siblings, 1 reply; 16+ messages in thread From: Jeevan B @ 2023-12-01 12:49 UTC (permalink / raw) To: igt-dev For LunarLake (intel_display_ver 20), FBC can be enabled along with PSR2, thereby adding FBC checks to validate this scenario. Signed-off-by: Jeevan B <jeevan.b@intel.com> Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com> --- tests/intel/kms_psr2_sf.c | 623 +++++++++++++++++++++----------------- 1 file changed, 351 insertions(+), 272 deletions(-) diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c index 27faa93d9..779dd8c58 100644 --- a/tests/intel/kms_psr2_sf.c +++ b/tests/intel/kms_psr2_sf.c @@ -28,11 +28,11 @@ * Description: Tests to varify PSR2 selective fetch by sending multiple damaged * areas * Driver requirement: i915, xe - * Functionality: plane, psr2, selective_fetch * Mega feature: PSR * Test category: functionality test */ +#include "i915/intel_fbc.h" #include "igt.h" #include "igt_sysfs.h" #include "igt_psr.h" @@ -46,6 +46,12 @@ * SUBTEST: %s-plane-move-continuous-%s * Description: Test that selective fetch works on moving %arg[1] plane %arg[2] * visible area (no update) + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-%s-plane-move-continuous-%s + * Description: Test that fbc with selective fetch works on moving %arg[1] plane %arg[2] + * visible area (no update) + * Functionality: plane, psr2, selective_fetch, fbc * * arg[1]: * @@ -62,25 +68,61 @@ /** * SUBTEST: cursor-plane-update-sf * Description: Test that selective fetch works on cursor plane + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-cursor-plane-update-continuous-sf + * Description: Test that fbc with selective fetch works on cursor plane + * Functionality: plane, psr2, selective_fetch, fbc * * SUBTEST: overlay-plane-update-continuous-sf * Description: Test that selective fetch works on overlay plane + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-overlay-plane-update-continuous-sf-dmg-area + * Description: Test that fbc with selective fetch works on overlay plane + * Functionality: plane, psr2, selective_fetch, fbc * * SUBTEST: overlay-plane-update-sf-dmg-area * Description: Test that selective fetch works on overlay plane + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-overlay-plane-update-continuous-sf + * Description: Test that fbc with selective fetch works on overlay plane + * Functionality: plane, psr2, selective_fetch, fbc * * SUBTEST: overlay-primary-update-sf-dmg-area * Description: Test that selective fetch works on primary plane with blended * overlay plane + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-overlay-primary-update-sf-dmg-area + * Description: Test that fbc with selective fetch works on primary plane with blended + * overlay plane + * Functionality: plane, psr2, selective_fetch, fbc * * SUBTEST: plane-move-sf-dmg-area * Description: Test that selective fetch works on moving overlay plane + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-plane-move-sf-dmg-area + * Description: Test that fbc with selective fetch works on moving overlay plane + * Functionality: plane, psr2, selective_fetch, fbc * * SUBTEST: primary-plane-update-sf-dmg-area * Description: Test that selective fetch works on primary plane + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area + * Description: Test that fbc with selective fetch works on primary plane + * Functionality: plane, psr2, selective_fetch, fbc * * SUBTEST: primary-plane-update-sf-dmg-area-big-fb * Description: Test that selective fetch works on primary plane with big fb + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area-big-fb + * Description: Test that fbc with selective fetch works on primary plane with big fb + * Functionality: plane, psr2, selective_fetch, fbc */ IGT_TEST_DESCRIPTION("Tests to varify PSR2 selective fetch by sending multiple" @@ -131,10 +173,12 @@ typedef struct { struct drm_mode_rect plane_move_clip; struct drm_mode_rect cursor_clip; enum operations op; + enum fbc_mode op_fbc_mode; enum plane_move_postion pos; int test_plane_id; igt_plane_t *test_plane; bool big_fb_test; + bool fbc_flag; cairo_t *cr; uint32_t screen_changes; int cur_x, cur_y; @@ -840,6 +884,11 @@ static void run(data_t *data) igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL)); + if (data->fbc_flag == true && data->op_fbc_mode == FBC_ENABLED) + igt_assert_f(intel_fbc_wait_until_enabled(data->drm_fd, + data->pipe), + "FBC still disabled"); + data->screen_changes = 0; switch (data->op) { @@ -942,10 +991,15 @@ igt_main { data_t data = {}; igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES]; - int i, j, k; + int i, j, k, y; int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES]; int n_pipes = 0; int coexist_features[IGT_MAX_PIPES * IGT_MAX_PIPES]; + const char *append_fbc_subtest[2] = { + "", + "fbc-" + }; + int fbc_status[] = {FBC_DISABLED, FBC_ENABLED}; igt_fixture { drmModeResPtr res; @@ -961,6 +1015,11 @@ igt_main display_init(&data); + if ((intel_display_ver(intel_get_drm_devid(data.drm_fd) == 20)) && + (intel_fbc_supported_on_chipset(data.drm_fd, data.pipe))) { + data.fbc_flag = true; + } + /* Test if PSR2 can be enabled */ igt_require_f(psr_enable(data.drm_fd, data.debugfs_fd, PSR_MODE_2_SEL_FETCH), @@ -995,54 +1054,116 @@ igt_main } } - /* Verify primary plane selective fetch */ - igt_describe("Test that selective fetch works on primary plane"); - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; + for (y = 0; y < ARRAY_SIZE(fbc_status); y++) { + data.op_fbc_mode = fbc_status[y]; + /* Verify primary plane selective fetch */ + igt_describe("Test that selective fetch works on primary plane"); + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) + continue; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } + } + } + } - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* Verify primary plane selective fetch with big fb */ + data.big_fb_test = 1; + igt_describe("Test that selective fetch works on primary plane with big fb"); + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area-big-fb", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } } } } } - } - /* Verify primary plane selective fetch with big fb */ - data.big_fb_test = 1; - igt_describe("Test that selective fetch works on primary plane with big fb"); - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area-big-fb", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; + data.big_fb_test = 0; + /* Verify overlay plane selective fetch */ + igt_describe("Test that selective fetch works on overlay plane"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) + continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } + } + } + } + + data.damage_area_count = 1; + /* Verify cursor plane selective fetch */ + igt_describe("Test that selective fetch works on cursor plane"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1050,28 +1171,25 @@ igt_main } } } - } - data.big_fb_test = 0; - /* Verify overlay plane selective fetch */ - igt_describe("Test that selective fetch works on overlay plane"); - igt_subtest_with_dynamic_f("overlay-%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS; + igt_describe("Test that selective fetch works on moving cursor plane (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1079,130 +1197,137 @@ igt_main } } } - } - - data.damage_area_count = 1; - /* Verify cursor plane selective fetch */ - igt_describe("Test that selective fetch works on cursor plane"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; + igt_describe("Test that selective fetch works on moving cursor plane exceeding " + "partially visible area (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - data.op = PLANE_MOVE_CONTINUOUS; - igt_describe("Test that selective fetch works on moving cursor plane (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; + igt_describe("Test that selective fetch works on moving cursor plane exceeding " + "fully visible area (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; - igt_describe("Test that selective fetch works on moving cursor plane exceeding partially visible area (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* Only for overlay plane */ + data.op = PLANE_MOVE; + /* Verify overlay plane move selective fetch */ + igt_describe("Test that selective fetch works on moving overlay plane"); + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { + data.pos = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } } } } - } - - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; - igt_describe("Test that selective fetch works on moving cursor plane exceeding fully visible area (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS; + igt_describe("Test that selective fetch works on moving overlay plane (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { data.pipe = pipes[i]; data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); + } } } } - } - /* Only for overlay plane */ - data.op = PLANE_MOVE; - /* Verify overlay plane move selective fetch */ - igt_describe("Test that selective fetch works on moving overlay plane"); - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; + igt_describe("Test that selective fetch works on moving overlay plane partially " + "exceeding visible area (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { - data.pos = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1210,103 +1335,88 @@ igt_main } } } - } - - data.op = PLANE_MOVE_CONTINUOUS; - igt_describe("Test that selective fetch works on moving overlay plane (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; + igt_describe("Test that selective fetch works on moving overlay plane fully " + "exceeding visible area (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); - } - } - } - } - - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; - igt_describe("Test that selective fetch works on moving overlay plane partially exceeding visible area (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) - continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; - igt_describe("Test that selective fetch works on moving overlay plane fully exceeding visible area (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* Verify primary plane selective fetch with overplay plane blended */ + data.op = OVERLAY_PRIM_UPDATE; + igt_describe("Test that selective fetch works on primary plane " + "with blended overlay plane"); + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } + } } } } - } - /* Verify primary plane selective fetch with overplay plane blended */ - data.op = OVERLAY_PRIM_UPDATE; - igt_describe("Test that selective fetch works on primary plane " - "with blended overlay plane"); - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* + * Verify overlay plane selective fetch using NV12 primary + * plane and continuous updates. + */ + data.op = PLANE_UPDATE_CONTINUOUS; + data.primary_format = DRM_FORMAT_NV12; + igt_describe("Test that selective fetch works on overlay plane"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.damage_area_count = 1; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; data.coexist_feature = j; prepare(&data); run(&data); @@ -1317,37 +1427,6 @@ igt_main } } - /* - * Verify overlay plane selective fetch using NV12 primary - * plane and continuous updates. - */ - data.op = PLANE_UPDATE_CONTINUOUS; - data.primary_format = DRM_FORMAT_NV12; - igt_describe("Test that selective fetch works on overlay plane"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) - continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.damage_area_count = 1; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); - } - } - } - } - igt_fixture { close(data.debugfs_fd); display_fini(&data); -- 2.25.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests 2023-12-01 12:49 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B @ 2023-12-01 12:57 ` Sharma, Swati2 0 siblings, 0 replies; 16+ messages in thread From: Sharma, Swati2 @ 2023-12-01 12:57 UTC (permalink / raw) To: Jeevan B, igt-dev LGTM Reviewed-by: Swati Sharma <swati2.sharma@intel.com> On 01-Dec-23 6:19 PM, Jeevan B wrote: > For LunarLake (intel_display_ver 20), FBC can be enabled along with PSR2, > thereby adding FBC checks to validate this scenario. > > Signed-off-by: Jeevan B <jeevan.b@intel.com> > Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com> > --- > tests/intel/kms_psr2_sf.c | 623 +++++++++++++++++++++----------------- > 1 file changed, 351 insertions(+), 272 deletions(-) > > diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c > index 27faa93d9..779dd8c58 100644 > --- a/tests/intel/kms_psr2_sf.c > +++ b/tests/intel/kms_psr2_sf.c > @@ -28,11 +28,11 @@ > * Description: Tests to varify PSR2 selective fetch by sending multiple damaged > * areas > * Driver requirement: i915, xe > - * Functionality: plane, psr2, selective_fetch > * Mega feature: PSR > * Test category: functionality test > */ > > +#include "i915/intel_fbc.h" > #include "igt.h" > #include "igt_sysfs.h" > #include "igt_psr.h" > @@ -46,6 +46,12 @@ > * SUBTEST: %s-plane-move-continuous-%s > * Description: Test that selective fetch works on moving %arg[1] plane %arg[2] > * visible area (no update) > + * Functionality: plane, psr2, selective_fetch > + * > + * SUBTEST: fbc-%s-plane-move-continuous-%s > + * Description: Test that fbc with selective fetch works on moving %arg[1] plane %arg[2] > + * visible area (no update) > + * Functionality: plane, psr2, selective_fetch, fbc > * > * arg[1]: > * > @@ -62,25 +68,61 @@ > /** > * SUBTEST: cursor-plane-update-sf > * Description: Test that selective fetch works on cursor plane > + * Functionality: plane, psr2, selective_fetch > + * > + * SUBTEST: fbc-cursor-plane-update-continuous-sf > + * Description: Test that fbc with selective fetch works on cursor plane > + * Functionality: plane, psr2, selective_fetch, fbc > * > * SUBTEST: overlay-plane-update-continuous-sf > * Description: Test that selective fetch works on overlay plane > + * Functionality: plane, psr2, selective_fetch > + * > + * SUBTEST: fbc-overlay-plane-update-continuous-sf-dmg-area > + * Description: Test that fbc with selective fetch works on overlay plane > + * Functionality: plane, psr2, selective_fetch, fbc > * > * SUBTEST: overlay-plane-update-sf-dmg-area > * Description: Test that selective fetch works on overlay plane > + * Functionality: plane, psr2, selective_fetch > + * > + * SUBTEST: fbc-overlay-plane-update-continuous-sf > + * Description: Test that fbc with selective fetch works on overlay plane > + * Functionality: plane, psr2, selective_fetch, fbc > * > * SUBTEST: overlay-primary-update-sf-dmg-area > * Description: Test that selective fetch works on primary plane with blended > * overlay plane > + * Functionality: plane, psr2, selective_fetch > + * > + * SUBTEST: fbc-overlay-primary-update-sf-dmg-area > + * Description: Test that fbc with selective fetch works on primary plane with blended > + * overlay plane > + * Functionality: plane, psr2, selective_fetch, fbc > * > * SUBTEST: plane-move-sf-dmg-area > * Description: Test that selective fetch works on moving overlay plane > + * Functionality: plane, psr2, selective_fetch > + * > + * SUBTEST: fbc-plane-move-sf-dmg-area > + * Description: Test that fbc with selective fetch works on moving overlay plane > + * Functionality: plane, psr2, selective_fetch, fbc > * > * SUBTEST: primary-plane-update-sf-dmg-area > * Description: Test that selective fetch works on primary plane > + * Functionality: plane, psr2, selective_fetch > + * > + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area > + * Description: Test that fbc with selective fetch works on primary plane > + * Functionality: plane, psr2, selective_fetch, fbc > * > * SUBTEST: primary-plane-update-sf-dmg-area-big-fb > * Description: Test that selective fetch works on primary plane with big fb > + * Functionality: plane, psr2, selective_fetch > + * > + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area-big-fb > + * Description: Test that fbc with selective fetch works on primary plane with big fb > + * Functionality: plane, psr2, selective_fetch, fbc > */ > > IGT_TEST_DESCRIPTION("Tests to varify PSR2 selective fetch by sending multiple" > @@ -131,10 +173,12 @@ typedef struct { > struct drm_mode_rect plane_move_clip; > struct drm_mode_rect cursor_clip; > enum operations op; > + enum fbc_mode op_fbc_mode; > enum plane_move_postion pos; > int test_plane_id; > igt_plane_t *test_plane; > bool big_fb_test; > + bool fbc_flag; > cairo_t *cr; > uint32_t screen_changes; > int cur_x, cur_y; > @@ -840,6 +884,11 @@ static void run(data_t *data) > > igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL)); > > + if (data->fbc_flag == true && data->op_fbc_mode == FBC_ENABLED) > + igt_assert_f(intel_fbc_wait_until_enabled(data->drm_fd, > + data->pipe), > + "FBC still disabled"); > + > data->screen_changes = 0; > > switch (data->op) { > @@ -942,10 +991,15 @@ igt_main > { > data_t data = {}; > igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES]; > - int i, j, k; > + int i, j, k, y; > int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES]; > int n_pipes = 0; > int coexist_features[IGT_MAX_PIPES * IGT_MAX_PIPES]; > + const char *append_fbc_subtest[2] = { > + "", > + "fbc-" > + }; > + int fbc_status[] = {FBC_DISABLED, FBC_ENABLED}; > > igt_fixture { > drmModeResPtr res; > @@ -961,6 +1015,11 @@ igt_main > > display_init(&data); > > + if ((intel_display_ver(intel_get_drm_devid(data.drm_fd) == 20)) && > + (intel_fbc_supported_on_chipset(data.drm_fd, data.pipe))) { > + data.fbc_flag = true; > + } > + > /* Test if PSR2 can be enabled */ > igt_require_f(psr_enable(data.drm_fd, > data.debugfs_fd, PSR_MODE_2_SEL_FETCH), > @@ -995,54 +1054,116 @@ igt_main > } > } > > - /* Verify primary plane selective fetch */ > - igt_describe("Test that selective fetch works on primary plane"); > - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > + for (y = 0; y < ARRAY_SIZE(fbc_status); y++) { > + data.op_fbc_mode = fbc_status[y]; > + /* Verify primary plane selective fetch */ > + igt_describe("Test that selective fetch works on primary plane"); > + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > + continue; > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > + data.coexist_feature = j; > + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > + data.damage_area_count = k; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > + } > + } > + } > + } > > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + /* Verify primary plane selective fetch with big fb */ > + data.big_fb_test = 1; > + igt_describe("Test that selective fetch works on primary plane with big fb"); > + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area-big-fb", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > - data.coexist_feature = j; > - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > - data.damage_area_count = k; > - prepare(&data); > - run(&data); > - cleanup(&data); > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > + data.coexist_feature = j; > + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > + data.damage_area_count = k; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > } > - } > > - /* Verify primary plane selective fetch with big fb */ > - data.big_fb_test = 1; > - igt_describe("Test that selective fetch works on primary plane with big fb"); > - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area-big-fb", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > + data.big_fb_test = 0; > + /* Verify overlay plane selective fetch */ > + igt_describe("Test that selective fetch works on overlay plane"); > + igt_subtest_with_dynamic_f("%soverlay-%s-sf-dmg-area", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > + continue; > > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > + data.coexist_feature = j; > + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > + data.damage_area_count = k; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > + } > + } > + } > + } > + > + data.damage_area_count = 1; > + /* Verify cursor plane selective fetch */ > + igt_describe("Test that selective fetch works on cursor plane"); > + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > - data.coexist_feature = j; > - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > - data.damage_area_count = k; > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > + data.coexist_feature = j; > prepare(&data); > run(&data); > cleanup(&data); > @@ -1050,28 +1171,25 @@ igt_main > } > } > } > - } > > - data.big_fb_test = 0; > - /* Verify overlay plane selective fetch */ > - igt_describe("Test that selective fetch works on overlay plane"); > - igt_subtest_with_dynamic_f("overlay-%s-sf-dmg-area", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > - > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + data.op = PLANE_MOVE_CONTINUOUS; > + igt_describe("Test that selective fetch works on moving cursor plane (no update)"); > + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - data.coexist_feature = j; > - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > - data.damage_area_count = k; > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > + data.coexist_feature = j; > prepare(&data); > run(&data); > cleanup(&data); > @@ -1079,130 +1197,137 @@ igt_main > } > } > } > - } > - > - data.damage_area_count = 1; > - /* Verify cursor plane selective fetch */ > - igt_describe("Test that selective fetch works on cursor plane"); > - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; > + igt_describe("Test that selective fetch works on moving cursor plane exceeding " > + "partially visible area (no update)"); > + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > - data.coexist_feature = j; > - prepare(&data); > - run(&data); > - cleanup(&data); > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > - } > > - data.op = PLANE_MOVE_CONTINUOUS; > - igt_describe("Test that selective fetch works on moving cursor plane (no update)"); > - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > - > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; > + igt_describe("Test that selective fetch works on moving cursor plane exceeding " > + "fully visible area (no update)"); > + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > - data.coexist_feature = j; > - prepare(&data); > - run(&data); > - cleanup(&data); > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > - } > > - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; > - igt_describe("Test that selective fetch works on moving cursor plane exceeding partially visible area (no update)"); > - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > - > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + /* Only for overlay plane */ > + data.op = PLANE_MOVE; > + /* Verify overlay plane move selective fetch */ > + igt_describe("Test that selective fetch works on moving overlay plane"); > + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > - data.coexist_feature = j; > - prepare(&data); > - run(&data); > - cleanup(&data); > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > + data.coexist_feature = j; > + for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { > + data.pos = k; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > + } > } > } > } > - } > - > - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; > - igt_describe("Test that selective fetch works on moving cursor plane exceeding fully visible area (no update)"); > - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + data.op = PLANE_MOVE_CONTINUOUS; > + igt_describe("Test that selective fetch works on moving overlay plane (no update)"); > + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > data.pipe = pipes[i]; > data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > data.coexist_feature = j; > prepare(&data); > run(&data); > cleanup(&data); > + } > } > } > } > - } > > - /* Only for overlay plane */ > - data.op = PLANE_MOVE; > - /* Verify overlay plane move selective fetch */ > - igt_describe("Test that selective fetch works on moving overlay plane"); > - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > - > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; > + igt_describe("Test that selective fetch works on moving overlay plane partially " > + "exceeding visible area (no update)"); > + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - data.coexist_feature = j; > - for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { > - data.pos = k; > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > + data.coexist_feature = j; > prepare(&data); > run(&data); > cleanup(&data); > @@ -1210,103 +1335,88 @@ igt_main > } > } > } > - } > - > - data.op = PLANE_MOVE_CONTINUOUS; > - igt_describe("Test that selective fetch works on moving overlay plane (no update)"); > - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; > + igt_describe("Test that selective fetch works on moving overlay plane fully " > + "exceeding visible area (no update)"); > + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - data.coexist_feature = j; > - prepare(&data); > - run(&data); > - cleanup(&data); > - } > - } > - } > - } > - > - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; > - igt_describe("Test that selective fetch works on moving overlay plane partially exceeding visible area (no update)"); > - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > - continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - data.coexist_feature = j; > - prepare(&data); > - run(&data); > - cleanup(&data); > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > - } > > - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; > - igt_describe("Test that selective fetch works on moving overlay plane fully exceeding visible area (no update)"); > - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > - > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + /* Verify primary plane selective fetch with overplay plane blended */ > + data.op = OVERLAY_PRIM_UPDATE; > + igt_describe("Test that selective fetch works on primary plane " > + "with blended overlay plane"); > + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - data.coexist_feature = j; > - prepare(&data); > - run(&data); > - cleanup(&data); > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > + data.damage_area_count = k; > + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > + } > } > } > } > - } > > - /* Verify primary plane selective fetch with overplay plane blended */ > - data.op = OVERLAY_PRIM_UPDATE; > - igt_describe("Test that selective fetch works on primary plane " > - "with blended overlay plane"); > - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > - > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + /* > + * Verify overlay plane selective fetch using NV12 primary > + * plane and continuous updates. > + */ > + data.op = PLANE_UPDATE_CONTINUOUS; > + data.primary_format = DRM_FORMAT_NV12; > + igt_describe("Test that selective fetch works on overlay plane"); > + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > - data.damage_area_count = k; > - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.damage_area_count = 1; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > data.coexist_feature = j; > prepare(&data); > run(&data); > @@ -1317,37 +1427,6 @@ igt_main > } > } > > - /* > - * Verify overlay plane selective fetch using NV12 primary > - * plane and continuous updates. > - */ > - data.op = PLANE_UPDATE_CONTINUOUS; > - data.primary_format = DRM_FORMAT_NV12; > - igt_describe("Test that selective fetch works on overlay plane"); > - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > - > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > - continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.damage_area_count = 1; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - data.coexist_feature = j; > - prepare(&data); > - run(&data); > - cleanup(&data); > - } > - } > - } > - } > - > igt_fixture { > close(data.debugfs_fd); > display_fini(&data); ^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Update PSR/PSR2_SF documenation and Add FBC support (rev4) 2023-12-01 12:49 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B ` (3 preceding siblings ...) 2023-12-01 12:49 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B @ 2023-12-01 15:09 ` Patchwork 2023-12-01 15:24 ` [igt-dev] ✓ CI.xeBAT: " Patchwork ` (2 subsequent siblings) 7 siblings, 0 replies; 16+ messages in thread From: Patchwork @ 2023-12-01 15:09 UTC (permalink / raw) To: Jeevan B; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 12141 bytes --] == Series Details == Series: Update PSR/PSR2_SF documenation and Add FBC support (rev4) URL : https://patchwork.freedesktop.org/series/127121/ State : success == Summary == CI Bug Log - changes from CI_DRM_13959 -> IGTPW_10318 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/index.html Participating hosts (37 -> 38) ------------------------------ Additional (2): bat-kbl-2 bat-mtlp-8 Missing (1): fi-snb-2520m Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_10318: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * {igt@kms_psr@psr_cursor_plane_move}: - bat-mtlp-8: NOTRUN -> [SKIP][1] +3 other tests skip [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@kms_psr@psr_cursor_plane_move.html * {igt@kms_psr@psr_primary_mmap_gtt}: - bat-adls-5: NOTRUN -> [SKIP][2] +3 other tests skip [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-adls-5/igt@kms_psr@psr_primary_mmap_gtt.html Known issues ------------ Here are the changes found in IGTPW_10318 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@debugfs_test@basic-hwmon: - bat-mtlp-8: NOTRUN -> [SKIP][3] ([i915#9318]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@debugfs_test@basic-hwmon.html - bat-jsl-1: NOTRUN -> [SKIP][4] ([i915#9318]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-jsl-1/igt@debugfs_test@basic-hwmon.html * igt@fbdev@info: - bat-kbl-2: NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#1849]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-kbl-2/igt@fbdev@info.html * igt@gem_exec_suspend@basic-s0@smem: - bat-dg2-9: [PASS][6] -> [INCOMPLETE][7] ([i915#9275]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/bat-dg2-9/igt@gem_exec_suspend@basic-s0@smem.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-dg2-9/igt@gem_exec_suspend@basic-s0@smem.html * igt@gem_huc_copy@huc-copy: - bat-jsl-1: NOTRUN -> [SKIP][8] ([i915#2190]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-jsl-1/igt@gem_huc_copy@huc-copy.html * igt@gem_lmem_swapping@parallel-random-engines: - bat-kbl-2: NOTRUN -> [SKIP][9] ([fdo#109271]) +20 other tests skip [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-kbl-2/igt@gem_lmem_swapping@parallel-random-engines.html * igt@gem_lmem_swapping@verify-random: - bat-mtlp-8: NOTRUN -> [SKIP][10] ([i915#4613]) +3 other tests skip [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@gem_lmem_swapping@verify-random.html - bat-jsl-1: NOTRUN -> [SKIP][11] ([i915#4613]) +3 other tests skip [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-jsl-1/igt@gem_lmem_swapping@verify-random.html * igt@gem_mmap@basic: - bat-mtlp-8: NOTRUN -> [SKIP][12] ([i915#4083]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@gem_mmap@basic.html * igt@gem_mmap_gtt@basic: - bat-mtlp-8: NOTRUN -> [SKIP][13] ([i915#4077]) +2 other tests skip [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@gem_mmap_gtt@basic.html * igt@gem_render_tiled_blits@basic: - bat-mtlp-8: NOTRUN -> [SKIP][14] ([i915#4079]) +1 other test skip [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@gem_render_tiled_blits@basic.html * igt@i915_pm_rps@basic-api: - bat-mtlp-8: NOTRUN -> [SKIP][15] ([i915#6621]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@i915_pm_rps@basic-api.html * igt@i915_suspend@basic-s3-without-i915: - bat-mtlp-8: NOTRUN -> [SKIP][16] ([i915#6645]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@i915_suspend@basic-s3-without-i915.html * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy: - bat-mtlp-8: NOTRUN -> [SKIP][17] ([i915#5190]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html * igt@kms_addfb_basic@basic-y-tiled-legacy: - bat-mtlp-8: NOTRUN -> [SKIP][18] ([i915#4212]) +8 other tests skip [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@kms_addfb_basic@basic-y-tiled-legacy.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - bat-mtlp-8: NOTRUN -> [SKIP][19] ([i915#4213]) +1 other test skip [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html - bat-jsl-1: NOTRUN -> [SKIP][20] ([i915#4103]) +1 other test skip [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-jsl-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_dsc@dsc-basic: - bat-mtlp-8: NOTRUN -> [SKIP][21] ([i915#3555] / [i915#3840] / [i915#4098] / [i915#9159]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@kms_dsc@dsc-basic.html - bat-jsl-1: NOTRUN -> [SKIP][22] ([i915#3555]) +1 other test skip [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-jsl-1/igt@kms_dsc@dsc-basic.html * igt@kms_force_connector_basic@force-load-detect: - bat-mtlp-8: NOTRUN -> [SKIP][23] ([fdo#109285]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@kms_force_connector_basic@force-load-detect.html - bat-jsl-1: NOTRUN -> [SKIP][24] ([fdo#109285]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-jsl-1/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_force_connector_basic@prune-stale-modes: - bat-mtlp-8: NOTRUN -> [SKIP][25] ([i915#5274]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@kms_force_connector_basic@prune-stale-modes.html * igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-5: - bat-adlp-11: [PASS][26] -> [DMESG-FAIL][27] ([i915#6868]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/bat-adlp-11/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-5.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-adlp-11/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-5.html * igt@kms_pipe_crc_basic@read-crc-frame-sequence: - bat-kbl-2: NOTRUN -> [SKIP][28] ([fdo#109271] / [i915#1845]) +14 other tests skip [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-kbl-2/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html * igt@kms_pipe_crc_basic@read-crc@pipe-c-dp-5: - bat-adlp-11: [PASS][29] -> [ABORT][30] ([i915#8668]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/bat-adlp-11/igt@kms_pipe_crc_basic@read-crc@pipe-c-dp-5.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-adlp-11/igt@kms_pipe_crc_basic@read-crc@pipe-c-dp-5.html * igt@kms_setmode@basic-clone-single-crtc: - bat-mtlp-8: NOTRUN -> [SKIP][31] ([i915#3555] / [i915#8809]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@kms_setmode@basic-clone-single-crtc.html * igt@prime_vgem@basic-fence-mmap: - bat-mtlp-8: NOTRUN -> [SKIP][32] ([i915#3708] / [i915#4077]) +1 other test skip [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@prime_vgem@basic-fence-mmap.html * igt@prime_vgem@basic-fence-read: - bat-mtlp-8: NOTRUN -> [SKIP][33] ([i915#3708]) +2 other tests skip [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-mtlp-8/igt@prime_vgem@basic-fence-read.html #### Possible fixes #### * igt@kms_pipe_crc_basic@hang-read-crc@pipe-c-dp-5: - bat-adlp-11: [DMESG-FAIL][34] ([i915#6868]) -> [PASS][35] [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/bat-adlp-11/igt@kms_pipe_crc_basic@hang-read-crc@pipe-c-dp-5.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-adlp-11/igt@kms_pipe_crc_basic@hang-read-crc@pipe-c-dp-5.html * igt@kms_pipe_crc_basic@hang-read-crc@pipe-d-dp-5: - bat-adlp-11: [FAIL][36] -> [PASS][37] [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/bat-adlp-11/igt@kms_pipe_crc_basic@hang-read-crc@pipe-d-dp-5.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-adlp-11/igt@kms_pipe_crc_basic@hang-read-crc@pipe-d-dp-5.html * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1: - bat-rplp-1: [ABORT][38] ([i915#8668]) -> [PASS][39] [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1.html * igt@kms_pipe_crc_basic@read-crc@pipe-a-dp-5: - bat-adlp-11: [ABORT][40] ([i915#8668]) -> [PASS][41] [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/bat-adlp-11/igt@kms_pipe_crc_basic@read-crc@pipe-a-dp-5.html [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/bat-adlp-11/igt@kms_pipe_crc_basic@read-crc@pipe-a-dp-5.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849 [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190 [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645 [i915#6868]: https://gitlab.freedesktop.org/drm/intel/issues/6868 [i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668 [i915#8809]: https://gitlab.freedesktop.org/drm/intel/issues/8809 [i915#9159]: https://gitlab.freedesktop.org/drm/intel/issues/9159 [i915#9275]: https://gitlab.freedesktop.org/drm/intel/issues/9275 [i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7614 -> IGTPW_10318 CI-20190529: 20190529 CI_DRM_13959: f9f47d30e408664ad9ec5f823d23254b7f8e46cd @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_10318: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/index.html IGT_7614: c7298ec108dc1c861c9a2593e973648ad9b420b4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Testlist changes ---------------- +++ 139 lines --- 63 lines == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/index.html [-- Attachment #2: Type: text/html, Size: 14336 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] ✓ CI.xeBAT: success for Update PSR/PSR2_SF documenation and Add FBC support (rev4) 2023-12-01 12:49 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B ` (4 preceding siblings ...) 2023-12-01 15:09 ` [igt-dev] ✓ Fi.CI.BAT: success for Update PSR/PSR2_SF documenation and Add FBC support (rev4) Patchwork @ 2023-12-01 15:24 ` Patchwork 2023-12-03 1:08 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 2023-12-05 13:16 ` Patchwork 7 siblings, 0 replies; 16+ messages in thread From: Patchwork @ 2023-12-01 15:24 UTC (permalink / raw) To: Jeevan B; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 3283 bytes --] == Series Details == Series: Update PSR/PSR2_SF documenation and Add FBC support (rev4) URL : https://patchwork.freedesktop.org/series/127121/ State : success == Summary == CI Bug Log - changes from XEIGT_7614_BAT -> XEIGTPW_10318_BAT ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (4 -> 4) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in XEIGTPW_10318_BAT: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * {igt@kms_psr@psr_cursor_plane_move}: - bat-adlp-7: [PASS][1] -> [SKIP][2] +2 other tests skip [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7614/bat-adlp-7/igt@kms_psr@psr_cursor_plane_move.html [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_10318/bat-adlp-7/igt@kms_psr@psr_cursor_plane_move.html Known issues ------------ Here are the changes found in XEIGTPW_10318_BAT that come from known issues: ### IGT changes ### #### Issues hit #### * igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size: - bat-dg2-oem2: [PASS][3] -> [FAIL][4] ([Intel XE#692] / [Intel XE#773]) [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7614/bat-dg2-oem2/igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size.html [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_10318/bat-dg2-oem2/igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size.html #### Possible fixes #### * igt@kms_cursor_legacy@basic-flip-after-cursor-atomic: - bat-adlp-7: [FAIL][5] ([i915#2346]) -> [PASS][6] [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7614/bat-adlp-7/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_10318/bat-adlp-7/igt@kms_cursor_legacy@basic-flip-after-cursor-atomic.html * {igt@xe_create@create-execqueues-leak}: - bat-atsm-2: [FAIL][7] ([Intel XE#524]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7614/bat-atsm-2/igt@xe_create@create-execqueues-leak.html [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_10318/bat-atsm-2/igt@xe_create@create-execqueues-leak.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [Intel XE#524]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/524 [Intel XE#692]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/692 [Intel XE#773]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/773 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 Build changes ------------- * IGT: IGT_7614 -> IGTPW_10318 IGTPW_10318: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/index.html IGT_7614: c7298ec108dc1c861c9a2593e973648ad9b420b4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git xe-544-a8b405ffc0326c79abf737389d99c290648f381d: a8b405ffc0326c79abf737389d99c290648f381d == Logs == For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_10318/index.html [-- Attachment #2: Type: text/html, Size: 3942 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for Update PSR/PSR2_SF documenation and Add FBC support (rev4) 2023-12-01 12:49 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B ` (5 preceding siblings ...) 2023-12-01 15:24 ` [igt-dev] ✓ CI.xeBAT: " Patchwork @ 2023-12-03 1:08 ` Patchwork 2023-12-05 13:16 ` Patchwork 7 siblings, 0 replies; 16+ messages in thread From: Patchwork @ 2023-12-03 1:08 UTC (permalink / raw) To: Jeevan B; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 86689 bytes --] == Series Details == Series: Update PSR/PSR2_SF documenation and Add FBC support (rev4) URL : https://patchwork.freedesktop.org/series/127121/ State : failure == Summary == CI Bug Log - changes from CI_DRM_13959_full -> IGTPW_10318_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_10318_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_10318_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/index.html Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_10318_full: ### IGT changes ### #### Possible regressions #### * igt@gem_eio@in-flight-10ms: - shard-mtlp: [PASS][1] -> [DMESG-WARN][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-mtlp-4/igt@gem_eio@in-flight-10ms.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@gem_eio@in-flight-10ms.html * igt@gem_exec_suspend@basic-s0@smem: - shard-dg2: NOTRUN -> [INCOMPLETE][3] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-5/igt@gem_exec_suspend@basic-s0@smem.html * {igt@kms_psr@fbc-pr-primary-blt} (NEW): - shard-mtlp: NOTRUN -> [SKIP][4] +39 other tests skip [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_psr@fbc-pr-primary-blt.html * {igt@kms_psr@fbc-psr-no-drrs} (NEW): - shard-tglu: NOTRUN -> [SKIP][5] +137 other tests skip [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-7/igt@kms_psr@fbc-psr-no-drrs.html * {igt@kms_psr@fbc-psr2-cursor-blt@edp-1} (NEW): - shard-mtlp: NOTRUN -> [FAIL][6] +44 other tests fail [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-7/igt@kms_psr@fbc-psr2-cursor-blt@edp-1.html * {igt@kms_psr@psr-cursor-render} (NEW): - shard-dg2: NOTRUN -> [SKIP][7] +99 other tests skip [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_psr@psr-cursor-render.html * {igt@kms_psr@psr-sprite-mmap-cpu} (NEW): - shard-dg1: NOTRUN -> [SKIP][8] +126 other tests skip [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@kms_psr@psr-sprite-mmap-cpu.html #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * {igt@kms_pm_dc@dc5-psr}: - shard-mtlp: [PASS][9] -> [FAIL][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-mtlp-4/igt@kms_pm_dc@dc5-psr.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-2/igt@kms_pm_dc@dc5-psr.html New tests --------- New tests have been introduced between CI_DRM_13959_full and IGTPW_10318_full: ### New IGT tests (240) ### * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-fully-sf: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-fully-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-fully-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-sf: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-update-continuous-sf: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-update-continuous-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-update-continuous-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-fully-sf: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-fully-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-fully-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-sf: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-sf: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf-dmg-area: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf-dmg-area@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf-dmg-area@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-primary-update-sf-dmg-area: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-primary-update-sf-dmg-area@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-primary-update-sf-dmg-area@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-primary-plane-update-continuous-sf-dmg-area: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-primary-plane-update-continuous-sf-dmg-area-big-fb: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-primary-plane-update-continuous-sf-dmg-area-big-fb@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-primary-plane-update-continuous-sf-dmg-area-big-fb@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-primary-plane-update-continuous-sf-dmg-area@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-primary-plane-update-continuous-sf-dmg-area@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-basic: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-cursor-blt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-cursor-mmap-cpu: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-cursor-mmap-gtt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-cursor-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-cursor-plane-onoff: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-cursor-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-dpms: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-no-drrs: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-primary-blt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-primary-mmap-cpu: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-primary-mmap-gtt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-primary-page-flip: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-primary-render: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-sprite-blt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-sprite-mmap-cpu: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-sprite-mmap-gtt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-sprite-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-sprite-plane-onoff: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-sprite-render: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-suspend: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-basic: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-basic@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-mmap-cpu: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-mmap-gtt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-plane-move@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-plane-onoff: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-plane-onoff@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-render: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-render@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-dpms: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-dpms@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-no-drrs: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-no-drrs@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-mmap-cpu: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-mmap-gtt: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-mmap-gtt@edp-1: - Statuses : 1 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-page-flip: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-page-flip@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-mmap-gtt: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-mmap-gtt@edp-1: - Statuses : 1 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-plane-move@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-plane-onoff: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-plane-onoff@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-render@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-suspend: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-suspend@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-basic: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-basic@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-blt@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-mmap-cpu@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-mmap-gtt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-plane-move@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-plane-onoff: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-plane-onoff@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-render: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-render@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-dpms: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-dpms@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-no-drrs: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-no-drrs@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-blt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-blt@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-mmap-cpu: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-mmap-cpu@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-mmap-gtt: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-page-flip: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-page-flip@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-render: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-render@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-blt@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-mmap-cpu@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-mmap-gtt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-mmap-gtt@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-plane-move@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-plane-onoff: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-plane-onoff@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-render@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-suspend: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-suspend@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@pr-basic: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-cursor-blt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-cursor-mmap-cpu: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-cursor-mmap-gtt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-cursor-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-cursor-plane-onoff: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-cursor-render: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-dpms: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-no-drrs: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-primary-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-primary-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-primary-mmap-gtt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-primary-page-flip: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-primary-render: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-sprite-blt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-sprite-mmap-cpu: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-sprite-mmap-gtt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-sprite-plane-move: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-sprite-plane-onoff: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-sprite-render: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-suspend: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-basic: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-basic@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-blt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-mmap-cpu: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-mmap-gtt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-mmap-gtt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-plane-move: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-plane-move@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-plane-onoff: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-plane-onoff@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-render@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-dpms: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-dpms@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-no-drrs: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-no-drrs@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-blt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-mmap-gtt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-page-flip: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-page-flip@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-render@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-blt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-mmap-gtt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-mmap-gtt@edp-1: - Statuses : 1 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-plane-move@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-plane-onoff: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-plane-onoff@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-suspend: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-suspend@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-basic: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-basic@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-blt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-mmap-cpu: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-mmap-gtt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-mmap-gtt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-plane-move@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-plane-onoff: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-plane-onoff@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-render@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-dpms: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-dpms@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-no-drrs: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-no-drrs@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-mmap-gtt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-mmap-gtt@edp-1: - Statuses : 1 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-page-flip: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-page-flip@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-render: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-render@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-mmap-gtt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-mmap-gtt@edp-1: - Statuses : 1 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-plane-move: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-plane-move@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-plane-onoff: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-render: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-render@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-suspend: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-suspend@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in IGTPW_10318_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@api_intel_bb@crc32: - shard-dg1: NOTRUN -> [SKIP][11] ([i915#6230]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@api_intel_bb@crc32.html * igt@api_intel_bb@object-reloc-purge-cache: - shard-dg2: NOTRUN -> [SKIP][12] ([i915#8411]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@api_intel_bb@object-reloc-purge-cache.html * igt@device_reset@cold-reset-bound: - shard-dg2: NOTRUN -> [SKIP][13] ([i915#7701]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@device_reset@cold-reset-bound.html * igt@drm_fdinfo@busy-hang@rcs0: - shard-mtlp: NOTRUN -> [SKIP][14] ([i915#8414]) +6 other tests skip [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-1/igt@drm_fdinfo@busy-hang@rcs0.html * igt@drm_fdinfo@busy-idle-check-all@vcs1: - shard-dg1: NOTRUN -> [SKIP][15] ([i915#8414]) +4 other tests skip [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@drm_fdinfo@busy-idle-check-all@vcs1.html * igt@drm_fdinfo@virtual-busy-idle: - shard-dg2: NOTRUN -> [SKIP][16] ([i915#8414]) +12 other tests skip [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@drm_fdinfo@virtual-busy-idle.html * igt@gem_busy@semaphore: - shard-mtlp: NOTRUN -> [SKIP][17] ([i915#3936]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@gem_busy@semaphore.html * igt@gem_ctx_freq@sysfs@gt0: - shard-dg2: NOTRUN -> [FAIL][18] ([i915#9561]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gem_ctx_freq@sysfs@gt0.html * igt@gem_ctx_sseu@engines: - shard-dg1: NOTRUN -> [SKIP][19] ([i915#280]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@gem_ctx_sseu@engines.html * igt@gem_ctx_sseu@invalid-args: - shard-dg2: NOTRUN -> [SKIP][20] ([i915#280]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_ctx_sseu@invalid-args.html - shard-mtlp: NOTRUN -> [SKIP][21] ([i915#280]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@gem_ctx_sseu@invalid-args.html * igt@gem_eio@kms: - shard-dg2: [PASS][22] -> [FAIL][23] ([i915#5784]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-10/igt@gem_eio@kms.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_eio@kms.html * igt@gem_exec_balancer@hog: - shard-dg1: NOTRUN -> [SKIP][24] ([i915#4812]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@gem_exec_balancer@hog.html * igt@gem_exec_balancer@sliced: - shard-mtlp: NOTRUN -> [SKIP][25] ([i915#4812]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@gem_exec_balancer@sliced.html * igt@gem_exec_fair@basic-none-share@rcs0: - shard-glk: [PASS][26] -> [FAIL][27] ([i915#2842]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-glk6/igt@gem_exec_fair@basic-none-share@rcs0.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-glk2/igt@gem_exec_fair@basic-none-share@rcs0.html * igt@gem_exec_fair@basic-pace: - shard-dg2: NOTRUN -> [SKIP][28] ([i915#3539]) [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@gem_exec_fair@basic-pace.html * igt@gem_exec_fair@basic-pace@vcs1: - shard-tglu: NOTRUN -> [FAIL][29] ([i915#2842]) +4 other tests fail [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-8/igt@gem_exec_fair@basic-pace@vcs1.html * igt@gem_exec_fence@submit3: - shard-dg2: NOTRUN -> [SKIP][30] ([i915#4812]) +2 other tests skip [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@gem_exec_fence@submit3.html * igt@gem_exec_flush@basic-uc-ro-default: - shard-dg1: NOTRUN -> [SKIP][31] ([i915#3539] / [i915#4852]) +1 other test skip [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@gem_exec_flush@basic-uc-ro-default.html * igt@gem_exec_flush@basic-uc-rw-default: - shard-dg2: NOTRUN -> [SKIP][32] ([i915#3539] / [i915#4852]) +3 other tests skip [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_exec_flush@basic-uc-rw-default.html * igt@gem_exec_reloc@basic-gtt-cpu-noreloc: - shard-mtlp: NOTRUN -> [SKIP][33] ([i915#3281]) +4 other tests skip [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@gem_exec_reloc@basic-gtt-cpu-noreloc.html * igt@gem_exec_reloc@basic-wc: - shard-dg2: NOTRUN -> [SKIP][34] ([i915#3281]) +9 other tests skip [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_exec_reloc@basic-wc.html * igt@gem_exec_reloc@basic-write-read: - shard-dg1: NOTRUN -> [SKIP][35] ([i915#3281]) +3 other tests skip [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@gem_exec_reloc@basic-write-read.html * igt@gem_exec_schedule@semaphore-power: - shard-dg2: NOTRUN -> [SKIP][36] ([i915#4537] / [i915#4812]) +1 other test skip [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_exec_schedule@semaphore-power.html * igt@gem_fence_thrash@bo-write-verify-y: - shard-dg2: NOTRUN -> [SKIP][37] ([i915#4860]) +1 other test skip [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_fence_thrash@bo-write-verify-y.html * igt@gem_lmem_evict@dontneed-evict-race: - shard-glk: NOTRUN -> [SKIP][38] ([fdo#109271] / [i915#4613]) [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-glk8/igt@gem_lmem_evict@dontneed-evict-race.html * igt@gem_lmem_swapping@basic: - shard-mtlp: NOTRUN -> [SKIP][39] ([i915#4613]) +2 other tests skip [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-3/igt@gem_lmem_swapping@basic.html * igt@gem_mmap_gtt@close-race: - shard-dg1: NOTRUN -> [SKIP][40] ([i915#4077]) +5 other tests skip [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@gem_mmap_gtt@close-race.html * igt@gem_mmap_gtt@zero-extend: - shard-dg2: NOTRUN -> [SKIP][41] ([i915#4077]) +10 other tests skip [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_mmap_gtt@zero-extend.html * igt@gem_mmap_wc@write-cpu-read-wc-unflushed: - shard-mtlp: NOTRUN -> [SKIP][42] ([i915#4083]) [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@gem_mmap_wc@write-cpu-read-wc-unflushed.html * igt@gem_mmap_wc@write-wc-read-gtt: - shard-dg2: NOTRUN -> [SKIP][43] ([i915#4083]) +8 other tests skip [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gem_mmap_wc@write-wc-read-gtt.html * igt@gem_partial_pwrite_pread@writes-after-reads: - shard-dg1: NOTRUN -> [SKIP][44] ([i915#3282]) +5 other tests skip [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@gem_partial_pwrite_pread@writes-after-reads.html * igt@gem_pread@snoop: - shard-dg2: NOTRUN -> [SKIP][45] ([i915#3282]) +5 other tests skip [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gem_pread@snoop.html * igt@gem_pxp@regular-baseline-src-copy-readible: - shard-dg2: NOTRUN -> [SKIP][46] ([i915#4270]) +3 other tests skip [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gem_pxp@regular-baseline-src-copy-readible.html * igt@gem_pxp@verify-pxp-stale-buf-optout-execution: - shard-mtlp: NOTRUN -> [SKIP][47] ([i915#4270]) +2 other tests skip [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@gem_pxp@verify-pxp-stale-buf-optout-execution.html * igt@gem_pxp@verify-pxp-stale-ctx-execution: - shard-dg1: NOTRUN -> [SKIP][48] ([i915#4270]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@gem_pxp@verify-pxp-stale-ctx-execution.html * igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs: - shard-mtlp: NOTRUN -> [SKIP][49] ([i915#8428]) +1 other test skip [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs.html * igt@gem_unfence_active_buffers: - shard-dg2: NOTRUN -> [SKIP][50] ([i915#4879]) [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@gem_unfence_active_buffers.html * igt@gem_userptr_blits@create-destroy-unsync: - shard-dg2: NOTRUN -> [SKIP][51] ([i915#3297]) +4 other tests skip [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gem_userptr_blits@create-destroy-unsync.html * igt@gem_userptr_blits@invalid-mmap-offset-unsync: - shard-tglu: NOTRUN -> [SKIP][52] ([i915#3297]) [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-10/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html * igt@gem_userptr_blits@map-fixed-invalidate: - shard-dg2: NOTRUN -> [SKIP][53] ([i915#3297] / [i915#4880]) [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_userptr_blits@map-fixed-invalidate.html * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy: - shard-dg1: NOTRUN -> [SKIP][54] ([i915#3297] / [i915#4880]) [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html * igt@gem_userptr_blits@unsync-overlap: - shard-mtlp: NOTRUN -> [SKIP][55] ([i915#3297]) [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@gem_userptr_blits@unsync-overlap.html * igt@gem_userptr_blits@unsync-unmap-cycles: - shard-dg1: NOTRUN -> [SKIP][56] ([i915#3297]) [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@gem_userptr_blits@unsync-unmap-cycles.html * igt@gem_workarounds@reset: - shard-mtlp: NOTRUN -> [ABORT][57] ([i915#9262]) [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-4/igt@gem_workarounds@reset.html * igt@gen3_render_mixed_blits: - shard-dg1: NOTRUN -> [SKIP][58] ([fdo#109289]) +1 other test skip [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@gen3_render_mixed_blits.html * igt@gen7_exec_parse@basic-allocation: - shard-mtlp: NOTRUN -> [SKIP][59] ([fdo#109289]) +2 other tests skip [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@gen7_exec_parse@basic-allocation.html * igt@gen7_exec_parse@basic-rejected: - shard-dg2: NOTRUN -> [SKIP][60] ([fdo#109289]) +6 other tests skip [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gen7_exec_parse@basic-rejected.html * igt@gen9_exec_parse@allowed-all: - shard-glk: [PASS][61] -> [INCOMPLETE][62] ([i915#5566]) +1 other test incomplete [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-glk1/igt@gen9_exec_parse@allowed-all.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-glk3/igt@gen9_exec_parse@allowed-all.html * igt@gen9_exec_parse@basic-rejected-ctx-param: - shard-tglu: NOTRUN -> [SKIP][63] ([i915#2527] / [i915#2856]) [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-6/igt@gen9_exec_parse@basic-rejected-ctx-param.html - shard-dg2: NOTRUN -> [SKIP][64] ([i915#2856]) [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gen9_exec_parse@basic-rejected-ctx-param.html * igt@gen9_exec_parse@bb-start-far: - shard-dg1: NOTRUN -> [SKIP][65] ([i915#2527]) [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@gen9_exec_parse@bb-start-far.html * igt@gen9_exec_parse@cmd-crossing-page: - shard-mtlp: NOTRUN -> [SKIP][66] ([i915#2856]) +1 other test skip [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@gen9_exec_parse@cmd-crossing-page.html * igt@i915_fb_tiling: - shard-dg2: NOTRUN -> [SKIP][67] ([i915#4881]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@i915_fb_tiling.html * igt@i915_pm_freq_mult@media-freq@gt0: - shard-dg1: NOTRUN -> [SKIP][68] ([i915#6590]) [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@i915_pm_freq_mult@media-freq@gt0.html * igt@i915_pm_rps@thresholds-idle-park@gt0: - shard-mtlp: NOTRUN -> [SKIP][69] ([i915#8925]) +1 other test skip [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@i915_pm_rps@thresholds-idle-park@gt0.html * igt@i915_pm_rps@thresholds-idle-park@gt1: - shard-mtlp: NOTRUN -> [SKIP][70] ([i915#3555] / [i915#8925]) +1 other test skip [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@i915_pm_rps@thresholds-idle-park@gt1.html * igt@i915_pm_rps@thresholds-park@gt0: - shard-dg2: NOTRUN -> [SKIP][71] ([i915#8925]) +1 other test skip [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@i915_pm_rps@thresholds-park@gt0.html * igt@kms_addfb_basic@basic-y-tiled-legacy: - shard-dg2: NOTRUN -> [SKIP][72] ([i915#4215] / [i915#5190]) [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_addfb_basic@basic-y-tiled-legacy.html - shard-mtlp: NOTRUN -> [SKIP][73] ([i915#4212]) [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-3/igt@kms_addfb_basic@basic-y-tiled-legacy.html * igt@kms_addfb_basic@bo-too-small-due-to-tiling: - shard-dg1: NOTRUN -> [SKIP][74] ([i915#4212]) +1 other test skip [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html * igt@kms_addfb_basic@framebuffer-vs-set-tiling: - shard-dg2: NOTRUN -> [SKIP][75] ([i915#4212]) +1 other test skip [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html * igt@kms_atomic_transition@plane-all-modeset-transition: - shard-mtlp: NOTRUN -> [SKIP][76] ([i915#1769] / [i915#3555]) [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-3/igt@kms_atomic_transition@plane-all-modeset-transition.html * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels: - shard-dg2: NOTRUN -> [SKIP][77] ([i915#1769] / [i915#3555]) +1 other test skip [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html - shard-tglu: NOTRUN -> [SKIP][78] ([i915#1769] / [i915#3555]) [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip: - shard-dg1: NOTRUN -> [SKIP][79] ([i915#4538] / [i915#5286]) +3 other tests skip [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0: - shard-mtlp: [PASS][80] -> [FAIL][81] ([i915#5138]) [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-mtlp-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip: - shard-tglu: NOTRUN -> [SKIP][82] ([fdo#111615] / [i915#5286]) +1 other test skip [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html * igt@kms_big_fb@linear-8bpp-rotate-90: - shard-dg1: NOTRUN -> [SKIP][83] ([i915#3638]) +1 other test skip [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-15/igt@kms_big_fb@linear-8bpp-rotate-90.html * igt@kms_big_fb@x-tiled-16bpp-rotate-90: - shard-mtlp: NOTRUN -> [SKIP][84] ([fdo#111614]) [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html * igt@kms_big_fb@x-tiled-32bpp-rotate-270: - shard-dg2: NOTRUN -> [SKIP][85] ([fdo#111614]) +2 other tests skip [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip: - shard-tglu: [PASS][86] -> [FAIL][87] ([i915#3743]) +3 other tests fail [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-tglu-2/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-2/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html * igt@kms_big_fb@y-tiled-64bpp-rotate-0: - shard-dg2: NOTRUN -> [SKIP][88] ([i915#5190]) +14 other tests skip [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html * igt@kms_big_fb@yf-tiled-16bpp-rotate-270: - shard-mtlp: NOTRUN -> [SKIP][89] ([fdo#111615]) +5 other tests skip [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-7/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html * igt@kms_big_fb@yf-tiled-16bpp-rotate-90: - shard-tglu: NOTRUN -> [SKIP][90] ([fdo#111615]) +1 other test skip [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-5/igt@kms_big_fb@yf-tiled-16bpp-rotate-90.html * igt@kms_big_fb@yf-tiled-8bpp-rotate-90: - shard-dg1: NOTRUN -> [SKIP][91] ([i915#4538]) [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html * igt@kms_big_fb@yf-tiled-addfb-size-overflow: - shard-dg1: NOTRUN -> [SKIP][92] ([fdo#111615]) [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-17/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0: - shard-dg2: NOTRUN -> [SKIP][93] ([i915#4538] / [i915#5190]) +6 other tests skip [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html * igt@kms_big_joiner@2x-modeset: - shard-dg1: NOTRUN -> [SKIP][94] ([i915#2705]) [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@kms_big_joiner@2x-modeset.html * igt@kms_cdclk@mode-transition@pipe-b-edp-1: - shard-mtlp: NOTRUN -> [SKIP][95] ([i915#7213] / [i915#9010]) +3 other tests skip [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-1/igt@kms_cdclk@mode-transition@pipe-b-edp-1.html * igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3: - shard-dg2: NOTRUN -> [SKIP][96] ([i915#4087]) +3 other tests skip [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3.html * igt@kms_chamelium_audio@hdmi-audio-edid: - shard-mtlp: NOTRUN -> [SKIP][97] ([i915#7828]) +2 other tests skip [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_chamelium_audio@hdmi-audio-edid.html * igt@kms_chamelium_color@ctm-blue-to-red: - shard-dg2: NOTRUN -> [SKIP][98] ([fdo#111827]) +2 other tests skip [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_chamelium_color@ctm-blue-to-red.html * igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats: - shard-dg2: NOTRUN -> [SKIP][99] ([i915#7828]) +5 other tests skip [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html * igt@kms_chamelium_hpd@dp-hpd-storm: - shard-dg1: NOTRUN -> [SKIP][100] ([i915#7828]) +3 other tests skip [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-19/igt@kms_chamelium_hpd@dp-hpd-storm.html * igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode: - shard-tglu: NOTRUN -> [SKIP][101] ([i915#7828]) [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-9/igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode.html * igt@kms_color@deep-color: - shard-tglu: NOTRUN -> [SKIP][102] ([i915#3555]) [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-9/igt@kms_color@deep-color.html * igt@kms_content_protection@dp-mst-lic-type-0: - shard-dg1: NOTRUN -> [SKIP][103] ([i915#3299]) [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@kms_content_protection@dp-mst-lic-type-0.html * igt@kms_content_protection@dp-mst-lic-type-1: - shard-dg2: NOTRUN -> [SKIP][104] ([i915#3299]) [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_content_protection@dp-mst-lic-type-1.html - shard-mtlp: NOTRUN -> [SKIP][105] ([i915#3299]) [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_content_protection@dp-mst-lic-type-1.html * igt@kms_content_protection@legacy: - shard-dg2: NOTRUN -> [SKIP][106] ([i915#7118]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_content_protection@legacy.html - shard-tglu: NOTRUN -> [SKIP][107] ([i915#6944] / [i915#7116] / [i915#7118]) [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-10/igt@kms_content_protection@legacy.html * igt@kms_content_protection@lic@pipe-a-dp-4: - shard-dg2: NOTRUN -> [TIMEOUT][108] ([i915#7173]) [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_content_protection@lic@pipe-a-dp-4.html * igt@kms_cursor_crc@cursor-offscreen-512x170: - shard-mtlp: NOTRUN -> [SKIP][109] ([i915#3359]) [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_cursor_crc@cursor-offscreen-512x170.html * igt@kms_cursor_crc@cursor-random-512x170: - shard-dg2: NOTRUN -> [SKIP][110] ([i915#3359]) +2 other tests skip [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_cursor_crc@cursor-random-512x170.html * igt@kms_cursor_crc@cursor-rapid-movement-512x512: - shard-tglu: NOTRUN -> [SKIP][111] ([i915#3359]) [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-4/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy: - shard-tglu: NOTRUN -> [SKIP][112] ([fdo#109274]) [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-7/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html * igt@kms_cursor_legacy@cursora-vs-flipb-atomic: - shard-dg2: NOTRUN -> [SKIP][113] ([fdo#109274] / [i915#5354]) [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_cursor_legacy@cursora-vs-flipb-atomic.html * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size: - shard-mtlp: NOTRUN -> [SKIP][114] ([i915#3546]) [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-glk: [PASS][115] -> [FAIL][116] ([i915#2346]) [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-glk8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-glk5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle: - shard-tglu: NOTRUN -> [SKIP][117] ([i915#4103]) [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-3/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html * igt@kms_draw_crc@draw-method-mmap-wc: - shard-dg2: NOTRUN -> [SKIP][118] ([i915#8812]) [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_draw_crc@draw-method-mmap-wc.html * igt@kms_dsc@dsc-fractional-bpp: - shard-mtlp: NOTRUN -> [SKIP][119] ([i915#3840] / [i915#9688]) [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@kms_dsc@dsc-fractional-bpp.html * igt@kms_fbcon_fbt@psr: - shard-dg2: NOTRUN -> [SKIP][120] ([i915#3469]) [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_fbcon_fbt@psr.html * igt@kms_flip@2x-dpms-vs-vblank-race-interruptible: - shard-mtlp: NOTRUN -> [SKIP][121] ([i915#3637]) +5 other tests skip [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@kms_flip@2x-dpms-vs-vblank-race-interruptible.html * igt@kms_flip@2x-modeset-vs-vblank-race: - shard-dg2: NOTRUN -> [SKIP][122] ([fdo#109274]) +8 other tests skip [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_flip@2x-modeset-vs-vblank-race.html * igt@kms_flip@2x-plain-flip: - shard-tglu: NOTRUN -> [SKIP][123] ([fdo#109274] / [i915#3637]) +2 other tests skip [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-9/igt@kms_flip@2x-plain-flip.html * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][124] ([i915#2672]) +1 other test skip [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode: - shard-dg1: NOTRUN -> [SKIP][125] ([i915#2587] / [i915#2672]) +2 other tests skip [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-15/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][126] ([i915#3555] / [i915#8810]) [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][127] ([i915#2672] / [i915#3555]) [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-valid-mode: - shard-dg2: NOTRUN -> [SKIP][128] ([i915#2672]) +6 other tests skip [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-valid-mode.html * igt@kms_force_connector_basic@force-load-detect: - shard-dg1: NOTRUN -> [SKIP][129] ([fdo#109285]) [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt: - shard-dg2: NOTRUN -> [FAIL][130] ([i915#6880]) [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt: - shard-dg2: [PASS][131] -> [FAIL][132] ([i915#6880]) [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt: - shard-dg1: NOTRUN -> [SKIP][133] ([i915#8708]) +9 other tests skip [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-17/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt: - shard-dg2: NOTRUN -> [SKIP][134] ([i915#5354]) +29 other tests skip [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt: - shard-dg1: NOTRUN -> [SKIP][135] ([fdo#111825]) +22 other tests skip [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-blt: - shard-dg2: NOTRUN -> [SKIP][136] ([i915#3458]) +21 other tests skip [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc: - shard-dg2: NOTRUN -> [SKIP][137] ([i915#8708]) +12 other tests skip [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-gtt: - shard-tglu: NOTRUN -> [SKIP][138] ([fdo#109280]) +4 other tests skip [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-9/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-gtt: - shard-mtlp: NOTRUN -> [SKIP][139] ([i915#8708]) +3 other tests skip [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-cpu: - shard-mtlp: NOTRUN -> [SKIP][140] ([i915#1825]) +9 other tests skip [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary: - shard-tglu: NOTRUN -> [SKIP][141] ([fdo#110189]) +6 other tests skip [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-7/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html * igt@kms_frontbuffer_tracking@psr-suspend: - shard-dg1: NOTRUN -> [SKIP][142] ([i915#3458]) +6 other tests skip [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-17/igt@kms_frontbuffer_tracking@psr-suspend.html * igt@kms_hdr@bpc-switch-suspend: - shard-tglu: NOTRUN -> [SKIP][143] ([i915#3555] / [i915#8228]) [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-10/igt@kms_hdr@bpc-switch-suspend.html * igt@kms_hdr@static-toggle-suspend: - shard-dg2: NOTRUN -> [SKIP][144] ([i915#3555] / [i915#8228]) +2 other tests skip [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-5/igt@kms_hdr@static-toggle-suspend.html * igt@kms_panel_fitting@legacy: - shard-dg2: NOTRUN -> [SKIP][145] ([i915#6301]) [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-5/igt@kms_panel_fitting@legacy.html * igt@kms_plane_lowres@tiling-none@pipe-b-edp-1: - shard-mtlp: NOTRUN -> [SKIP][146] ([i915#3582]) +7 other tests skip [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-4/igt@kms_plane_lowres@tiling-none@pipe-b-edp-1.html * igt@kms_plane_lowres@tiling-y: - shard-dg2: NOTRUN -> [SKIP][147] ([i915#8821]) [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_plane_lowres@tiling-y.html * igt@kms_plane_lowres@tiling-yf: - shard-dg1: NOTRUN -> [SKIP][148] ([i915#3555]) +3 other tests skip [148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@kms_plane_lowres@tiling-yf.html * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-hdmi-a-4: - shard-dg1: NOTRUN -> [SKIP][149] ([i915#5176] / [i915#9423]) +3 other tests skip [149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-19/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-hdmi-a-4.html * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-d-dp-4: - shard-dg2: NOTRUN -> [SKIP][150] ([i915#5235]) +15 other tests skip [150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-d-dp-4.html * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-a-edp-1: - shard-mtlp: NOTRUN -> [SKIP][151] ([i915#5235]) +5 other tests skip [151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-a-edp-1.html * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3: - shard-dg1: NOTRUN -> [SKIP][152] ([i915#5235]) +3 other tests skip [152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3.html * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d-edp-1: - shard-mtlp: NOTRUN -> [SKIP][153] ([i915#3555] / [i915#5235]) +1 other test skip [153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d-edp-1.html * igt@kms_prime@basic-crc-hybrid: - shard-dg1: NOTRUN -> [SKIP][154] ([i915#6524]) +1 other test skip [154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@kms_prime@basic-crc-hybrid.html * igt@kms_prime@basic-crc-vgem: - shard-dg2: NOTRUN -> [SKIP][155] ([i915#6524] / [i915#6805]) [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_prime@basic-crc-vgem.html * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf: - shard-dg1: NOTRUN -> [SKIP][156] ([i915#9683]) [156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-19/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html * igt@kms_psr2_su@page_flip-nv12: - shard-dg2: NOTRUN -> [SKIP][157] ([i915#9683]) +3 other tests skip [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_psr2_su@page_flip-nv12.html - shard-tglu: NOTRUN -> [SKIP][158] ([fdo#109642] / [fdo#111068] / [i915#9683]) [158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-9/igt@kms_psr2_su@page_flip-nv12.html * {igt@kms_psr@fbc-psr2-cursor-mmap-gtt} (NEW): - shard-glk: NOTRUN -> [SKIP][159] ([fdo#109271]) +151 other tests skip [159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-glk9/igt@kms_psr@fbc-psr2-cursor-mmap-gtt.html * {igt@kms_psr@psr-sprite-blt} (NEW): - shard-snb: NOTRUN -> [SKIP][160] ([fdo#109271]) +146 other tests skip [160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-snb1/igt@kms_psr@psr-sprite-blt.html * {igt@kms_psr@psr2-primary-mmap-gtt@edp-1} (NEW): - shard-mtlp: NOTRUN -> [SKIP][161] ([i915#4077]) +10 other tests skip [161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@kms_psr@psr2-primary-mmap-gtt@edp-1.html * igt@kms_rotation_crc@bad-pixel-format: - shard-mtlp: NOTRUN -> [SKIP][162] ([i915#4235]) [162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@kms_rotation_crc@bad-pixel-format.html - shard-dg2: NOTRUN -> [SKIP][163] ([i915#4235]) [163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-1/igt@kms_rotation_crc@bad-pixel-format.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90: - shard-dg2: NOTRUN -> [SKIP][164] ([i915#4235] / [i915#5190]) +1 other test skip [164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html * igt@kms_setmode@basic@pipe-a-vga-1: - shard-snb: NOTRUN -> [FAIL][165] ([i915#5465]) +1 other test fail [165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-snb6/igt@kms_setmode@basic@pipe-a-vga-1.html * igt@kms_sysfs_edid_timing: - shard-dg2: [PASS][166] -> [FAIL][167] ([IGT#2]) [166]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-11/igt@kms_sysfs_edid_timing.html [167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_sysfs_edid_timing.html * igt@kms_tiled_display@basic-test-pattern: - shard-dg1: NOTRUN -> [SKIP][168] ([i915#8623]) [168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@kms_tiled_display@basic-test-pattern.html - shard-dg2: NOTRUN -> [SKIP][169] ([i915#8623]) [169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_tiled_display@basic-test-pattern.html * igt@kms_tv_load_detect@load-detect: - shard-mtlp: NOTRUN -> [SKIP][170] ([fdo#109309]) [170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_tv_load_detect@load-detect.html - shard-dg2: NOTRUN -> [SKIP][171] ([fdo#109309]) [171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_tv_load_detect@load-detect.html * igt@kms_vrr@negative-basic: - shard-dg2: NOTRUN -> [SKIP][172] ([i915#3555]) +4 other tests skip [172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_vrr@negative-basic.html * igt@kms_writeback@writeback-fb-id: - shard-dg2: NOTRUN -> [SKIP][173] ([i915#2437]) +1 other test skip [173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_writeback@writeback-fb-id.html - shard-mtlp: NOTRUN -> [SKIP][174] ([i915#2437]) [174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-7/igt@kms_writeback@writeback-fb-id.html * igt@perf@enable-disable@0-rcs0: - shard-dg2: [PASS][175] -> [FAIL][176] ([i915#8724]) [175]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-5/igt@perf@enable-disable@0-rcs0.html [176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@perf@enable-disable@0-rcs0.html * igt@perf@global-sseu-config-invalid: - shard-mtlp: NOTRUN -> [SKIP][177] ([i915#7387]) [177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-7/igt@perf@global-sseu-config-invalid.html - shard-dg2: NOTRUN -> [SKIP][178] ([i915#7387]) [178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@perf@global-sseu-config-invalid.html * igt@perf_pmu@cpu-hotplug: - shard-dg1: NOTRUN -> [SKIP][179] ([i915#8850]) [179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@perf_pmu@cpu-hotplug.html * igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem: - shard-dg2: NOTRUN -> [INCOMPLETE][180] ([i915#5493]) [180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-5/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html * igt@prime_vgem@coherency-gtt: - shard-dg2: NOTRUN -> [SKIP][181] ([i915#3708] / [i915#4077]) [181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@prime_vgem@coherency-gtt.html * igt@prime_vgem@fence-read-hang: - shard-dg2: NOTRUN -> [SKIP][182] ([i915#3708]) [182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@prime_vgem@fence-read-hang.html - shard-mtlp: NOTRUN -> [SKIP][183] ([i915#3708]) [183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-7/igt@prime_vgem@fence-read-hang.html * igt@v3d/v3d_get_bo_offset@create-get-offsets: - shard-dg1: NOTRUN -> [SKIP][184] ([i915#2575]) +3 other tests skip [184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-15/igt@v3d/v3d_get_bo_offset@create-get-offsets.html * igt@v3d/v3d_job_submission@array-job-submission: - shard-dg2: NOTRUN -> [SKIP][185] ([i915#2575]) +15 other tests skip [185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-1/igt@v3d/v3d_job_submission@array-job-submission.html * igt@v3d/v3d_perfmon@get-values-invalid-pad: - shard-tglu: NOTRUN -> [SKIP][186] ([fdo#109315] / [i915#2575]) +3 other tests skip [186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-4/igt@v3d/v3d_perfmon@get-values-invalid-pad.html * igt@v3d/v3d_submit_csd@bad-multisync-extension: - shard-mtlp: NOTRUN -> [SKIP][187] ([i915#2575]) +5 other tests skip [187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@v3d/v3d_submit_csd@bad-multisync-extension.html * igt@vc4/vc4_mmap@mmap-bo: - shard-dg2: NOTRUN -> [SKIP][188] ([i915#7711]) +7 other tests skip [188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@vc4/vc4_mmap@mmap-bo.html * igt@vc4/vc4_purgeable_bo@mark-unpurgeable-purged: - shard-tglu: NOTRUN -> [SKIP][189] ([i915#2575]) +1 other test skip [189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-6/igt@vc4/vc4_purgeable_bo@mark-unpurgeable-purged.html * igt@vc4/vc4_purgeable_bo@mark-unpurgeable-twice: - shard-dg1: NOTRUN -> [SKIP][190] ([i915#7711]) +4 other tests skip [190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-19/igt@vc4/vc4_purgeable_bo@mark-unpurgeable-twice.html * igt@vc4/vc4_wait_bo@used-bo-1ns: - shard-mtlp: NOTRUN -> [SKIP][191] ([i915#7711]) +1 other test skip [191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@vc4/vc4_wait_bo@used-bo-1ns.html #### Possible fixes #### * igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-lmem0-lmem0: - shard-dg2: [INCOMPLETE][192] ([i915#7297]) -> [PASS][193] [192]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-2/igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-lmem0-lmem0.html [193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-lmem0-lmem0.html * igt@gem_eio@hibernate: - shard-tglu: [ABORT][194] ([i915#7975] / [i915#8213] / [i915#8398]) -> [PASS][195] [194]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-tglu-10/igt@gem_eio@hibernate.html [195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-3/igt@gem_eio@hibernate.html - shard-dg2: [ABORT][196] ([i915#7975] / [i915#8213]) -> [PASS][197] [196]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-6/igt@gem_eio@hibernate.html [197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gem_eio@hibernate.html * igt@gem_eio@unwedge-stress: - shard-dg1: [FAIL][198] ([i915#5784]) -> [PASS][199] [198]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg1-16/igt@gem_eio@unwedge-stress.html [199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@gem_eio@unwedge-stress.html * igt@gem_lmem_swapping@smem-oom@lmem0: - shard-dg1: [TIMEOUT][200] ([i915#5493]) -> [PASS][201] [200]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg1-19/igt@gem_lmem_swapping@smem-oom@lmem0.html [201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@gem_lmem_swapping@smem-oom@lmem0.html * {igt@i915_pm_rc6_residency@rc6-idle@gt0-rcs0}: - shard-dg1: [FAIL][202] ([i915#3591]) -> [PASS][203] [202]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg1-12/igt@i915_pm_rc6_residency@rc6-idle@gt0-rcs0.html [203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@i915_pm_rc6_residency@rc6-idle@gt0-rcs0.html * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip: - shard-tglu: [FAIL][204] ([i915#3743]) -> [PASS][205] +1 other test pass [204]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-tglu-2/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html [205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-7/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen: - shard-dg2: [FAIL][206] ([i915#6880]) -> [PASS][207] +1 other test pass [206]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen.html [207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen.html * igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1: - shard-tglu: [FAIL][208] ([i915#8292]) -> [PASS][209] [208]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-tglu-5/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1.html [209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-9/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1.html * {igt@kms_pm_dc@dc6-dpms}: - shard-tglu: [FAIL][210] ([i915#9295]) -> [PASS][211] [210]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-tglu-8/igt@kms_pm_dc@dc6-dpms.html [211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-4/igt@kms_pm_dc@dc6-dpms.html * {igt@kms_pm_rpm@dpms-non-lpsp}: - shard-dg2: [SKIP][212] ([i915#9519]) -> [PASS][213] [212]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-10/igt@kms_pm_rpm@dpms-non-lpsp.html [213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_pm_rpm@dpms-non-lpsp.html * {igt@kms_pm_rpm@i2c}: - shard-dg2: [FAIL][214] ([i915#8717]) -> [PASS][215] [214]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-2/igt@kms_pm_rpm@i2c.html [215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_pm_rpm@i2c.html * igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1: - shard-tglu: [FAIL][216] ([i915#9196]) -> [PASS][217] [216]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-tglu-3/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html [217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-2/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html * igt@perf@non-zero-reason@0-rcs0: - shard-dg2: [FAIL][218] ([i915#7484]) -> [PASS][219] [218]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-11/igt@perf@non-zero-reason@0-rcs0.html [219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-5/igt@perf@non-zero-reason@0-rcs0.html * igt@perf_pmu@busy-double-start@bcs0: - shard-mtlp: [FAIL][220] ([i915#4349]) -> [PASS][221] +1 other test pass [220]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-mtlp-3/igt@perf_pmu@busy-double-start@bcs0.html [221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@perf_pmu@busy-double-start@bcs0.html * igt@perf_pmu@busy-idle-check-all@bcs0: - shard-dg2: [FAIL][222] -> [PASS][223] [222]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-10/igt@perf_pmu@busy-idle-check-all@bcs0.html [223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@perf_pmu@busy-idle-check-all@bcs0.html * igt@perf_pmu@busy-idle-check-all@vcs0: - shard-dg2: [FAIL][224] ([i915#4349]) -> [PASS][225] +5 other tests pass [224]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-10/igt@perf_pmu@busy-idle-check-all@vcs0.html [225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@perf_pmu@busy-idle-check-all@vcs0.html - shard-dg1: [FAIL][226] ([i915#4349]) -> [PASS][227] +3 other tests pass [226]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg1-19/igt@perf_pmu@busy-idle-check-all@vcs0.html [227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@perf_pmu@busy-idle-check-all@vcs0.html #### Warnings #### * igt@device_reset@unbind-reset-rebind: - shard-dg1: [INCOMPLETE][228] -> [INCOMPLETE][229] ([i915#9408]) [228]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg1-12/igt@device_reset@unbind-reset-rebind.html [229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-15/igt@device_reset@unbind-reset-rebind.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109293]: https://bugs.freedesktop.org/show_bug.cgi?id=109293 [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769 [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527 [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705 [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297 [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3582]: https://gitlab.freedesktop.org/drm/intel/issues/3582 [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591 [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637 [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743 [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840 [i915#3936]: https://gitlab.freedesktop.org/drm/intel/issues/3936 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4087]: https://gitlab.freedesktop.org/drm/intel/issues/4087 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215 [i915#4235]: https://gitlab.freedesktop.org/drm/intel/issues/4235 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349 [i915#4537]: https://gitlab.freedesktop.org/drm/intel/issues/4537 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#4879]: https://gitlab.freedesktop.org/drm/intel/issues/4879 [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880 [i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881 [i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#5465]: https://gitlab.freedesktop.org/drm/intel/issues/5465 [i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493 [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566 [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230 [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301 [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590 [i915#6805]: https://gitlab.freedesktop.org/drm/intel/issues/6805 [i915#6880]: https://gitlab.freedesktop.org/drm/intel/issues/6880 [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118 [i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173 [i915#7213]: https://gitlab.freedesktop.org/drm/intel/issues/7213 [i915#7297]: https://gitlab.freedesktop.org/drm/intel/issues/7297 [i915#7387]: https://gitlab.freedesktop.org/drm/intel/issues/7387 [i915#7484]: https://gitlab.freedesktop.org/drm/intel/issues/7484 [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701 [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975 [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213 [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228 [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292 [i915#8398]: https://gitlab.freedesktop.org/drm/intel/issues/8398 [i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411 [i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414 [i915#8428]: https://gitlab.freedesktop.org/drm/intel/issues/8428 [i915#8430]: https://gitlab.freedesktop.org/drm/intel/issues/8430 [i915#8623]: https://gitlab.freedesktop.org/drm/intel/issues/8623 [i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708 [i915#8709]: https://gitlab.freedesktop.org/drm/intel/issues/8709 [i915#8717]: https://gitlab.freedesktop.org/drm/intel/issues/8717 [i915#8724]: https://gitlab.freedesktop.org/drm/intel/issues/8724 [i915#8810]: https://gitlab.freedesktop.org/drm/intel/issues/8810 [i915#8812]: https://gitlab.freedesktop.org/drm/intel/issues/8812 [i915#8821]: https://gitlab.freedesktop.org/drm/intel/issues/8821 [i915#8850]: https://gitlab.freedesktop.org/drm/intel/issues/8850 [i915#8925]: https://gitlab.freedesktop.org/drm/intel/issues/8925 [i915#9010]: https://gitlab.freedesktop.org/drm/intel/issues/9010 [i915#9053]: https://gitlab.freedesktop.org/drm/intel/issues/9053 [i915#9196]: https://gitlab.freedesktop.org/drm/intel/issues/9196 [i915#9262]: https://gitlab.freedesktop.org/drm/intel/issues/9262 [i915#9293]: https://gitlab.freedesktop.org/drm/intel/issues/9293 [i915#9295]: https://gitlab.freedesktop.org/drm/intel/issues/9295 [i915#9337]: https://gitlab.freedesktop.org/drm/intel/issues/9337 [i915#9340]: https://gitlab.freedesktop.org/drm/intel/issues/9340 [i915#9408]: https://gitlab.freedesktop.org/drm/intel/issues/9408 [i915#9423]: https://gitlab.freedesktop.org/drm/intel/issues/9423 [i915#9424]: https://gitlab.freedesktop.org/drm/intel/issues/9424 [i915#9519]: https://gitlab.freedesktop.org/drm/intel/issues/9519 [i915#9561]: https://gitlab.freedesktop.org/drm/intel/issues/9561 [i915#9683]: https://gitlab.freedesktop.org/drm/intel/issues/9683 [i915#9688]: https://gitlab.freedesktop.org/drm/intel/issues/9688 [i915#9723]: https://gitlab.freedesktop.org/drm/intel/issues/9723 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7614 -> IGTPW_10318 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_13959: f9f47d30e408664ad9ec5f823d23254b7f8e46cd @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_10318: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/index.html IGT_7614: c7298ec108dc1c861c9a2593e973648ad9b420b4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/index.html [-- Attachment #2: Type: text/html, Size: 105752 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for Update PSR/PSR2_SF documenation and Add FBC support (rev4) 2023-12-01 12:49 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B ` (6 preceding siblings ...) 2023-12-03 1:08 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork @ 2023-12-05 13:16 ` Patchwork 7 siblings, 0 replies; 16+ messages in thread From: Patchwork @ 2023-12-05 13:16 UTC (permalink / raw) To: Jeevan B; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 92800 bytes --] == Series Details == Series: Update PSR/PSR2_SF documenation and Add FBC support (rev4) URL : https://patchwork.freedesktop.org/series/127121/ State : failure == Summary == CI Bug Log - changes from CI_DRM_13959_full -> IGTPW_10318_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_10318_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_10318_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/index.html Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_10318_full: ### IGT changes ### #### Possible regressions #### * igt@gem_eio@in-flight-10ms: - shard-mtlp: [PASS][1] -> [DMESG-WARN][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-mtlp-4/igt@gem_eio@in-flight-10ms.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@gem_eio@in-flight-10ms.html * igt@gem_exec_suspend@basic-s0@smem: - shard-dg2: NOTRUN -> [INCOMPLETE][3] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-5/igt@gem_exec_suspend@basic-s0@smem.html * igt@kms_pm_dc@dc5-psr: - shard-mtlp: [PASS][4] -> [FAIL][5] [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-mtlp-4/igt@kms_pm_dc@dc5-psr.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-2/igt@kms_pm_dc@dc5-psr.html * {igt@kms_psr@fbc-pr-primary-blt} (NEW): - shard-mtlp: NOTRUN -> [SKIP][6] +39 other tests skip [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_psr@fbc-pr-primary-blt.html * {igt@kms_psr@fbc-psr-no-drrs} (NEW): - shard-tglu: NOTRUN -> [SKIP][7] +137 other tests skip [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-7/igt@kms_psr@fbc-psr-no-drrs.html * {igt@kms_psr@fbc-psr2-cursor-blt@edp-1} (NEW): - shard-mtlp: NOTRUN -> [FAIL][8] +44 other tests fail [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-7/igt@kms_psr@fbc-psr2-cursor-blt@edp-1.html * {igt@kms_psr@psr-cursor-render} (NEW): - shard-dg2: NOTRUN -> [SKIP][9] +99 other tests skip [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_psr@psr-cursor-render.html * {igt@kms_psr@psr-sprite-mmap-cpu} (NEW): - shard-dg1: NOTRUN -> [SKIP][10] +126 other tests skip [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@kms_psr@psr-sprite-mmap-cpu.html New tests --------- New tests have been introduced between CI_DRM_13959_full and IGTPW_10318_full: ### New IGT tests (240) ### * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-fully-sf: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-fully-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-fully-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-sf: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-update-continuous-sf: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-update-continuous-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-cursor-plane-update-continuous-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-fully-sf: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-fully-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-fully-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-sf: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-exceed-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-sf: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf-dmg-area: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf-dmg-area@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf-dmg-area@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-primary-update-sf-dmg-area: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-primary-update-sf-dmg-area@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-overlay-primary-update-sf-dmg-area@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-primary-plane-update-continuous-sf-dmg-area: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-primary-plane-update-continuous-sf-dmg-area-big-fb: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-primary-plane-update-continuous-sf-dmg-area-big-fb@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-primary-plane-update-continuous-sf-dmg-area-big-fb@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-primary-plane-update-continuous-sf-dmg-area@pipe-a-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr2_sf@fbc-primary-plane-update-continuous-sf-dmg-area@pipe-b-edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-basic: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-cursor-blt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-cursor-mmap-cpu: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-cursor-mmap-gtt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-cursor-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-cursor-plane-onoff: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-cursor-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-dpms: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-no-drrs: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-primary-blt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-primary-mmap-cpu: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-primary-mmap-gtt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-primary-page-flip: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-primary-render: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-sprite-blt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-sprite-mmap-cpu: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-sprite-mmap-gtt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-sprite-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-sprite-plane-onoff: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-sprite-render: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-pr-suspend: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-basic: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-basic@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-mmap-cpu: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-mmap-gtt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-plane-move@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-plane-onoff: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-plane-onoff@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-render: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-cursor-render@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-dpms: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-dpms@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-no-drrs: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-no-drrs@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-mmap-cpu: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-mmap-gtt: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-mmap-gtt@edp-1: - Statuses : 1 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-page-flip: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-page-flip@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-primary-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-mmap-gtt: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-mmap-gtt@edp-1: - Statuses : 1 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-plane-move@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-plane-onoff: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-plane-onoff@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-sprite-render@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-suspend: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr-suspend@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-basic: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-basic@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-blt@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-mmap-cpu@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-mmap-gtt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-plane-move@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-plane-onoff: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-plane-onoff@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-render: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-cursor-render@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-dpms: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-dpms@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-no-drrs: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-no-drrs@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-blt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-blt@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-mmap-cpu: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-mmap-cpu@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-mmap-gtt: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-page-flip: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-page-flip@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-render: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-primary-render@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-blt@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-mmap-cpu@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-mmap-gtt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-mmap-gtt@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-plane-move@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-plane-onoff: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-plane-onoff@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-sprite-render@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-suspend: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@fbc-psr2-suspend@edp-1: - Statuses : 1 fail(s) - Exec time: [0.0] s * igt@kms_psr@pr-basic: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-cursor-blt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-cursor-mmap-cpu: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-cursor-mmap-gtt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-cursor-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-cursor-plane-onoff: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-cursor-render: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-dpms: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-no-drrs: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-primary-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-primary-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-primary-mmap-gtt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-primary-page-flip: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-primary-render: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-sprite-blt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-sprite-mmap-cpu: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-sprite-mmap-gtt: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-sprite-plane-move: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-sprite-plane-onoff: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-sprite-render: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@kms_psr@pr-suspend: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-basic: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-basic@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-blt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-mmap-cpu: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-mmap-gtt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-mmap-gtt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-plane-move: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-plane-move@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-plane-onoff: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-plane-onoff@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-cursor-render@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-dpms: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-dpms@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-no-drrs: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-no-drrs@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-blt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-mmap-gtt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-page-flip: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-page-flip@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-primary-render@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-blt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-mmap-gtt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-mmap-gtt@edp-1: - Statuses : 1 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-plane-move@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-plane-onoff: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-plane-onoff@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr-sprite-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-suspend: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr-suspend@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-basic: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-basic@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-blt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-mmap-cpu: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-mmap-gtt: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-mmap-gtt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-plane-move: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-plane-move@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-plane-onoff: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-plane-onoff@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-render: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-cursor-render@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-dpms: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-dpms@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-no-drrs: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-no-drrs@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-mmap-gtt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-mmap-gtt@edp-1: - Statuses : 1 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-page-flip: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-page-flip@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-render: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-primary-render@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-blt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-blt@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-mmap-cpu: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-mmap-cpu@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-mmap-gtt: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-mmap-gtt@edp-1: - Statuses : 1 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-plane-move: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-plane-move@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-plane-onoff: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-render: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-sprite-render@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_psr@psr2-suspend: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@kms_psr@psr2-suspend@edp-1: - Statuses : 1 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in IGTPW_10318_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@api_intel_bb@crc32: - shard-dg1: NOTRUN -> [SKIP][11] ([i915#6230]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@api_intel_bb@crc32.html * igt@api_intel_bb@object-reloc-purge-cache: - shard-dg2: NOTRUN -> [SKIP][12] ([i915#8411]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@api_intel_bb@object-reloc-purge-cache.html * igt@device_reset@cold-reset-bound: - shard-dg2: NOTRUN -> [SKIP][13] ([i915#7701]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@device_reset@cold-reset-bound.html * igt@drm_fdinfo@busy-hang@rcs0: - shard-mtlp: NOTRUN -> [SKIP][14] ([i915#8414]) +6 other tests skip [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-1/igt@drm_fdinfo@busy-hang@rcs0.html * igt@drm_fdinfo@busy-idle-check-all@vcs1: - shard-dg1: NOTRUN -> [SKIP][15] ([i915#8414]) +4 other tests skip [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@drm_fdinfo@busy-idle-check-all@vcs1.html * igt@drm_fdinfo@virtual-busy-idle: - shard-dg2: NOTRUN -> [SKIP][16] ([i915#8414]) +12 other tests skip [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@drm_fdinfo@virtual-busy-idle.html * igt@gem_busy@semaphore: - shard-mtlp: NOTRUN -> [SKIP][17] ([i915#3936]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@gem_busy@semaphore.html * igt@gem_ctx_freq@sysfs@gt0: - shard-dg2: NOTRUN -> [FAIL][18] ([i915#9561]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gem_ctx_freq@sysfs@gt0.html * igt@gem_ctx_sseu@engines: - shard-dg1: NOTRUN -> [SKIP][19] ([i915#280]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@gem_ctx_sseu@engines.html * igt@gem_ctx_sseu@invalid-args: - shard-dg2: NOTRUN -> [SKIP][20] ([i915#280]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_ctx_sseu@invalid-args.html - shard-mtlp: NOTRUN -> [SKIP][21] ([i915#280]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@gem_ctx_sseu@invalid-args.html * igt@gem_eio@kms: - shard-dg2: [PASS][22] -> [FAIL][23] ([i915#5784]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-10/igt@gem_eio@kms.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_eio@kms.html * igt@gem_exec_balancer@hog: - shard-dg1: NOTRUN -> [SKIP][24] ([i915#4812]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@gem_exec_balancer@hog.html * igt@gem_exec_balancer@sliced: - shard-mtlp: NOTRUN -> [SKIP][25] ([i915#4812]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@gem_exec_balancer@sliced.html * igt@gem_exec_fair@basic-none-share@rcs0: - shard-glk: [PASS][26] -> [FAIL][27] ([i915#2842]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-glk6/igt@gem_exec_fair@basic-none-share@rcs0.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-glk2/igt@gem_exec_fair@basic-none-share@rcs0.html * igt@gem_exec_fair@basic-pace: - shard-dg2: NOTRUN -> [SKIP][28] ([i915#3539]) [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@gem_exec_fair@basic-pace.html * igt@gem_exec_fair@basic-pace@vcs1: - shard-tglu: NOTRUN -> [FAIL][29] ([i915#2842]) +4 other tests fail [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-8/igt@gem_exec_fair@basic-pace@vcs1.html * igt@gem_exec_fence@submit3: - shard-dg2: NOTRUN -> [SKIP][30] ([i915#4812]) +2 other tests skip [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@gem_exec_fence@submit3.html * igt@gem_exec_flush@basic-uc-ro-default: - shard-dg1: NOTRUN -> [SKIP][31] ([i915#3539] / [i915#4852]) +1 other test skip [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@gem_exec_flush@basic-uc-ro-default.html * igt@gem_exec_flush@basic-uc-rw-default: - shard-dg2: NOTRUN -> [SKIP][32] ([i915#3539] / [i915#4852]) +3 other tests skip [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_exec_flush@basic-uc-rw-default.html * igt@gem_exec_reloc@basic-gtt-cpu-noreloc: - shard-mtlp: NOTRUN -> [SKIP][33] ([i915#3281]) +4 other tests skip [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@gem_exec_reloc@basic-gtt-cpu-noreloc.html * igt@gem_exec_reloc@basic-wc: - shard-dg2: NOTRUN -> [SKIP][34] ([i915#3281]) +9 other tests skip [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_exec_reloc@basic-wc.html * igt@gem_exec_reloc@basic-write-read: - shard-dg1: NOTRUN -> [SKIP][35] ([i915#3281]) +3 other tests skip [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@gem_exec_reloc@basic-write-read.html * igt@gem_exec_schedule@semaphore-power: - shard-dg2: NOTRUN -> [SKIP][36] ([i915#4537] / [i915#4812]) +1 other test skip [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_exec_schedule@semaphore-power.html * igt@gem_fence_thrash@bo-write-verify-y: - shard-dg2: NOTRUN -> [SKIP][37] ([i915#4860]) +1 other test skip [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_fence_thrash@bo-write-verify-y.html * igt@gem_lmem_evict@dontneed-evict-race: - shard-glk: NOTRUN -> [SKIP][38] ([fdo#109271] / [i915#4613]) [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-glk8/igt@gem_lmem_evict@dontneed-evict-race.html * igt@gem_lmem_swapping@basic: - shard-mtlp: NOTRUN -> [SKIP][39] ([i915#4613]) +2 other tests skip [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-3/igt@gem_lmem_swapping@basic.html * igt@gem_mmap_gtt@close-race: - shard-dg1: NOTRUN -> [SKIP][40] ([i915#4077]) +6 other tests skip [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@gem_mmap_gtt@close-race.html * igt@gem_mmap_gtt@zero-extend: - shard-dg2: NOTRUN -> [SKIP][41] ([i915#4077]) +11 other tests skip [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_mmap_gtt@zero-extend.html * igt@gem_mmap_wc@write-cpu-read-wc-unflushed: - shard-mtlp: NOTRUN -> [SKIP][42] ([i915#4083]) [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@gem_mmap_wc@write-cpu-read-wc-unflushed.html * igt@gem_mmap_wc@write-wc-read-gtt: - shard-dg2: NOTRUN -> [SKIP][43] ([i915#4083]) +8 other tests skip [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gem_mmap_wc@write-wc-read-gtt.html * igt@gem_partial_pwrite_pread@writes-after-reads: - shard-dg1: NOTRUN -> [SKIP][44] ([i915#3282]) +5 other tests skip [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@gem_partial_pwrite_pread@writes-after-reads.html * igt@gem_pread@snoop: - shard-dg2: NOTRUN -> [SKIP][45] ([i915#3282]) +5 other tests skip [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gem_pread@snoop.html * igt@gem_pxp@regular-baseline-src-copy-readible: - shard-dg2: NOTRUN -> [SKIP][46] ([i915#4270]) +3 other tests skip [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gem_pxp@regular-baseline-src-copy-readible.html * igt@gem_pxp@verify-pxp-stale-buf-optout-execution: - shard-mtlp: NOTRUN -> [SKIP][47] ([i915#4270]) +2 other tests skip [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@gem_pxp@verify-pxp-stale-buf-optout-execution.html * igt@gem_pxp@verify-pxp-stale-ctx-execution: - shard-dg1: NOTRUN -> [SKIP][48] ([i915#4270]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@gem_pxp@verify-pxp-stale-ctx-execution.html * igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs: - shard-mtlp: NOTRUN -> [SKIP][49] ([i915#8428]) +1 other test skip [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs.html * igt@gem_unfence_active_buffers: - shard-dg2: NOTRUN -> [SKIP][50] ([i915#4879]) [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@gem_unfence_active_buffers.html * igt@gem_userptr_blits@create-destroy-unsync: - shard-dg2: NOTRUN -> [SKIP][51] ([i915#3297]) +4 other tests skip [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gem_userptr_blits@create-destroy-unsync.html * igt@gem_userptr_blits@invalid-mmap-offset-unsync: - shard-tglu: NOTRUN -> [SKIP][52] ([i915#3297]) [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-10/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html * igt@gem_userptr_blits@map-fixed-invalidate: - shard-dg2: NOTRUN -> [SKIP][53] ([i915#3297] / [i915#4880]) [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gem_userptr_blits@map-fixed-invalidate.html * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy: - shard-dg1: NOTRUN -> [SKIP][54] ([i915#3297] / [i915#4880]) [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html * igt@gem_userptr_blits@unsync-overlap: - shard-mtlp: NOTRUN -> [SKIP][55] ([i915#3297]) [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@gem_userptr_blits@unsync-overlap.html * igt@gem_userptr_blits@unsync-unmap-cycles: - shard-dg1: NOTRUN -> [SKIP][56] ([i915#3297]) [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@gem_userptr_blits@unsync-unmap-cycles.html * igt@gem_workarounds@reset: - shard-mtlp: NOTRUN -> [ABORT][57] ([i915#9262]) [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-4/igt@gem_workarounds@reset.html * igt@gen3_render_mixed_blits: - shard-dg1: NOTRUN -> [SKIP][58] ([fdo#109289]) +1 other test skip [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@gen3_render_mixed_blits.html * igt@gen7_exec_parse@basic-allocation: - shard-mtlp: NOTRUN -> [SKIP][59] ([fdo#109289]) +2 other tests skip [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@gen7_exec_parse@basic-allocation.html * igt@gen7_exec_parse@basic-rejected: - shard-dg2: NOTRUN -> [SKIP][60] ([fdo#109289]) +6 other tests skip [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@gen7_exec_parse@basic-rejected.html * igt@gen9_exec_parse@allowed-all: - shard-glk: [PASS][61] -> [INCOMPLETE][62] ([i915#5566]) +1 other test incomplete [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-glk1/igt@gen9_exec_parse@allowed-all.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-glk3/igt@gen9_exec_parse@allowed-all.html * igt@gen9_exec_parse@basic-rejected-ctx-param: - shard-tglu: NOTRUN -> [SKIP][63] ([i915#2527] / [i915#2856]) [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-6/igt@gen9_exec_parse@basic-rejected-ctx-param.html - shard-dg2: NOTRUN -> [SKIP][64] ([i915#2856]) [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gen9_exec_parse@basic-rejected-ctx-param.html * igt@gen9_exec_parse@bb-start-far: - shard-dg1: NOTRUN -> [SKIP][65] ([i915#2527]) [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@gen9_exec_parse@bb-start-far.html * igt@gen9_exec_parse@cmd-crossing-page: - shard-mtlp: NOTRUN -> [SKIP][66] ([i915#2856]) +1 other test skip [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@gen9_exec_parse@cmd-crossing-page.html * igt@i915_fb_tiling: - shard-dg2: NOTRUN -> [SKIP][67] ([i915#4881]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@i915_fb_tiling.html * igt@i915_pm_freq_mult@media-freq@gt0: - shard-dg1: NOTRUN -> [SKIP][68] ([i915#6590]) [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@i915_pm_freq_mult@media-freq@gt0.html * igt@i915_pm_rps@thresholds-idle-park@gt0: - shard-mtlp: NOTRUN -> [SKIP][69] ([i915#8925]) +1 other test skip [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@i915_pm_rps@thresholds-idle-park@gt0.html * igt@i915_pm_rps@thresholds-idle-park@gt1: - shard-mtlp: NOTRUN -> [SKIP][70] ([i915#3555] / [i915#8925]) +1 other test skip [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@i915_pm_rps@thresholds-idle-park@gt1.html * igt@i915_pm_rps@thresholds-park@gt0: - shard-dg2: NOTRUN -> [SKIP][71] ([i915#8925]) +1 other test skip [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@i915_pm_rps@thresholds-park@gt0.html * igt@kms_addfb_basic@basic-y-tiled-legacy: - shard-dg2: NOTRUN -> [SKIP][72] ([i915#4215] / [i915#5190]) [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_addfb_basic@basic-y-tiled-legacy.html - shard-mtlp: NOTRUN -> [SKIP][73] ([i915#4212]) [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-3/igt@kms_addfb_basic@basic-y-tiled-legacy.html * igt@kms_addfb_basic@bo-too-small-due-to-tiling: - shard-dg1: NOTRUN -> [SKIP][74] ([i915#4212]) +1 other test skip [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html * igt@kms_addfb_basic@framebuffer-vs-set-tiling: - shard-dg2: NOTRUN -> [SKIP][75] ([i915#4212]) +1 other test skip [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-3-y-rc-ccs: - shard-dg1: NOTRUN -> [SKIP][76] ([i915#8709]) +7 other tests skip [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-3-y-rc-ccs.html * igt@kms_atomic_transition@plane-all-modeset-transition: - shard-mtlp: NOTRUN -> [SKIP][77] ([i915#1769] / [i915#3555]) [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-3/igt@kms_atomic_transition@plane-all-modeset-transition.html * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels: - shard-dg2: NOTRUN -> [SKIP][78] ([i915#1769] / [i915#3555]) +1 other test skip [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html - shard-tglu: NOTRUN -> [SKIP][79] ([i915#1769] / [i915#3555]) [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip: - shard-dg1: NOTRUN -> [SKIP][80] ([i915#4538] / [i915#5286]) +3 other tests skip [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0: - shard-mtlp: [PASS][81] -> [FAIL][82] ([i915#5138]) [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-mtlp-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip: - shard-tglu: NOTRUN -> [SKIP][83] ([fdo#111615] / [i915#5286]) +1 other test skip [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html * igt@kms_big_fb@linear-8bpp-rotate-90: - shard-dg1: NOTRUN -> [SKIP][84] ([i915#3638]) +1 other test skip [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-15/igt@kms_big_fb@linear-8bpp-rotate-90.html * igt@kms_big_fb@x-tiled-16bpp-rotate-90: - shard-mtlp: NOTRUN -> [SKIP][85] ([fdo#111614]) [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html * igt@kms_big_fb@x-tiled-32bpp-rotate-270: - shard-dg2: NOTRUN -> [SKIP][86] ([fdo#111614]) +2 other tests skip [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip: - shard-tglu: [PASS][87] -> [FAIL][88] ([i915#3743]) +3 other tests fail [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-tglu-2/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-2/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html * igt@kms_big_fb@y-tiled-64bpp-rotate-0: - shard-dg2: NOTRUN -> [SKIP][89] ([i915#5190]) +14 other tests skip [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html * igt@kms_big_fb@yf-tiled-16bpp-rotate-270: - shard-mtlp: NOTRUN -> [SKIP][90] ([fdo#111615]) +5 other tests skip [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-7/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html * igt@kms_big_fb@yf-tiled-16bpp-rotate-90: - shard-tglu: NOTRUN -> [SKIP][91] ([fdo#111615]) +1 other test skip [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-5/igt@kms_big_fb@yf-tiled-16bpp-rotate-90.html * igt@kms_big_fb@yf-tiled-8bpp-rotate-90: - shard-dg1: NOTRUN -> [SKIP][92] ([i915#4538]) [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html * igt@kms_big_fb@yf-tiled-addfb-size-overflow: - shard-dg1: NOTRUN -> [SKIP][93] ([fdo#111615]) [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-17/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0: - shard-dg2: NOTRUN -> [SKIP][94] ([i915#4538] / [i915#5190]) +6 other tests skip [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html * igt@kms_big_joiner@2x-modeset: - shard-dg1: NOTRUN -> [SKIP][95] ([i915#2705]) [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@kms_big_joiner@2x-modeset.html * igt@kms_ccs@pipe-a-crc-primary-basic-y-tiled-ccs: - shard-tglu: NOTRUN -> [SKIP][96] ([i915#5354] / [i915#6095]) +8 other tests skip [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-8/igt@kms_ccs@pipe-a-crc-primary-basic-y-tiled-ccs.html * igt@kms_ccs@pipe-a-random-ccs-data-4-tiled-dg2-rc-ccs-cc: - shard-dg1: NOTRUN -> [SKIP][97] ([i915#5354] / [i915#6095]) +19 other tests skip [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-19/igt@kms_ccs@pipe-a-random-ccs-data-4-tiled-dg2-rc-ccs-cc.html * igt@kms_ccs@pipe-b-random-ccs-data-4-tiled-dg2-rc-ccs-cc: - shard-mtlp: NOTRUN -> [SKIP][98] ([i915#5354] / [i915#6095]) +17 other tests skip [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-1/igt@kms_ccs@pipe-b-random-ccs-data-4-tiled-dg2-rc-ccs-cc.html * igt@kms_cdclk@mode-transition@pipe-b-edp-1: - shard-mtlp: NOTRUN -> [SKIP][99] ([i915#7213] / [i915#9010]) +3 other tests skip [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-1/igt@kms_cdclk@mode-transition@pipe-b-edp-1.html * igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3: - shard-dg2: NOTRUN -> [SKIP][100] ([i915#4087]) +3 other tests skip [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3.html * igt@kms_chamelium_audio@hdmi-audio-edid: - shard-mtlp: NOTRUN -> [SKIP][101] ([i915#7828]) +2 other tests skip [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_chamelium_audio@hdmi-audio-edid.html * igt@kms_chamelium_color@ctm-blue-to-red: - shard-dg2: NOTRUN -> [SKIP][102] ([fdo#111827]) +2 other tests skip [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_chamelium_color@ctm-blue-to-red.html * igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats: - shard-dg2: NOTRUN -> [SKIP][103] ([i915#7828]) +5 other tests skip [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html * igt@kms_chamelium_hpd@dp-hpd-storm: - shard-dg1: NOTRUN -> [SKIP][104] ([i915#7828]) +3 other tests skip [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-19/igt@kms_chamelium_hpd@dp-hpd-storm.html * igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode: - shard-tglu: NOTRUN -> [SKIP][105] ([i915#7828]) [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-9/igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode.html * igt@kms_color@deep-color: - shard-tglu: NOTRUN -> [SKIP][106] ([i915#3555]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-9/igt@kms_color@deep-color.html * igt@kms_content_protection@content-type-change: - shard-dg2: NOTRUN -> [SKIP][107] ([i915#4098] / [i915#9424]) [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_content_protection@content-type-change.html - shard-mtlp: NOTRUN -> [SKIP][108] ([i915#4098] / [i915#9424]) [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-7/igt@kms_content_protection@content-type-change.html * igt@kms_content_protection@dp-mst-lic-type-0: - shard-dg1: NOTRUN -> [SKIP][109] ([i915#3299]) [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@kms_content_protection@dp-mst-lic-type-0.html * igt@kms_content_protection@dp-mst-lic-type-1: - shard-dg2: NOTRUN -> [SKIP][110] ([i915#3299]) [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_content_protection@dp-mst-lic-type-1.html - shard-mtlp: NOTRUN -> [SKIP][111] ([i915#3299]) [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_content_protection@dp-mst-lic-type-1.html * igt@kms_content_protection@legacy: - shard-dg2: NOTRUN -> [SKIP][112] ([i915#7118]) [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_content_protection@legacy.html - shard-tglu: NOTRUN -> [SKIP][113] ([i915#6944] / [i915#7116] / [i915#7118]) [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-10/igt@kms_content_protection@legacy.html * igt@kms_content_protection@lic@pipe-a-dp-4: - shard-dg2: NOTRUN -> [TIMEOUT][114] ([i915#7173]) [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_content_protection@lic@pipe-a-dp-4.html * igt@kms_content_protection@mei-interface: - shard-tglu: NOTRUN -> [SKIP][115] ([i915#9424]) [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-6/igt@kms_content_protection@mei-interface.html * igt@kms_cursor_crc@cursor-offscreen-512x170: - shard-mtlp: NOTRUN -> [SKIP][116] ([i915#3359]) [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_cursor_crc@cursor-offscreen-512x170.html * igt@kms_cursor_crc@cursor-random-512x170: - shard-dg2: NOTRUN -> [SKIP][117] ([i915#3359]) +2 other tests skip [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_cursor_crc@cursor-random-512x170.html * igt@kms_cursor_crc@cursor-rapid-movement-512x512: - shard-tglu: NOTRUN -> [SKIP][118] ([i915#3359]) [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-4/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy: - shard-tglu: NOTRUN -> [SKIP][119] ([fdo#109274]) [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-7/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html * igt@kms_cursor_legacy@cursora-vs-flipb-atomic: - shard-dg2: NOTRUN -> [SKIP][120] ([fdo#109274] / [i915#5354]) [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_cursor_legacy@cursora-vs-flipb-atomic.html * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size: - shard-mtlp: NOTRUN -> [SKIP][121] ([i915#3546]) [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-glk: [PASS][122] -> [FAIL][123] ([i915#2346]) [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-glk8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-glk5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle: - shard-tglu: NOTRUN -> [SKIP][124] ([i915#4103]) [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-3/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html * igt@kms_dirtyfb@drrs-dirtyfb-ioctl: - shard-dg2: NOTRUN -> [SKIP][125] ([i915#4098]) [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html * igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4: - shard-dg1: NOTRUN -> [SKIP][126] ([i915#9723]) [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4.html * igt@kms_draw_crc@draw-method-mmap-wc: - shard-dg2: NOTRUN -> [SKIP][127] ([i915#8812]) [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_draw_crc@draw-method-mmap-wc.html * igt@kms_dsc@dsc-fractional-bpp: - shard-mtlp: NOTRUN -> [SKIP][128] ([i915#3840] / [i915#9688]) [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@kms_dsc@dsc-fractional-bpp.html * igt@kms_dsc@dsc-with-output-formats-with-bpc: - shard-dg2: NOTRUN -> [SKIP][129] ([i915#3840] / [i915#9053]) [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_dsc@dsc-with-output-formats-with-bpc.html - shard-mtlp: NOTRUN -> [SKIP][130] ([i915#3555] / [i915#3840] / [i915#9053]) [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@kms_dsc@dsc-with-output-formats-with-bpc.html * igt@kms_fbcon_fbt@psr: - shard-dg2: NOTRUN -> [SKIP][131] ([i915#3469]) [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_fbcon_fbt@psr.html * igt@kms_feature_discovery@chamelium: - shard-dg1: NOTRUN -> [SKIP][132] ([i915#4854]) [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@kms_feature_discovery@chamelium.html * igt@kms_feature_discovery@dp-mst: - shard-mtlp: NOTRUN -> [SKIP][133] ([i915#9337]) [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@kms_feature_discovery@dp-mst.html * igt@kms_feature_discovery@psr2: - shard-tglu: NOTRUN -> [SKIP][134] ([i915#658]) [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-5/igt@kms_feature_discovery@psr2.html - shard-dg2: NOTRUN -> [SKIP][135] ([i915#658]) [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_feature_discovery@psr2.html * igt@kms_flip@2x-dpms-vs-vblank-race-interruptible: - shard-mtlp: NOTRUN -> [SKIP][136] ([i915#3637]) +5 other tests skip [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@kms_flip@2x-dpms-vs-vblank-race-interruptible.html * igt@kms_flip@2x-modeset-vs-vblank-race: - shard-dg2: NOTRUN -> [SKIP][137] ([fdo#109274]) +8 other tests skip [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_flip@2x-modeset-vs-vblank-race.html * igt@kms_flip@2x-plain-flip: - shard-tglu: NOTRUN -> [SKIP][138] ([fdo#109274] / [i915#3637]) +2 other tests skip [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-9/igt@kms_flip@2x-plain-flip.html * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][139] ([i915#2672]) +1 other test skip [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode: - shard-dg1: NOTRUN -> [SKIP][140] ([i915#2587] / [i915#2672]) +2 other tests skip [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-15/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][141] ([i915#3555] / [i915#8810]) [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-default-mode: - shard-mtlp: NOTRUN -> [SKIP][142] ([i915#2672] / [i915#3555]) [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-valid-mode: - shard-dg2: NOTRUN -> [SKIP][143] ([i915#2672]) +6 other tests skip [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-valid-mode.html * igt@kms_force_connector_basic@force-load-detect: - shard-dg1: NOTRUN -> [SKIP][144] ([fdo#109285]) [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt: - shard-dg2: NOTRUN -> [FAIL][145] ([i915#6880]) [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt: - shard-dg2: [PASS][146] -> [FAIL][147] ([i915#6880]) [146]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt: - shard-dg1: NOTRUN -> [SKIP][148] ([i915#8708]) +9 other tests skip [148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-17/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt: - shard-dg2: NOTRUN -> [SKIP][149] ([i915#5354]) +80 other tests skip [149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt: - shard-dg1: NOTRUN -> [SKIP][150] ([fdo#111825]) +22 other tests skip [150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-blt: - shard-dg2: NOTRUN -> [SKIP][151] ([i915#3458]) +21 other tests skip [151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc: - shard-dg2: NOTRUN -> [SKIP][152] ([i915#8708]) +12 other tests skip [152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-gtt: - shard-tglu: NOTRUN -> [SKIP][153] ([fdo#109280]) +4 other tests skip [153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-9/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-gtt: - shard-mtlp: NOTRUN -> [SKIP][154] ([i915#8708]) +3 other tests skip [154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-cpu: - shard-mtlp: NOTRUN -> [SKIP][155] ([i915#1825]) +9 other tests skip [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary: - shard-tglu: NOTRUN -> [SKIP][156] ([fdo#110189]) +6 other tests skip [156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-7/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html * igt@kms_frontbuffer_tracking@psr-suspend: - shard-dg1: NOTRUN -> [SKIP][157] ([i915#3458]) +6 other tests skip [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-17/igt@kms_frontbuffer_tracking@psr-suspend.html * igt@kms_hdr@bpc-switch-suspend: - shard-tglu: NOTRUN -> [SKIP][158] ([i915#3555] / [i915#8228]) [158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-10/igt@kms_hdr@bpc-switch-suspend.html * igt@kms_hdr@static-toggle-suspend: - shard-dg2: NOTRUN -> [SKIP][159] ([i915#3555] / [i915#8228]) +2 other tests skip [159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-5/igt@kms_hdr@static-toggle-suspend.html * igt@kms_panel_fitting@legacy: - shard-dg2: NOTRUN -> [SKIP][160] ([i915#6301]) [160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-5/igt@kms_panel_fitting@legacy.html * igt@kms_plane_lowres@tiling-none@pipe-b-edp-1: - shard-mtlp: NOTRUN -> [SKIP][161] ([i915#3582]) +7 other tests skip [161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-4/igt@kms_plane_lowres@tiling-none@pipe-b-edp-1.html * igt@kms_plane_lowres@tiling-y: - shard-dg2: NOTRUN -> [SKIP][162] ([i915#8821]) [162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_plane_lowres@tiling-y.html * igt@kms_plane_lowres@tiling-yf: - shard-dg1: NOTRUN -> [SKIP][163] ([i915#3555]) +3 other tests skip [163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@kms_plane_lowres@tiling-yf.html * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation@pipe-b-hdmi-a-3: - shard-dg2: NOTRUN -> [SKIP][164] ([i915#9423]) +3 other tests skip [164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-5/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation@pipe-b-hdmi-a-3.html * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation@pipe-d-edp-1: - shard-mtlp: NOTRUN -> [SKIP][165] ([i915#5176]) +3 other tests skip [165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation@pipe-d-edp-1.html * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-hdmi-a-4: - shard-dg1: NOTRUN -> [SKIP][166] ([i915#5176] / [i915#9423]) +3 other tests skip [166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-19/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-hdmi-a-4.html * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-a-hdmi-a-3: - shard-dg1: NOTRUN -> [SKIP][167] ([i915#9423]) +11 other tests skip [167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-a-hdmi-a-3.html * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-d-dp-4: - shard-dg2: NOTRUN -> [SKIP][168] ([i915#5235]) +15 other tests skip [168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-d-dp-4.html * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-a-edp-1: - shard-mtlp: NOTRUN -> [SKIP][169] ([i915#5235]) +5 other tests skip [169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-a-edp-1.html * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3: - shard-dg1: NOTRUN -> [SKIP][170] ([i915#5235]) +3 other tests skip [170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3.html * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d-edp-1: - shard-mtlp: NOTRUN -> [SKIP][171] ([i915#3555] / [i915#5235]) +1 other test skip [171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d-edp-1.html * igt@kms_pm_dc@dc5-dpms-negative: - shard-mtlp: NOTRUN -> [SKIP][172] ([i915#9293]) [172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-3/igt@kms_pm_dc@dc5-dpms-negative.html * igt@kms_pm_lpsp@kms-lpsp: - shard-dg2: NOTRUN -> [SKIP][173] ([i915#9340]) [173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-1/igt@kms_pm_lpsp@kms-lpsp.html * igt@kms_pm_lpsp@screens-disabled: - shard-dg2: NOTRUN -> [SKIP][174] ([i915#8430]) [174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_pm_lpsp@screens-disabled.html * igt@kms_pm_rpm@modeset-lpsp: - shard-dg1: NOTRUN -> [SKIP][175] ([i915#9519]) [175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-17/igt@kms_pm_rpm@modeset-lpsp.html * igt@kms_pm_rpm@modeset-lpsp-stress: - shard-dg2: [PASS][176] -> [SKIP][177] ([i915#9519]) [176]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-10/igt@kms_pm_rpm@modeset-lpsp-stress.html [177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-5/igt@kms_pm_rpm@modeset-lpsp-stress.html * igt@kms_pm_rpm@pc8-residency: - shard-dg2: NOTRUN -> [SKIP][178] ([fdo#109293] / [fdo#109506]) [178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-1/igt@kms_pm_rpm@pc8-residency.html - shard-mtlp: NOTRUN -> [SKIP][179] ([fdo#109293]) [179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-4/igt@kms_pm_rpm@pc8-residency.html * igt@kms_prime@basic-crc-hybrid: - shard-dg1: NOTRUN -> [SKIP][180] ([i915#6524]) +1 other test skip [180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@kms_prime@basic-crc-hybrid.html * igt@kms_prime@basic-crc-vgem: - shard-dg2: NOTRUN -> [SKIP][181] ([i915#6524] / [i915#6805]) [181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_prime@basic-crc-vgem.html * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf: - shard-dg1: NOTRUN -> [SKIP][182] ([i915#9683]) [182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-19/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html * igt@kms_psr2_su@page_flip-nv12: - shard-dg2: NOTRUN -> [SKIP][183] ([i915#9683]) +3 other tests skip [183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_psr2_su@page_flip-nv12.html - shard-tglu: NOTRUN -> [SKIP][184] ([fdo#109642] / [fdo#111068] / [i915#9683]) [184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-9/igt@kms_psr2_su@page_flip-nv12.html * {igt@kms_psr@fbc-psr2-cursor-mmap-gtt} (NEW): - shard-glk: NOTRUN -> [SKIP][185] ([fdo#109271]) +165 other tests skip [185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-glk9/igt@kms_psr@fbc-psr2-cursor-mmap-gtt.html * {igt@kms_psr@psr-sprite-blt} (NEW): - shard-snb: NOTRUN -> [SKIP][186] ([fdo#109271]) +146 other tests skip [186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-snb1/igt@kms_psr@psr-sprite-blt.html * {igt@kms_psr@psr2-primary-mmap-gtt@edp-1} (NEW): - shard-mtlp: NOTRUN -> [SKIP][187] ([i915#4077]) +10 other tests skip [187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@kms_psr@psr2-primary-mmap-gtt@edp-1.html * igt@kms_rotation_crc@bad-pixel-format: - shard-mtlp: NOTRUN -> [SKIP][188] ([i915#4235]) [188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@kms_rotation_crc@bad-pixel-format.html - shard-dg2: NOTRUN -> [SKIP][189] ([i915#4235]) [189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-1/igt@kms_rotation_crc@bad-pixel-format.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90: - shard-dg2: NOTRUN -> [SKIP][190] ([i915#4235] / [i915#5190]) +1 other test skip [190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html * igt@kms_setmode@basic@pipe-a-vga-1: - shard-snb: NOTRUN -> [FAIL][191] ([i915#5465]) +1 other test fail [191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-snb6/igt@kms_setmode@basic@pipe-a-vga-1.html * igt@kms_sysfs_edid_timing: - shard-dg2: [PASS][192] -> [FAIL][193] ([IGT#2]) [192]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-11/igt@kms_sysfs_edid_timing.html [193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_sysfs_edid_timing.html * igt@kms_tiled_display@basic-test-pattern: - shard-dg1: NOTRUN -> [SKIP][194] ([i915#8623]) [194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@kms_tiled_display@basic-test-pattern.html - shard-dg2: NOTRUN -> [SKIP][195] ([i915#8623]) [195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_tiled_display@basic-test-pattern.html * igt@kms_tv_load_detect@load-detect: - shard-mtlp: NOTRUN -> [SKIP][196] ([fdo#109309]) [196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-6/igt@kms_tv_load_detect@load-detect.html - shard-dg2: NOTRUN -> [SKIP][197] ([fdo#109309]) [197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_tv_load_detect@load-detect.html * igt@kms_vrr@negative-basic: - shard-dg2: NOTRUN -> [SKIP][198] ([i915#3555]) +4 other tests skip [198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_vrr@negative-basic.html * igt@kms_writeback@writeback-fb-id: - shard-dg2: NOTRUN -> [SKIP][199] ([i915#2437]) +1 other test skip [199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@kms_writeback@writeback-fb-id.html - shard-mtlp: NOTRUN -> [SKIP][200] ([i915#2437]) [200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-7/igt@kms_writeback@writeback-fb-id.html * igt@perf@enable-disable@0-rcs0: - shard-dg2: [PASS][201] -> [FAIL][202] ([i915#8724]) [201]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-5/igt@perf@enable-disable@0-rcs0.html [202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@perf@enable-disable@0-rcs0.html * igt@perf@global-sseu-config-invalid: - shard-mtlp: NOTRUN -> [SKIP][203] ([i915#7387]) [203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-7/igt@perf@global-sseu-config-invalid.html - shard-dg2: NOTRUN -> [SKIP][204] ([i915#7387]) [204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@perf@global-sseu-config-invalid.html * igt@perf_pmu@cpu-hotplug: - shard-dg1: NOTRUN -> [SKIP][205] ([i915#8850]) [205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@perf_pmu@cpu-hotplug.html * igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem: - shard-dg2: NOTRUN -> [INCOMPLETE][206] ([i915#5493]) [206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-5/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html * igt@prime_vgem@coherency-gtt: - shard-dg2: NOTRUN -> [SKIP][207] ([i915#3708] / [i915#4077]) [207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@prime_vgem@coherency-gtt.html * igt@prime_vgem@fence-read-hang: - shard-dg2: NOTRUN -> [SKIP][208] ([i915#3708]) [208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-6/igt@prime_vgem@fence-read-hang.html - shard-mtlp: NOTRUN -> [SKIP][209] ([i915#3708]) [209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-7/igt@prime_vgem@fence-read-hang.html * igt@v3d/v3d_get_bo_offset@create-get-offsets: - shard-dg1: NOTRUN -> [SKIP][210] ([i915#2575]) +3 other tests skip [210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-15/igt@v3d/v3d_get_bo_offset@create-get-offsets.html * igt@v3d/v3d_job_submission@array-job-submission: - shard-dg2: NOTRUN -> [SKIP][211] ([i915#2575]) +15 other tests skip [211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-1/igt@v3d/v3d_job_submission@array-job-submission.html * igt@v3d/v3d_perfmon@get-values-invalid-pad: - shard-tglu: NOTRUN -> [SKIP][212] ([fdo#109315] / [i915#2575]) +3 other tests skip [212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-4/igt@v3d/v3d_perfmon@get-values-invalid-pad.html * igt@v3d/v3d_submit_csd@bad-multisync-extension: - shard-mtlp: NOTRUN -> [SKIP][213] ([i915#2575]) +5 other tests skip [213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-5/igt@v3d/v3d_submit_csd@bad-multisync-extension.html * igt@vc4/vc4_mmap@mmap-bo: - shard-dg2: NOTRUN -> [SKIP][214] ([i915#7711]) +7 other tests skip [214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@vc4/vc4_mmap@mmap-bo.html * igt@vc4/vc4_purgeable_bo@mark-unpurgeable-purged: - shard-tglu: NOTRUN -> [SKIP][215] ([i915#2575]) +1 other test skip [215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-6/igt@vc4/vc4_purgeable_bo@mark-unpurgeable-purged.html * igt@vc4/vc4_purgeable_bo@mark-unpurgeable-twice: - shard-dg1: NOTRUN -> [SKIP][216] ([i915#7711]) +4 other tests skip [216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-19/igt@vc4/vc4_purgeable_bo@mark-unpurgeable-twice.html * igt@vc4/vc4_wait_bo@used-bo-1ns: - shard-mtlp: NOTRUN -> [SKIP][217] ([i915#7711]) +1 other test skip [217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@vc4/vc4_wait_bo@used-bo-1ns.html #### Possible fixes #### * igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-lmem0-lmem0: - shard-dg2: [INCOMPLETE][218] ([i915#7297]) -> [PASS][219] [218]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-2/igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-lmem0-lmem0.html [219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-lmem0-lmem0.html * igt@gem_eio@hibernate: - shard-tglu: [ABORT][220] ([i915#7975] / [i915#8213] / [i915#8398]) -> [PASS][221] [220]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-tglu-10/igt@gem_eio@hibernate.html [221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-3/igt@gem_eio@hibernate.html - shard-dg2: [ABORT][222] ([i915#7975] / [i915#8213]) -> [PASS][223] [222]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-6/igt@gem_eio@hibernate.html [223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@gem_eio@hibernate.html * igt@gem_eio@unwedge-stress: - shard-dg1: [FAIL][224] ([i915#5784]) -> [PASS][225] [224]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg1-16/igt@gem_eio@unwedge-stress.html [225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@gem_eio@unwedge-stress.html * igt@gem_lmem_swapping@smem-oom@lmem0: - shard-dg1: [TIMEOUT][226] ([i915#5493]) -> [PASS][227] [226]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg1-19/igt@gem_lmem_swapping@smem-oom@lmem0.html [227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-12/igt@gem_lmem_swapping@smem-oom@lmem0.html * igt@i915_pm_rc6_residency@rc6-idle@gt0-rcs0: - shard-dg1: [FAIL][228] ([i915#3591]) -> [PASS][229] [228]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg1-12/igt@i915_pm_rc6_residency@rc6-idle@gt0-rcs0.html [229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-16/igt@i915_pm_rc6_residency@rc6-idle@gt0-rcs0.html * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip: - shard-tglu: [FAIL][230] ([i915#3743]) -> [PASS][231] +1 other test pass [230]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-tglu-2/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html [231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-7/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen: - shard-dg2: [FAIL][232] ([i915#6880]) -> [PASS][233] +1 other test pass [232]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen.html [233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen.html * igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1: - shard-tglu: [FAIL][234] ([i915#8292]) -> [PASS][235] [234]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-tglu-5/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1.html [235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-9/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1.html * igt@kms_pm_dc@dc6-dpms: - shard-tglu: [FAIL][236] ([i915#9295]) -> [PASS][237] [236]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-tglu-8/igt@kms_pm_dc@dc6-dpms.html [237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-4/igt@kms_pm_dc@dc6-dpms.html * igt@kms_pm_rpm@dpms-non-lpsp: - shard-dg2: [SKIP][238] ([i915#9519]) -> [PASS][239] [238]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-10/igt@kms_pm_rpm@dpms-non-lpsp.html [239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-2/igt@kms_pm_rpm@dpms-non-lpsp.html * igt@kms_pm_rpm@i2c: - shard-dg2: [FAIL][240] ([i915#8717]) -> [PASS][241] [240]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-2/igt@kms_pm_rpm@i2c.html [241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@kms_pm_rpm@i2c.html * igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1: - shard-tglu: [FAIL][242] ([i915#9196]) -> [PASS][243] [242]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-tglu-3/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html [243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-tglu-2/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html * igt@perf@non-zero-reason@0-rcs0: - shard-dg2: [FAIL][244] ([i915#7484]) -> [PASS][245] [244]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-11/igt@perf@non-zero-reason@0-rcs0.html [245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-5/igt@perf@non-zero-reason@0-rcs0.html * igt@perf_pmu@busy-double-start@bcs0: - shard-mtlp: [FAIL][246] ([i915#4349]) -> [PASS][247] +1 other test pass [246]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-mtlp-3/igt@perf_pmu@busy-double-start@bcs0.html [247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-mtlp-8/igt@perf_pmu@busy-double-start@bcs0.html * igt@perf_pmu@busy-idle-check-all@bcs0: - shard-dg2: [FAIL][248] ([i915#9763]) -> [PASS][249] [248]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-10/igt@perf_pmu@busy-idle-check-all@bcs0.html [249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@perf_pmu@busy-idle-check-all@bcs0.html * igt@perf_pmu@busy-idle-check-all@vcs0: - shard-dg2: [FAIL][250] ([i915#4349]) -> [PASS][251] +5 other tests pass [250]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg2-10/igt@perf_pmu@busy-idle-check-all@vcs0.html [251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg2-10/igt@perf_pmu@busy-idle-check-all@vcs0.html - shard-dg1: [FAIL][252] ([i915#4349]) -> [PASS][253] +3 other tests pass [252]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg1-19/igt@perf_pmu@busy-idle-check-all@vcs0.html [253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-18/igt@perf_pmu@busy-idle-check-all@vcs0.html #### Warnings #### * igt@device_reset@unbind-reset-rebind: - shard-dg1: [INCOMPLETE][254] -> [INCOMPLETE][255] ([i915#9408]) [254]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13959/shard-dg1-12/igt@device_reset@unbind-reset-rebind.html [255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/shard-dg1-15/igt@device_reset@unbind-reset-rebind.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109293]: https://bugs.freedesktop.org/show_bug.cgi?id=109293 [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769 [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527 [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705 [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297 [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3582]: https://gitlab.freedesktop.org/drm/intel/issues/3582 [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591 [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637 [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743 [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840 [i915#3936]: https://gitlab.freedesktop.org/drm/intel/issues/3936 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4087]: https://gitlab.freedesktop.org/drm/intel/issues/4087 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215 [i915#4235]: https://gitlab.freedesktop.org/drm/intel/issues/4235 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349 [i915#4537]: https://gitlab.freedesktop.org/drm/intel/issues/4537 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#4879]: https://gitlab.freedesktop.org/drm/intel/issues/4879 [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880 [i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881 [i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#5465]: https://gitlab.freedesktop.org/drm/intel/issues/5465 [i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493 [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566 [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230 [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301 [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590 [i915#6805]: https://gitlab.freedesktop.org/drm/intel/issues/6805 [i915#6880]: https://gitlab.freedesktop.org/drm/intel/issues/6880 [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118 [i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173 [i915#7213]: https://gitlab.freedesktop.org/drm/intel/issues/7213 [i915#7297]: https://gitlab.freedesktop.org/drm/intel/issues/7297 [i915#7387]: https://gitlab.freedesktop.org/drm/intel/issues/7387 [i915#7484]: https://gitlab.freedesktop.org/drm/intel/issues/7484 [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701 [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975 [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213 [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228 [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292 [i915#8398]: https://gitlab.freedesktop.org/drm/intel/issues/8398 [i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411 [i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414 [i915#8428]: https://gitlab.freedesktop.org/drm/intel/issues/8428 [i915#8430]: https://gitlab.freedesktop.org/drm/intel/issues/8430 [i915#8623]: https://gitlab.freedesktop.org/drm/intel/issues/8623 [i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708 [i915#8709]: https://gitlab.freedesktop.org/drm/intel/issues/8709 [i915#8717]: https://gitlab.freedesktop.org/drm/intel/issues/8717 [i915#8724]: https://gitlab.freedesktop.org/drm/intel/issues/8724 [i915#8810]: https://gitlab.freedesktop.org/drm/intel/issues/8810 [i915#8812]: https://gitlab.freedesktop.org/drm/intel/issues/8812 [i915#8821]: https://gitlab.freedesktop.org/drm/intel/issues/8821 [i915#8850]: https://gitlab.freedesktop.org/drm/intel/issues/8850 [i915#8925]: https://gitlab.freedesktop.org/drm/intel/issues/8925 [i915#9010]: https://gitlab.freedesktop.org/drm/intel/issues/9010 [i915#9053]: https://gitlab.freedesktop.org/drm/intel/issues/9053 [i915#9196]: https://gitlab.freedesktop.org/drm/intel/issues/9196 [i915#9262]: https://gitlab.freedesktop.org/drm/intel/issues/9262 [i915#9293]: https://gitlab.freedesktop.org/drm/intel/issues/9293 [i915#9295]: https://gitlab.freedesktop.org/drm/intel/issues/9295 [i915#9337]: https://gitlab.freedesktop.org/drm/intel/issues/9337 [i915#9340]: https://gitlab.freedesktop.org/drm/intel/issues/9340 [i915#9408]: https://gitlab.freedesktop.org/drm/intel/issues/9408 [i915#9423]: https://gitlab.freedesktop.org/drm/intel/issues/9423 [i915#9424]: https://gitlab.freedesktop.org/drm/intel/issues/9424 [i915#9519]: https://gitlab.freedesktop.org/drm/intel/issues/9519 [i915#9561]: https://gitlab.freedesktop.org/drm/intel/issues/9561 [i915#9683]: https://gitlab.freedesktop.org/drm/intel/issues/9683 [i915#9688]: https://gitlab.freedesktop.org/drm/intel/issues/9688 [i915#9723]: https://gitlab.freedesktop.org/drm/intel/issues/9723 [i915#9763]: https://gitlab.freedesktop.org/drm/intel/issues/9763 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7614 -> IGTPW_10318 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_13959: f9f47d30e408664ad9ec5f823d23254b7f8e46cd @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_10318: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/index.html IGT_7614: c7298ec108dc1c861c9a2593e973648ad9b420b4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10318/index.html [-- Attachment #2: Type: text/html, Size: 114706 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support @ 2023-12-04 9:59 Jeevan B 2023-12-04 9:59 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B 0 siblings, 1 reply; 16+ messages in thread From: Jeevan B @ 2023-12-04 9:59 UTC (permalink / raw) To: igt-dev fix kms_psr documentation, subtest naming and add fbc support/test for kms_psr, kms_psr2_sf. v2: rebase v3: correct the skip logic for unsupported platform. Signed-off-by: Jeevan B <jeevan.b@intel.com> Jeevan B (3): tests/intel/kms_psr: fix subtest naming tests/intel/kms_psr: Add FBC support to PSR/PSR2/PR tests tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Swati Sharma (1): tests/intel/kms_psr: fix documentation lib/igt_psr.h | 5 + tests/intel/kms_psr.c | 572 +++++++++++++++++++---------------- tests/intel/kms_psr2_sf.c | 609 +++++++++++++++++++++----------------- 3 files changed, 652 insertions(+), 534 deletions(-) -- 2.25.1 ^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests 2023-12-04 9:59 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B @ 2023-12-04 9:59 ` Jeevan B 0 siblings, 0 replies; 16+ messages in thread From: Jeevan B @ 2023-12-04 9:59 UTC (permalink / raw) To: igt-dev For LunarLake (intel_display_ver 20), FBC can be enabled along with PSR2, thereby adding FBC checks to validate this scenario. Signed-off-by: Jeevan B <jeevan.b@intel.com> Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com> Reviewed-by: Swati Sharma <swati2.sharma@intel.com> --- tests/intel/kms_psr2_sf.c | 609 +++++++++++++++++++++----------------- 1 file changed, 338 insertions(+), 271 deletions(-) diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c index 27faa93d9..76435f501 100644 --- a/tests/intel/kms_psr2_sf.c +++ b/tests/intel/kms_psr2_sf.c @@ -37,6 +37,7 @@ #include "igt_sysfs.h" #include "igt_psr.h" #include "kms_dsc_helper.h" +#include "i915/intel_fbc.h" #include <errno.h> #include <stdbool.h> #include <stdio.h> @@ -47,6 +48,10 @@ * Description: Test that selective fetch works on moving %arg[1] plane %arg[2] * visible area (no update) * + * SUBTEST: fbc-%s-plane-move-continuous-%s + * Description: Test that fbc with selective fetch works on moving %arg[1] plane %arg[2] + * visible area (no update) + * * arg[1]: * * @cursor: Cursor @@ -63,24 +68,46 @@ * SUBTEST: cursor-plane-update-sf * Description: Test that selective fetch works on cursor plane * + * SUBTEST: fbc-cursor-plane-update-continuous-sf + * Description: Test that fbc with selective fetch works on cursor plane + * * SUBTEST: overlay-plane-update-continuous-sf * Description: Test that selective fetch works on overlay plane * + * SUBTEST: fbc-overlay-plane-update-continuous-sf-dmg-area + * Description: Test that fbc with selective fetch works on overlay plane + * * SUBTEST: overlay-plane-update-sf-dmg-area * Description: Test that selective fetch works on overlay plane * + * SUBTEST: fbc-overlay-plane-update-continuous-sf + * Description: Test that fbc with selective fetch works on overlay plane + * * SUBTEST: overlay-primary-update-sf-dmg-area * Description: Test that selective fetch works on primary plane with blended * overlay plane * + * SUBTEST: fbc-overlay-primary-update-sf-dmg-area + * Description: Test that fbc with selective fetch works on primary plane with blended + * overlay plane + * * SUBTEST: plane-move-sf-dmg-area * Description: Test that selective fetch works on moving overlay plane * + * SUBTEST: fbc-plane-move-sf-dmg-area + * Description: Test that fbc with selective fetch works on moving overlay plane + * * SUBTEST: primary-plane-update-sf-dmg-area * Description: Test that selective fetch works on primary plane * + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area + * Description: Test that fbc with selective fetch works on primary plane + * * SUBTEST: primary-plane-update-sf-dmg-area-big-fb * Description: Test that selective fetch works on primary plane with big fb + * + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area-big-fb + * Description: Test that fbc with selective fetch works on primary plane with big fb */ IGT_TEST_DESCRIPTION("Tests to varify PSR2 selective fetch by sending multiple" @@ -131,10 +158,12 @@ typedef struct { struct drm_mode_rect plane_move_clip; struct drm_mode_rect cursor_clip; enum operations op; + enum fbc_mode op_fbc_mode; enum plane_move_postion pos; int test_plane_id; igt_plane_t *test_plane; bool big_fb_test; + bool fbc_flag; cairo_t *cr; uint32_t screen_changes; int cur_x, cur_y; @@ -439,6 +468,9 @@ static void prepare(data_t *data) if (data->coexist_feature & FEATURE_DSC) igt_require_f(igt_is_dsc_enabled(data->drm_fd, output->name), "DSC is not enabled\n"); + if (data->op_fbc_mode == FBC_ENABLED) + igt_require_f(data->fbc_flag, + "Can't test FBC with PSR\n"); } static inline void manual(const char *expected) @@ -840,6 +872,11 @@ static void run(data_t *data) igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL)); + if (data->fbc_flag == true && data->op_fbc_mode == FBC_ENABLED) + igt_assert_f(intel_fbc_wait_until_enabled(data->drm_fd, + data->pipe), + "FBC still disabled"); + data->screen_changes = 0; switch (data->op) { @@ -942,10 +979,15 @@ igt_main { data_t data = {}; igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES]; - int i, j, k; + int i, j, k, y; int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES]; int n_pipes = 0; int coexist_features[IGT_MAX_PIPES * IGT_MAX_PIPES]; + const char *append_fbc_subtest[2] = { + "", + "fbc-" + }; + int fbc_status[] = {FBC_DISABLED, FBC_ENABLED}; igt_fixture { drmModeResPtr res; @@ -961,6 +1003,11 @@ igt_main display_init(&data); + if ((intel_display_ver(intel_get_drm_devid(data.drm_fd)) >= 20) && + (intel_fbc_supported_on_chipset(data.drm_fd, data.pipe))) { + data.fbc_flag = true; + } + /* Test if PSR2 can be enabled */ igt_require_f(psr_enable(data.drm_fd, data.debugfs_fd, PSR_MODE_2_SEL_FETCH), @@ -995,54 +1042,116 @@ igt_main } } - /* Verify primary plane selective fetch */ - igt_describe("Test that selective fetch works on primary plane"); - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; + for (y = 0; y < ARRAY_SIZE(fbc_status); y++) { + data.op_fbc_mode = fbc_status[y]; + /* Verify primary plane selective fetch */ + igt_describe("Test that selective fetch works on primary plane"); + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) + continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } + } + } + } + + /* Verify primary plane selective fetch with big fb */ + data.big_fb_test = 1; + igt_describe("Test that selective fetch works on primary plane with big fb"); + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area-big-fb", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } } } } } - } - /* Verify primary plane selective fetch with big fb */ - data.big_fb_test = 1; - igt_describe("Test that selective fetch works on primary plane with big fb"); - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area-big-fb", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; + data.big_fb_test = 0; + /* Verify overlay plane selective fetch */ + igt_describe("Test that selective fetch works on overlay plane"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) + continue; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } + } + } + } - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.damage_area_count = 1; + /* Verify cursor plane selective fetch */ + igt_describe("Test that selective fetch works on cursor plane"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1050,28 +1159,25 @@ igt_main } } } - } - - data.big_fb_test = 0; - /* Verify overlay plane selective fetch */ - igt_describe("Test that selective fetch works on overlay plane"); - igt_subtest_with_dynamic_f("overlay-%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS; + igt_describe("Test that selective fetch works on moving cursor plane (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1079,130 +1185,137 @@ igt_main } } } - } - data.damage_area_count = 1; - /* Verify cursor plane selective fetch */ - igt_describe("Test that selective fetch works on cursor plane"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; + igt_describe("Test that selective fetch works on moving cursor plane exceeding " + "partially visible area (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - - data.op = PLANE_MOVE_CONTINUOUS; - igt_describe("Test that selective fetch works on moving cursor plane (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; + igt_describe("Test that selective fetch works on moving cursor plane exceeding " + "fully visible area (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; - igt_describe("Test that selective fetch works on moving cursor plane exceeding partially visible area (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* Only for overlay plane */ + data.op = PLANE_MOVE; + /* Verify overlay plane move selective fetch */ + igt_describe("Test that selective fetch works on moving overlay plane"); + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { + data.pos = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } } } } - } - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; - igt_describe("Test that selective fetch works on moving cursor plane exceeding fully visible area (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS; + igt_describe("Test that selective fetch works on moving overlay plane (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { data.pipe = pipes[i]; data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); + } } } } - } - /* Only for overlay plane */ - data.op = PLANE_MOVE; - /* Verify overlay plane move selective fetch */ - igt_describe("Test that selective fetch works on moving overlay plane"); - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; + igt_describe("Test that selective fetch works on moving overlay plane partially " + "exceeding visible area (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { - data.pos = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1210,103 +1323,88 @@ igt_main } } } - } - - data.op = PLANE_MOVE_CONTINUOUS; - igt_describe("Test that selective fetch works on moving overlay plane (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; + igt_describe("Test that selective fetch works on moving overlay plane fully " + "exceeding visible area (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); - } - } - } - } - - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; - igt_describe("Test that selective fetch works on moving overlay plane partially exceeding visible area (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) - continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; - igt_describe("Test that selective fetch works on moving overlay plane fully exceeding visible area (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* Verify primary plane selective fetch with overplay plane blended */ + data.op = OVERLAY_PRIM_UPDATE; + igt_describe("Test that selective fetch works on primary plane " + "with blended overlay plane"); + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } + } } } } - } - /* Verify primary plane selective fetch with overplay plane blended */ - data.op = OVERLAY_PRIM_UPDATE; - igt_describe("Test that selective fetch works on primary plane " - "with blended overlay plane"); - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* + * Verify overlay plane selective fetch using NV12 primary + * plane and continuous updates. + */ + data.op = PLANE_UPDATE_CONTINUOUS; + data.primary_format = DRM_FORMAT_NV12; + igt_describe("Test that selective fetch works on overlay plane"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.damage_area_count = 1; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; data.coexist_feature = j; prepare(&data); run(&data); @@ -1317,37 +1415,6 @@ igt_main } } - /* - * Verify overlay plane selective fetch using NV12 primary - * plane and continuous updates. - */ - data.op = PLANE_UPDATE_CONTINUOUS; - data.primary_format = DRM_FORMAT_NV12; - igt_describe("Test that selective fetch works on overlay plane"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) - continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.damage_area_count = 1; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); - } - } - } - } - igt_fixture { close(data.debugfs_fd); display_fini(&data); -- 2.25.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support @ 2023-12-04 9:52 Jeevan B 2023-12-04 9:53 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B 0 siblings, 1 reply; 16+ messages in thread From: Jeevan B @ 2023-12-04 9:52 UTC (permalink / raw) To: igt-dev fix kms_psr documentation, subtest naming and add fbc support/test for kms_psr, kms_psr2_sf. v2: rebase v3: correct the skip logic for unsupported platform. Signed-off-by: Jeevan B <jeevan.b@intel.com> Jeevan B (3): tests/intel/kms_psr: fix subtest naming tests/intel/kms_psr: Add FBC support to PSR/PSR2/PR tests tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Swati Sharma (1): tests/intel/kms_psr: fix documentation lib/igt_psr.h | 5 + tests/intel/kms_psr.c | 572 +++++++++++++++++++---------------- tests/intel/kms_psr2_sf.c | 609 +++++++++++++++++++++----------------- 3 files changed, 652 insertions(+), 534 deletions(-) -- 2.25.1 ^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests 2023-12-04 9:52 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B @ 2023-12-04 9:53 ` Jeevan B 0 siblings, 0 replies; 16+ messages in thread From: Jeevan B @ 2023-12-04 9:53 UTC (permalink / raw) To: igt-dev For LunarLake (intel_display_ver 20), FBC can be enabled along with PSR2, thereby adding FBC checks to validate this scenario. Signed-off-by: Jeevan B <jeevan.b@intel.com> Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com> --- tests/intel/kms_psr2_sf.c | 609 +++++++++++++++++++++----------------- 1 file changed, 338 insertions(+), 271 deletions(-) diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c index 27faa93d9..76435f501 100644 --- a/tests/intel/kms_psr2_sf.c +++ b/tests/intel/kms_psr2_sf.c @@ -37,6 +37,7 @@ #include "igt_sysfs.h" #include "igt_psr.h" #include "kms_dsc_helper.h" +#include "i915/intel_fbc.h" #include <errno.h> #include <stdbool.h> #include <stdio.h> @@ -47,6 +48,10 @@ * Description: Test that selective fetch works on moving %arg[1] plane %arg[2] * visible area (no update) * + * SUBTEST: fbc-%s-plane-move-continuous-%s + * Description: Test that fbc with selective fetch works on moving %arg[1] plane %arg[2] + * visible area (no update) + * * arg[1]: * * @cursor: Cursor @@ -63,24 +68,46 @@ * SUBTEST: cursor-plane-update-sf * Description: Test that selective fetch works on cursor plane * + * SUBTEST: fbc-cursor-plane-update-continuous-sf + * Description: Test that fbc with selective fetch works on cursor plane + * * SUBTEST: overlay-plane-update-continuous-sf * Description: Test that selective fetch works on overlay plane * + * SUBTEST: fbc-overlay-plane-update-continuous-sf-dmg-area + * Description: Test that fbc with selective fetch works on overlay plane + * * SUBTEST: overlay-plane-update-sf-dmg-area * Description: Test that selective fetch works on overlay plane * + * SUBTEST: fbc-overlay-plane-update-continuous-sf + * Description: Test that fbc with selective fetch works on overlay plane + * * SUBTEST: overlay-primary-update-sf-dmg-area * Description: Test that selective fetch works on primary plane with blended * overlay plane * + * SUBTEST: fbc-overlay-primary-update-sf-dmg-area + * Description: Test that fbc with selective fetch works on primary plane with blended + * overlay plane + * * SUBTEST: plane-move-sf-dmg-area * Description: Test that selective fetch works on moving overlay plane * + * SUBTEST: fbc-plane-move-sf-dmg-area + * Description: Test that fbc with selective fetch works on moving overlay plane + * * SUBTEST: primary-plane-update-sf-dmg-area * Description: Test that selective fetch works on primary plane * + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area + * Description: Test that fbc with selective fetch works on primary plane + * * SUBTEST: primary-plane-update-sf-dmg-area-big-fb * Description: Test that selective fetch works on primary plane with big fb + * + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area-big-fb + * Description: Test that fbc with selective fetch works on primary plane with big fb */ IGT_TEST_DESCRIPTION("Tests to varify PSR2 selective fetch by sending multiple" @@ -131,10 +158,12 @@ typedef struct { struct drm_mode_rect plane_move_clip; struct drm_mode_rect cursor_clip; enum operations op; + enum fbc_mode op_fbc_mode; enum plane_move_postion pos; int test_plane_id; igt_plane_t *test_plane; bool big_fb_test; + bool fbc_flag; cairo_t *cr; uint32_t screen_changes; int cur_x, cur_y; @@ -439,6 +468,9 @@ static void prepare(data_t *data) if (data->coexist_feature & FEATURE_DSC) igt_require_f(igt_is_dsc_enabled(data->drm_fd, output->name), "DSC is not enabled\n"); + if (data->op_fbc_mode == FBC_ENABLED) + igt_require_f(data->fbc_flag, + "Can't test FBC with PSR\n"); } static inline void manual(const char *expected) @@ -840,6 +872,11 @@ static void run(data_t *data) igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL)); + if (data->fbc_flag == true && data->op_fbc_mode == FBC_ENABLED) + igt_assert_f(intel_fbc_wait_until_enabled(data->drm_fd, + data->pipe), + "FBC still disabled"); + data->screen_changes = 0; switch (data->op) { @@ -942,10 +979,15 @@ igt_main { data_t data = {}; igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES]; - int i, j, k; + int i, j, k, y; int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES]; int n_pipes = 0; int coexist_features[IGT_MAX_PIPES * IGT_MAX_PIPES]; + const char *append_fbc_subtest[2] = { + "", + "fbc-" + }; + int fbc_status[] = {FBC_DISABLED, FBC_ENABLED}; igt_fixture { drmModeResPtr res; @@ -961,6 +1003,11 @@ igt_main display_init(&data); + if ((intel_display_ver(intel_get_drm_devid(data.drm_fd)) >= 20) && + (intel_fbc_supported_on_chipset(data.drm_fd, data.pipe))) { + data.fbc_flag = true; + } + /* Test if PSR2 can be enabled */ igt_require_f(psr_enable(data.drm_fd, data.debugfs_fd, PSR_MODE_2_SEL_FETCH), @@ -995,54 +1042,116 @@ igt_main } } - /* Verify primary plane selective fetch */ - igt_describe("Test that selective fetch works on primary plane"); - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; + for (y = 0; y < ARRAY_SIZE(fbc_status); y++) { + data.op_fbc_mode = fbc_status[y]; + /* Verify primary plane selective fetch */ + igt_describe("Test that selective fetch works on primary plane"); + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) + continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } + } + } + } + + /* Verify primary plane selective fetch with big fb */ + data.big_fb_test = 1; + igt_describe("Test that selective fetch works on primary plane with big fb"); + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area-big-fb", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } } } } } - } - /* Verify primary plane selective fetch with big fb */ - data.big_fb_test = 1; - igt_describe("Test that selective fetch works on primary plane with big fb"); - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area-big-fb", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; + data.big_fb_test = 0; + /* Verify overlay plane selective fetch */ + igt_describe("Test that selective fetch works on overlay plane"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) + continue; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } + } + } + } - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.damage_area_count = 1; + /* Verify cursor plane selective fetch */ + igt_describe("Test that selective fetch works on cursor plane"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1050,28 +1159,25 @@ igt_main } } } - } - - data.big_fb_test = 0; - /* Verify overlay plane selective fetch */ - igt_describe("Test that selective fetch works on overlay plane"); - igt_subtest_with_dynamic_f("overlay-%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS; + igt_describe("Test that selective fetch works on moving cursor plane (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1079,130 +1185,137 @@ igt_main } } } - } - data.damage_area_count = 1; - /* Verify cursor plane selective fetch */ - igt_describe("Test that selective fetch works on cursor plane"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; + igt_describe("Test that selective fetch works on moving cursor plane exceeding " + "partially visible area (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - - data.op = PLANE_MOVE_CONTINUOUS; - igt_describe("Test that selective fetch works on moving cursor plane (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; + igt_describe("Test that selective fetch works on moving cursor plane exceeding " + "fully visible area (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; - igt_describe("Test that selective fetch works on moving cursor plane exceeding partially visible area (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* Only for overlay plane */ + data.op = PLANE_MOVE; + /* Verify overlay plane move selective fetch */ + igt_describe("Test that selective fetch works on moving overlay plane"); + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { + data.pos = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } } } } - } - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; - igt_describe("Test that selective fetch works on moving cursor plane exceeding fully visible area (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS; + igt_describe("Test that selective fetch works on moving overlay plane (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { data.pipe = pipes[i]; data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); + } } } } - } - /* Only for overlay plane */ - data.op = PLANE_MOVE; - /* Verify overlay plane move selective fetch */ - igt_describe("Test that selective fetch works on moving overlay plane"); - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; + igt_describe("Test that selective fetch works on moving overlay plane partially " + "exceeding visible area (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { - data.pos = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1210,103 +1323,88 @@ igt_main } } } - } - - data.op = PLANE_MOVE_CONTINUOUS; - igt_describe("Test that selective fetch works on moving overlay plane (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; + igt_describe("Test that selective fetch works on moving overlay plane fully " + "exceeding visible area (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); - } - } - } - } - - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; - igt_describe("Test that selective fetch works on moving overlay plane partially exceeding visible area (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) - continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; - igt_describe("Test that selective fetch works on moving overlay plane fully exceeding visible area (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* Verify primary plane selective fetch with overplay plane blended */ + data.op = OVERLAY_PRIM_UPDATE; + igt_describe("Test that selective fetch works on primary plane " + "with blended overlay plane"); + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } + } } } } - } - /* Verify primary plane selective fetch with overplay plane blended */ - data.op = OVERLAY_PRIM_UPDATE; - igt_describe("Test that selective fetch works on primary plane " - "with blended overlay plane"); - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* + * Verify overlay plane selective fetch using NV12 primary + * plane and continuous updates. + */ + data.op = PLANE_UPDATE_CONTINUOUS; + data.primary_format = DRM_FORMAT_NV12; + igt_describe("Test that selective fetch works on overlay plane"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.damage_area_count = 1; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; data.coexist_feature = j; prepare(&data); run(&data); @@ -1317,37 +1415,6 @@ igt_main } } - /* - * Verify overlay plane selective fetch using NV12 primary - * plane and continuous updates. - */ - data.op = PLANE_UPDATE_CONTINUOUS; - data.primary_format = DRM_FORMAT_NV12; - igt_describe("Test that selective fetch works on overlay plane"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) - continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.damage_area_count = 1; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); - } - } - } - } - igt_fixture { close(data.debugfs_fd); display_fini(&data); -- 2.25.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support @ 2023-12-01 12:47 Jeevan B 2023-12-01 12:47 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B 0 siblings, 1 reply; 16+ messages in thread From: Jeevan B @ 2023-12-01 12:47 UTC (permalink / raw) To: igt-dev fix kms_psr documentation, subtest naming and add fbc support/test for kms_psr, kms_psr2_sf. v2: rebase Signed-off-by: Jeevan B <jeevan.b@intel.com> Jeevan B (3): tests/intel/kms_psr: fix subtest naming tests/intel/kms_psr: Add FBC support to PSR/PSR2/PR tests tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Swati Sharma (1): tests/intel/kms_psr: fix documentation lib/igt_psr.h | 5 + tests/intel/kms_psr.c | 569 ++++++++++++++++++---------------- tests/intel/kms_psr2_sf.c | 623 +++++++++++++++++++++----------------- 3 files changed, 662 insertions(+), 535 deletions(-) -- 2.25.1 ^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests 2023-12-01 12:47 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B @ 2023-12-01 12:47 ` Jeevan B 0 siblings, 0 replies; 16+ messages in thread From: Jeevan B @ 2023-12-01 12:47 UTC (permalink / raw) To: igt-dev For LunarLake (intel_display_ver 20), FBC can be enabled along with PSR2, thereby adding FBC checks to validate this scenario. Signed-off-by: Jeevan B <jeevan.b@intel.com> Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com> --- tests/intel/kms_psr2_sf.c | 623 +++++++++++++++++++++----------------- 1 file changed, 351 insertions(+), 272 deletions(-) diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c index 27faa93d9..779dd8c58 100644 --- a/tests/intel/kms_psr2_sf.c +++ b/tests/intel/kms_psr2_sf.c @@ -28,11 +28,11 @@ * Description: Tests to varify PSR2 selective fetch by sending multiple damaged * areas * Driver requirement: i915, xe - * Functionality: plane, psr2, selective_fetch * Mega feature: PSR * Test category: functionality test */ +#include "i915/intel_fbc.h" #include "igt.h" #include "igt_sysfs.h" #include "igt_psr.h" @@ -46,6 +46,12 @@ * SUBTEST: %s-plane-move-continuous-%s * Description: Test that selective fetch works on moving %arg[1] plane %arg[2] * visible area (no update) + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-%s-plane-move-continuous-%s + * Description: Test that fbc with selective fetch works on moving %arg[1] plane %arg[2] + * visible area (no update) + * Functionality: plane, psr2, selective_fetch, fbc * * arg[1]: * @@ -62,25 +68,61 @@ /** * SUBTEST: cursor-plane-update-sf * Description: Test that selective fetch works on cursor plane + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-cursor-plane-update-continuous-sf + * Description: Test that fbc with selective fetch works on cursor plane + * Functionality: plane, psr2, selective_fetch, fbc * * SUBTEST: overlay-plane-update-continuous-sf * Description: Test that selective fetch works on overlay plane + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-overlay-plane-update-continuous-sf-dmg-area + * Description: Test that fbc with selective fetch works on overlay plane + * Functionality: plane, psr2, selective_fetch, fbc * * SUBTEST: overlay-plane-update-sf-dmg-area * Description: Test that selective fetch works on overlay plane + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-overlay-plane-update-continuous-sf + * Description: Test that fbc with selective fetch works on overlay plane + * Functionality: plane, psr2, selective_fetch, fbc * * SUBTEST: overlay-primary-update-sf-dmg-area * Description: Test that selective fetch works on primary plane with blended * overlay plane + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-overlay-primary-update-sf-dmg-area + * Description: Test that fbc with selective fetch works on primary plane with blended + * overlay plane + * Functionality: plane, psr2, selective_fetch, fbc * * SUBTEST: plane-move-sf-dmg-area * Description: Test that selective fetch works on moving overlay plane + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-plane-move-sf-dmg-area + * Description: Test that fbc with selective fetch works on moving overlay plane + * Functionality: plane, psr2, selective_fetch, fbc * * SUBTEST: primary-plane-update-sf-dmg-area * Description: Test that selective fetch works on primary plane + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area + * Description: Test that fbc with selective fetch works on primary plane + * Functionality: plane, psr2, selective_fetch, fbc * * SUBTEST: primary-plane-update-sf-dmg-area-big-fb * Description: Test that selective fetch works on primary plane with big fb + * Functionality: plane, psr2, selective_fetch + * + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area-big-fb + * Description: Test that fbc with selective fetch works on primary plane with big fb + * Functionality: plane, psr2, selective_fetch, fbc */ IGT_TEST_DESCRIPTION("Tests to varify PSR2 selective fetch by sending multiple" @@ -131,10 +173,12 @@ typedef struct { struct drm_mode_rect plane_move_clip; struct drm_mode_rect cursor_clip; enum operations op; + enum fbc_mode op_fbc_mode; enum plane_move_postion pos; int test_plane_id; igt_plane_t *test_plane; bool big_fb_test; + bool fbc_flag; cairo_t *cr; uint32_t screen_changes; int cur_x, cur_y; @@ -840,6 +884,11 @@ static void run(data_t *data) igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL)); + if (data->fbc_flag == true && data->op_fbc_mode == FBC_ENABLED) + igt_assert_f(intel_fbc_wait_until_enabled(data->drm_fd, + data->pipe), + "FBC still disabled"); + data->screen_changes = 0; switch (data->op) { @@ -942,10 +991,15 @@ igt_main { data_t data = {}; igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES]; - int i, j, k; + int i, j, k, y; int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES]; int n_pipes = 0; int coexist_features[IGT_MAX_PIPES * IGT_MAX_PIPES]; + const char *append_fbc_subtest[2] = { + "", + "fbc-" + }; + int fbc_status[] = {FBC_DISABLED, FBC_ENABLED}; igt_fixture { drmModeResPtr res; @@ -961,6 +1015,11 @@ igt_main display_init(&data); + if ((intel_display_ver(intel_get_drm_devid(data.drm_fd) == 20)) && + (intel_fbc_supported_on_chipset(data.drm_fd, data.pipe))) { + data.fbc_flag = true; + } + /* Test if PSR2 can be enabled */ igt_require_f(psr_enable(data.drm_fd, data.debugfs_fd, PSR_MODE_2_SEL_FETCH), @@ -995,54 +1054,116 @@ igt_main } } - /* Verify primary plane selective fetch */ - igt_describe("Test that selective fetch works on primary plane"); - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; + for (y = 0; y < ARRAY_SIZE(fbc_status); y++) { + data.op_fbc_mode = fbc_status[y]; + /* Verify primary plane selective fetch */ + igt_describe("Test that selective fetch works on primary plane"); + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) + continue; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } + } + } + } - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* Verify primary plane selective fetch with big fb */ + data.big_fb_test = 1; + igt_describe("Test that selective fetch works on primary plane with big fb"); + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area-big-fb", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } } } } } - } - /* Verify primary plane selective fetch with big fb */ - data.big_fb_test = 1; - igt_describe("Test that selective fetch works on primary plane with big fb"); - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area-big-fb", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; + data.big_fb_test = 0; + /* Verify overlay plane selective fetch */ + igt_describe("Test that selective fetch works on overlay plane"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) + continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } + } + } + } + + data.damage_area_count = 1; + /* Verify cursor plane selective fetch */ + igt_describe("Test that selective fetch works on cursor plane"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1050,28 +1171,25 @@ igt_main } } } - } - data.big_fb_test = 0; - /* Verify overlay plane selective fetch */ - igt_describe("Test that selective fetch works on overlay plane"); - igt_subtest_with_dynamic_f("overlay-%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS; + igt_describe("Test that selective fetch works on moving cursor plane (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1079,130 +1197,137 @@ igt_main } } } - } - - data.damage_area_count = 1; - /* Verify cursor plane selective fetch */ - igt_describe("Test that selective fetch works on cursor plane"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; + igt_describe("Test that selective fetch works on moving cursor plane exceeding " + "partially visible area (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - data.op = PLANE_MOVE_CONTINUOUS; - igt_describe("Test that selective fetch works on moving cursor plane (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; + igt_describe("Test that selective fetch works on moving cursor plane exceeding " + "fully visible area (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; - igt_describe("Test that selective fetch works on moving cursor plane exceeding partially visible area (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* Only for overlay plane */ + data.op = PLANE_MOVE; + /* Verify overlay plane move selective fetch */ + igt_describe("Test that selective fetch works on moving overlay plane"); + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { + data.pos = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } } } } - } - - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; - igt_describe("Test that selective fetch works on moving cursor plane exceeding fully visible area (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS; + igt_describe("Test that selective fetch works on moving overlay plane (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { data.pipe = pipes[i]; data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); + } } } } - } - /* Only for overlay plane */ - data.op = PLANE_MOVE; - /* Verify overlay plane move selective fetch */ - igt_describe("Test that selective fetch works on moving overlay plane"); - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; + igt_describe("Test that selective fetch works on moving overlay plane partially " + "exceeding visible area (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { - data.pos = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1210,103 +1335,88 @@ igt_main } } } - } - - data.op = PLANE_MOVE_CONTINUOUS; - igt_describe("Test that selective fetch works on moving overlay plane (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; + igt_describe("Test that selective fetch works on moving overlay plane fully " + "exceeding visible area (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); - } - } - } - } - - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; - igt_describe("Test that selective fetch works on moving overlay plane partially exceeding visible area (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) - continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; - igt_describe("Test that selective fetch works on moving overlay plane fully exceeding visible area (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* Verify primary plane selective fetch with overplay plane blended */ + data.op = OVERLAY_PRIM_UPDATE; + igt_describe("Test that selective fetch works on primary plane " + "with blended overlay plane"); + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } + } } } } - } - /* Verify primary plane selective fetch with overplay plane blended */ - data.op = OVERLAY_PRIM_UPDATE; - igt_describe("Test that selective fetch works on primary plane " - "with blended overlay plane"); - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* + * Verify overlay plane selective fetch using NV12 primary + * plane and continuous updates. + */ + data.op = PLANE_UPDATE_CONTINUOUS; + data.primary_format = DRM_FORMAT_NV12; + igt_describe("Test that selective fetch works on overlay plane"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.damage_area_count = 1; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; data.coexist_feature = j; prepare(&data); run(&data); @@ -1317,37 +1427,6 @@ igt_main } } - /* - * Verify overlay plane selective fetch using NV12 primary - * plane and continuous updates. - */ - data.op = PLANE_UPDATE_CONTINUOUS; - data.primary_format = DRM_FORMAT_NV12; - igt_describe("Test that selective fetch works on overlay plane"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) - continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.damage_area_count = 1; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); - } - } - } - } - igt_fixture { close(data.debugfs_fd); display_fini(&data); -- 2.25.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support @ 2023-12-01 11:22 Jeevan B 2023-12-01 11:22 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B 0 siblings, 1 reply; 16+ messages in thread From: Jeevan B @ 2023-12-01 11:22 UTC (permalink / raw) To: igt-dev fix kms_psr documentation, subtest naming and add fbc support/test for kms_psr, kms_psr2_sf. v2: rebase Signed-off-by: Jeevan B <jeevan.b@intel.com> Jeevan B (3): tests/intel/kms_psr: fix subtest naming tests/intel/kms_psr: Add FBC support to PSR/PSR2/PR tests tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Swati Sharma (1): tests/intel/kms_psr: fix documentation lib/igt_psr.h | 5 + tests/intel/kms_psr.c | 569 ++++++++++++++++++----------------- tests/intel/kms_psr2_sf.c | 606 +++++++++++++++++++++----------------- 3 files changed, 646 insertions(+), 534 deletions(-) -- 2.25.1 ^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests 2023-12-01 11:22 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B @ 2023-12-01 11:22 ` Jeevan B 2023-12-01 11:44 ` Sharma, Swati2 0 siblings, 1 reply; 16+ messages in thread From: Jeevan B @ 2023-12-01 11:22 UTC (permalink / raw) To: igt-dev For LunarLake (intel_display_ver 20), FBC can be enabled along with PSR2, thereby adding FBC checks to validate this scenario. Signed-off-by: Jeevan B <jeevan.b@intel.com> Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com> --- tests/intel/kms_psr2_sf.c | 606 +++++++++++++++++++++----------------- 1 file changed, 335 insertions(+), 271 deletions(-) diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c index 27faa93d9..77bc23213 100644 --- a/tests/intel/kms_psr2_sf.c +++ b/tests/intel/kms_psr2_sf.c @@ -37,6 +37,7 @@ #include "igt_sysfs.h" #include "igt_psr.h" #include "kms_dsc_helper.h" +#include "i915/intel_fbc.h" #include <errno.h> #include <stdbool.h> #include <stdio.h> @@ -47,6 +48,10 @@ * Description: Test that selective fetch works on moving %arg[1] plane %arg[2] * visible area (no update) * + * SUBTEST: fbc-%s-plane-move-continuous-%s + * Description: Test that fbc with selective fetch works on moving %arg[1] plane %arg[2] + * visible area (no update) + * * arg[1]: * * @cursor: Cursor @@ -63,24 +68,46 @@ * SUBTEST: cursor-plane-update-sf * Description: Test that selective fetch works on cursor plane * + * SUBTEST: fbc-cursor-plane-update-continuous-sf + * Description: Test that fbc with selective fetch works on cursor plane + * * SUBTEST: overlay-plane-update-continuous-sf * Description: Test that selective fetch works on overlay plane * + * SUBTEST: fbc-overlay-plane-update-continuous-sf-dmg-area + * Description: Test that fbc with selective fetch works on overlay plane + * * SUBTEST: overlay-plane-update-sf-dmg-area * Description: Test that selective fetch works on overlay plane * + * SUBTEST: fbc-overlay-plane-update-continuous-sf + * Description: Test that fbc with selective fetch works on overlay plane + * * SUBTEST: overlay-primary-update-sf-dmg-area * Description: Test that selective fetch works on primary plane with blended * overlay plane * + * SUBTEST: fbc-overlay-primary-update-sf-dmg-area + * Description: Test that fbc with selective fetch works on primary plane with blended + * overlay plane + * * SUBTEST: plane-move-sf-dmg-area * Description: Test that selective fetch works on moving overlay plane * + * SUBTEST: fbc-plane-move-sf-dmg-area + * Description: Test that fbc with selective fetch works on moving overlay plane + * * SUBTEST: primary-plane-update-sf-dmg-area * Description: Test that selective fetch works on primary plane * + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area + * Description: Test that fbc with selective fetch works on primary plane + * * SUBTEST: primary-plane-update-sf-dmg-area-big-fb * Description: Test that selective fetch works on primary plane with big fb + * + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area-big-fb + * Description: Test that fbc with selective fetch works on primary plane with big fb */ IGT_TEST_DESCRIPTION("Tests to varify PSR2 selective fetch by sending multiple" @@ -131,10 +158,12 @@ typedef struct { struct drm_mode_rect plane_move_clip; struct drm_mode_rect cursor_clip; enum operations op; + enum fbc_mode op_fbc_mode; enum plane_move_postion pos; int test_plane_id; igt_plane_t *test_plane; bool big_fb_test; + bool fbc_flag; cairo_t *cr; uint32_t screen_changes; int cur_x, cur_y; @@ -840,6 +869,11 @@ static void run(data_t *data) igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL)); + if (data->fbc_flag == true && data->op_fbc_mode == FBC_ENABLED) + igt_assert_f(intel_fbc_wait_until_enabled(data->drm_fd, + data->pipe), + "FBC still disabled"); + data->screen_changes = 0; switch (data->op) { @@ -942,10 +976,15 @@ igt_main { data_t data = {}; igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES]; - int i, j, k; + int i, j, k, y; int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES]; int n_pipes = 0; int coexist_features[IGT_MAX_PIPES * IGT_MAX_PIPES]; + const char *append_fbc_subtest[2] = { + "", + "fbc-" + }; + int fbc_status[] = {FBC_DISABLED, FBC_ENABLED}; igt_fixture { drmModeResPtr res; @@ -961,6 +1000,11 @@ igt_main display_init(&data); + if ((intel_display_ver(intel_get_drm_devid(data.drm_fd) == 20)) && + (intel_fbc_supported_on_chipset(data.drm_fd, data.pipe))) { + data.fbc_flag = true; + } + /* Test if PSR2 can be enabled */ igt_require_f(psr_enable(data.drm_fd, data.debugfs_fd, PSR_MODE_2_SEL_FETCH), @@ -995,54 +1039,116 @@ igt_main } } - /* Verify primary plane selective fetch */ - igt_describe("Test that selective fetch works on primary plane"); - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; + for (y = 0; y < ARRAY_SIZE(fbc_status); y++) { + data.op_fbc_mode = fbc_status[y]; + /* Verify primary plane selective fetch */ + igt_describe("Test that selective fetch works on primary plane"); + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) + continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } + } + } + } + + /* Verify primary plane selective fetch with big fb */ + data.big_fb_test = 1; + igt_describe("Test that selective fetch works on primary plane with big fb"); + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area-big-fb", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } } } } } - } - /* Verify primary plane selective fetch with big fb */ - data.big_fb_test = 1; - igt_describe("Test that selective fetch works on primary plane with big fb"); - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area-big-fb", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; + data.big_fb_test = 0; + /* Verify overlay plane selective fetch */ + igt_describe("Test that selective fetch works on overlay plane"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) + continue; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } + } + } + } - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.damage_area_count = 1; + /* Verify cursor plane selective fetch */ + igt_describe("Test that selective fetch works on cursor plane"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1050,28 +1156,25 @@ igt_main } } } - } - - data.big_fb_test = 0; - /* Verify overlay plane selective fetch */ - igt_describe("Test that selective fetch works on overlay plane"); - igt_subtest_with_dynamic_f("overlay-%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS; + igt_describe("Test that selective fetch works on moving cursor plane (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1079,130 +1182,137 @@ igt_main } } } - } - data.damage_area_count = 1; - /* Verify cursor plane selective fetch */ - igt_describe("Test that selective fetch works on cursor plane"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; + igt_describe("Test that selective fetch works on moving cursor plane exceeding " + "partially visible area (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - - data.op = PLANE_MOVE_CONTINUOUS; - igt_describe("Test that selective fetch works on moving cursor plane (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; + igt_describe("Test that selective fetch works on moving cursor plane exceeding " + "fully visible area (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; - igt_describe("Test that selective fetch works on moving cursor plane exceeding partially visible area (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* Only for overlay plane */ + data.op = PLANE_MOVE; + /* Verify overlay plane move selective fetch */ + igt_describe("Test that selective fetch works on moving overlay plane"); + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { + data.pos = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } } } } - } - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; - igt_describe("Test that selective fetch works on moving cursor plane exceeding fully visible area (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS; + igt_describe("Test that selective fetch works on moving overlay plane (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { data.pipe = pipes[i]; data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); + } } } } - } - /* Only for overlay plane */ - data.op = PLANE_MOVE; - /* Verify overlay plane move selective fetch */ - igt_describe("Test that selective fetch works on moving overlay plane"); - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; + igt_describe("Test that selective fetch works on moving overlay plane partially " + "exceeding visible area (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { - data.pos = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1210,103 +1320,88 @@ igt_main } } } - } - - data.op = PLANE_MOVE_CONTINUOUS; - igt_describe("Test that selective fetch works on moving overlay plane (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; + igt_describe("Test that selective fetch works on moving overlay plane fully " + "exceeding visible area (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); - } - } - } - } - - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; - igt_describe("Test that selective fetch works on moving overlay plane partially exceeding visible area (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) - continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; - igt_describe("Test that selective fetch works on moving overlay plane fully exceeding visible area (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* Verify primary plane selective fetch with overplay plane blended */ + data.op = OVERLAY_PRIM_UPDATE; + igt_describe("Test that selective fetch works on primary plane " + "with blended overlay plane"); + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } + } } } } - } - /* Verify primary plane selective fetch with overplay plane blended */ - data.op = OVERLAY_PRIM_UPDATE; - igt_describe("Test that selective fetch works on primary plane " - "with blended overlay plane"); - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* + * Verify overlay plane selective fetch using NV12 primary + * plane and continuous updates. + */ + data.op = PLANE_UPDATE_CONTINUOUS; + data.primary_format = DRM_FORMAT_NV12; + igt_describe("Test that selective fetch works on overlay plane"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.damage_area_count = 1; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; data.coexist_feature = j; prepare(&data); run(&data); @@ -1317,37 +1412,6 @@ igt_main } } - /* - * Verify overlay plane selective fetch using NV12 primary - * plane and continuous updates. - */ - data.op = PLANE_UPDATE_CONTINUOUS; - data.primary_format = DRM_FORMAT_NV12; - igt_describe("Test that selective fetch works on overlay plane"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) - continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.damage_area_count = 1; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); - } - } - } - } - igt_fixture { close(data.debugfs_fd); display_fini(&data); -- 2.25.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests 2023-12-01 11:22 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B @ 2023-12-01 11:44 ` Sharma, Swati2 0 siblings, 0 replies; 16+ messages in thread From: Sharma, Swati2 @ 2023-12-01 11:44 UTC (permalink / raw) To: Jeevan B, igt-dev Hi Jeevan, On 01-Dec-23 4:52 PM, Jeevan B wrote: > For LunarLake (intel_display_ver 20), FBC can be enabled along with PSR2, > thereby adding FBC checks to validate this scenario. > > Signed-off-by: Jeevan B <jeevan.b@intel.com> > Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com> > --- > tests/intel/kms_psr2_sf.c | 606 +++++++++++++++++++++----------------- > 1 file changed, 335 insertions(+), 271 deletions(-) > > diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c > index 27faa93d9..77bc23213 100644 > --- a/tests/intel/kms_psr2_sf.c > +++ b/tests/intel/kms_psr2_sf.c > @@ -37,6 +37,7 @@ > #include "igt_sysfs.h" > #include "igt_psr.h" > #include "kms_dsc_helper.h" > +#include "i915/intel_fbc.h" Add header in alphabetical order. > #include <errno.h> > #include <stdbool.h> > #include <stdio.h> > @@ -47,6 +48,10 @@ > * Description: Test that selective fetch works on moving %arg[1] plane %arg[2] > * visible area (no update) > * > + * SUBTEST: fbc-%s-plane-move-continuous-%s > + * Description: Test that fbc with selective fetch works on moving %arg[1] plane %arg[2] > + * visible area (no update) > + * Functionality: plane, psr2, selective_fetch is defined in top and will be used by all subtests, so now we have fbc related tests too, we need to add fbc in functionality. Remove this functionality from top and add at individual subtest level like how you have done for kms_psr. > * arg[1]: > * > * @cursor: Cursor > @@ -63,24 +68,46 @@ > * SUBTEST: cursor-plane-update-sf > * Description: Test that selective fetch works on cursor plane > * > + * SUBTEST: fbc-cursor-plane-update-continuous-sf > + * Description: Test that fbc with selective fetch works on cursor plane > + * > * SUBTEST: overlay-plane-update-continuous-sf > * Description: Test that selective fetch works on overlay plane > * > + * SUBTEST: fbc-overlay-plane-update-continuous-sf-dmg-area > + * Description: Test that fbc with selective fetch works on overlay plane > + * > * SUBTEST: overlay-plane-update-sf-dmg-area > * Description: Test that selective fetch works on overlay plane > * > + * SUBTEST: fbc-overlay-plane-update-continuous-sf > + * Description: Test that fbc with selective fetch works on overlay plane > + * > * SUBTEST: overlay-primary-update-sf-dmg-area > * Description: Test that selective fetch works on primary plane with blended > * overlay plane > * > + * SUBTEST: fbc-overlay-primary-update-sf-dmg-area > + * Description: Test that fbc with selective fetch works on primary plane with blended > + * overlay plane > + * > * SUBTEST: plane-move-sf-dmg-area > * Description: Test that selective fetch works on moving overlay plane > * > + * SUBTEST: fbc-plane-move-sf-dmg-area > + * Description: Test that fbc with selective fetch works on moving overlay plane > + * > * SUBTEST: primary-plane-update-sf-dmg-area > * Description: Test that selective fetch works on primary plane > * > + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area > + * Description: Test that fbc with selective fetch works on primary plane > + * > * SUBTEST: primary-plane-update-sf-dmg-area-big-fb > * Description: Test that selective fetch works on primary plane with big fb > + * > + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area-big-fb > + * Description: Test that fbc with selective fetch works on primary plane with big fb > */ > > IGT_TEST_DESCRIPTION("Tests to varify PSR2 selective fetch by sending multiple" > @@ -131,10 +158,12 @@ typedef struct { > struct drm_mode_rect plane_move_clip; > struct drm_mode_rect cursor_clip; > enum operations op; > + enum fbc_mode op_fbc_mode; > enum plane_move_postion pos; > int test_plane_id; > igt_plane_t *test_plane; > bool big_fb_test; > + bool fbc_flag; > cairo_t *cr; > uint32_t screen_changes; > int cur_x, cur_y; > @@ -840,6 +869,11 @@ static void run(data_t *data) > > igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL)); > > + if (data->fbc_flag == true && data->op_fbc_mode == FBC_ENABLED) > + igt_assert_f(intel_fbc_wait_until_enabled(data->drm_fd, > + data->pipe), > + "FBC still disabled"); > + > data->screen_changes = 0; > > switch (data->op) { > @@ -942,10 +976,15 @@ igt_main > { > data_t data = {}; > igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES]; > - int i, j, k; > + int i, j, k, y; > int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES]; > int n_pipes = 0; > int coexist_features[IGT_MAX_PIPES * IGT_MAX_PIPES]; > + const char *append_fbc_subtest[2] = { > + "", > + "fbc-" > + }; > + int fbc_status[] = {FBC_DISABLED, FBC_ENABLED}; > > igt_fixture { > drmModeResPtr res; > @@ -961,6 +1000,11 @@ igt_main > > display_init(&data); > > + if ((intel_display_ver(intel_get_drm_devid(data.drm_fd) == 20)) && > + (intel_fbc_supported_on_chipset(data.drm_fd, data.pipe))) { > + data.fbc_flag = true; > + } > + > /* Test if PSR2 can be enabled */ > igt_require_f(psr_enable(data.drm_fd, > data.debugfs_fd, PSR_MODE_2_SEL_FETCH), > @@ -995,54 +1039,116 @@ igt_main > } > } > > - /* Verify primary plane selective fetch */ > - igt_describe("Test that selective fetch works on primary plane"); > - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > + for (y = 0; y < ARRAY_SIZE(fbc_status); y++) { > + data.op_fbc_mode = fbc_status[y]; > + /* Verify primary plane selective fetch */ > + igt_describe("Test that selective fetch works on primary plane"); > + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > + continue; > > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > + data.coexist_feature = j; > + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > + data.damage_area_count = k; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > + } > + } > + } > + } > + > + /* Verify primary plane selective fetch with big fb */ > + data.big_fb_test = 1; > + igt_describe("Test that selective fetch works on primary plane with big fb"); > + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area-big-fb", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > - data.coexist_feature = j; > - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > - data.damage_area_count = k; > - prepare(&data); > - run(&data); > - cleanup(&data); > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > + data.coexist_feature = j; > + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > + data.damage_area_count = k; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > } > - } > > - /* Verify primary plane selective fetch with big fb */ > - data.big_fb_test = 1; > - igt_describe("Test that selective fetch works on primary plane with big fb"); > - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area-big-fb", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > + data.big_fb_test = 0; > + /* Verify overlay plane selective fetch */ > + igt_describe("Test that selective fetch works on overlay plane"); > + igt_subtest_with_dynamic_f("%soverlay-%s-sf-dmg-area", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > + continue; > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > + data.coexist_feature = j; > + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > + data.damage_area_count = k; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > + } > + } > + } > + } > > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + data.damage_area_count = 1; > + /* Verify cursor plane selective fetch */ > + igt_describe("Test that selective fetch works on cursor plane"); > + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > - data.coexist_feature = j; > - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > - data.damage_area_count = k; > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > + data.coexist_feature = j; > prepare(&data); > run(&data); > cleanup(&data); > @@ -1050,28 +1156,25 @@ igt_main > } > } > } > - } > - > - data.big_fb_test = 0; > - /* Verify overlay plane selective fetch */ > - igt_describe("Test that selective fetch works on overlay plane"); > - igt_subtest_with_dynamic_f("overlay-%s-sf-dmg-area", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + data.op = PLANE_MOVE_CONTINUOUS; > + igt_describe("Test that selective fetch works on moving cursor plane (no update)"); > + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - data.coexist_feature = j; > - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > - data.damage_area_count = k; > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > + data.coexist_feature = j; > prepare(&data); > run(&data); > cleanup(&data); > @@ -1079,130 +1182,137 @@ igt_main > } > } > } > - } > > - data.damage_area_count = 1; > - /* Verify cursor plane selective fetch */ > - igt_describe("Test that selective fetch works on cursor plane"); > - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > - > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; > + igt_describe("Test that selective fetch works on moving cursor plane exceeding " > + "partially visible area (no update)"); > + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > - data.coexist_feature = j; > - prepare(&data); > - run(&data); > - cleanup(&data); > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > - } > - > - data.op = PLANE_MOVE_CONTINUOUS; > - igt_describe("Test that selective fetch works on moving cursor plane (no update)"); > - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; > + igt_describe("Test that selective fetch works on moving cursor plane exceeding " > + "fully visible area (no update)"); > + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > - data.coexist_feature = j; > - prepare(&data); > - run(&data); > - cleanup(&data); > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > - } > - > - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; > - igt_describe("Test that selective fetch works on moving cursor plane exceeding partially visible area (no update)"); > - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + /* Only for overlay plane */ > + data.op = PLANE_MOVE; > + /* Verify overlay plane move selective fetch */ > + igt_describe("Test that selective fetch works on moving overlay plane"); > + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > - data.coexist_feature = j; > - prepare(&data); > - run(&data); > - cleanup(&data); > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > + data.coexist_feature = j; > + for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { > + data.pos = k; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > + } > } > } > } > - } > > - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; > - igt_describe("Test that selective fetch works on moving cursor plane exceeding fully visible area (no update)"); > - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > - > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + data.op = PLANE_MOVE_CONTINUOUS; > + igt_describe("Test that selective fetch works on moving overlay plane (no update)"); > + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > data.pipe = pipes[i]; > data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > data.coexist_feature = j; > prepare(&data); > run(&data); > cleanup(&data); > + } > } > } > } > - } > > - /* Only for overlay plane */ > - data.op = PLANE_MOVE; > - /* Verify overlay plane move selective fetch */ > - igt_describe("Test that selective fetch works on moving overlay plane"); > - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > - > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; > + igt_describe("Test that selective fetch works on moving overlay plane partially " > + "exceeding visible area (no update)"); > + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - data.coexist_feature = j; > - for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { > - data.pos = k; > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > + data.coexist_feature = j; > prepare(&data); > run(&data); > cleanup(&data); > @@ -1210,103 +1320,88 @@ igt_main > } > } > } > - } > - > - data.op = PLANE_MOVE_CONTINUOUS; > - igt_describe("Test that selective fetch works on moving overlay plane (no update)"); > - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; > + igt_describe("Test that selective fetch works on moving overlay plane fully " > + "exceeding visible area (no update)"); > + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - data.coexist_feature = j; > - prepare(&data); > - run(&data); > - cleanup(&data); > - } > - } > - } > - } > - > - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; > - igt_describe("Test that selective fetch works on moving overlay plane partially exceeding visible area (no update)"); > - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > - continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - data.coexist_feature = j; > - prepare(&data); > - run(&data); > - cleanup(&data); > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > } > } > } > - } > > - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; > - igt_describe("Test that selective fetch works on moving overlay plane fully exceeding visible area (no update)"); > - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > - > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + /* Verify primary plane selective fetch with overplay plane blended */ > + data.op = OVERLAY_PRIM_UPDATE; > + igt_describe("Test that selective fetch works on primary plane " > + "with blended overlay plane"); > + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - data.coexist_feature = j; > - prepare(&data); > - run(&data); > - cleanup(&data); > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > + data.damage_area_count = k; > + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > + data.coexist_feature = j; > + prepare(&data); > + run(&data); > + cleanup(&data); > + } > + } > } > } > } > - } > > - /* Verify primary plane selective fetch with overplay plane blended */ > - data.op = OVERLAY_PRIM_UPDATE; > - igt_describe("Test that selective fetch works on primary plane " > - "with blended overlay plane"); > - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > - > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + /* > + * Verify overlay plane selective fetch using NV12 primary > + * plane and continuous updates. > + */ > + data.op = PLANE_UPDATE_CONTINUOUS; > + data.primary_format = DRM_FORMAT_NV12; > + igt_describe("Test that selective fetch works on overlay plane"); > + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], > + op_str(data.op)) { > + for (i = 0; i < n_pipes; i++) { > + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { > - data.damage_area_count = k; > - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; > + > + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > + if (j != FEATURE_NONE && !(coexist_features[i] & j)) > + continue; > + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > + igt_output_name(outputs[i]), > + coexist_feature_str(j)) { > + data.pipe = pipes[i]; > + data.output = outputs[i]; > + data.damage_area_count = 1; > + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > data.coexist_feature = j; > prepare(&data); > run(&data); > @@ -1317,37 +1412,6 @@ igt_main > } > } > > - /* > - * Verify overlay plane selective fetch using NV12 primary > - * plane and continuous updates. > - */ > - data.op = PLANE_UPDATE_CONTINUOUS; > - data.primary_format = DRM_FORMAT_NV12; > - igt_describe("Test that selective fetch works on overlay plane"); > - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { > - for (i = 0; i < n_pipes; i++) { > - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) > - continue; > - > - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { > - if (j != FEATURE_NONE && !(coexist_features[i] & j)) > - continue; > - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), > - igt_output_name(outputs[i]), > - coexist_feature_str(j)) { > - data.pipe = pipes[i]; > - data.output = outputs[i]; > - data.damage_area_count = 1; > - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; > - data.coexist_feature = j; > - prepare(&data); > - run(&data); > - cleanup(&data); > - } > - } > - } > - } > - > igt_fixture { > close(data.debugfs_fd); > display_fini(&data); ^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support @ 2023-11-30 13:20 Jeevan B 2023-11-30 13:20 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B 0 siblings, 1 reply; 16+ messages in thread From: Jeevan B @ 2023-11-30 13:20 UTC (permalink / raw) To: igt-dev fix kms_psr documentation, subtest naming and add fbc support/test for kms_psr, kms_psr2_sf. Signed-off-by: Jeevan B <jeevan.b@intel.com> Jeevan B (3): tests/intel/kms_psr: fix subtest naming tests/intel/kms_psr: Add FBC support to PSR/PSR2/PR tests tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Swati Sharma (1): tests/intel/kms_psr: fix documentation lib/igt_psr.h | 5 + tests/intel/kms_psr.c | 569 ++++++++++++++++++----------------- tests/intel/kms_psr2_sf.c | 606 +++++++++++++++++++++----------------- 3 files changed, 646 insertions(+), 534 deletions(-) -- 2.25.1 ^ permalink raw reply [flat|nested] 16+ messages in thread
* [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests 2023-11-30 13:20 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B @ 2023-11-30 13:20 ` Jeevan B 0 siblings, 0 replies; 16+ messages in thread From: Jeevan B @ 2023-11-30 13:20 UTC (permalink / raw) To: igt-dev For LunarLake (intel_display_ver 20), FBC can be enabled along with PSR2, thereby adding FBC checks to validate this scenario. Signed-off-by: Jeevan B <jeevan.b@intel.com> Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com> --- tests/intel/kms_psr2_sf.c | 606 +++++++++++++++++++++----------------- 1 file changed, 335 insertions(+), 271 deletions(-) diff --git a/tests/intel/kms_psr2_sf.c b/tests/intel/kms_psr2_sf.c index 27faa93d9..77bc23213 100644 --- a/tests/intel/kms_psr2_sf.c +++ b/tests/intel/kms_psr2_sf.c @@ -37,6 +37,7 @@ #include "igt_sysfs.h" #include "igt_psr.h" #include "kms_dsc_helper.h" +#include "i915/intel_fbc.h" #include <errno.h> #include <stdbool.h> #include <stdio.h> @@ -47,6 +48,10 @@ * Description: Test that selective fetch works on moving %arg[1] plane %arg[2] * visible area (no update) * + * SUBTEST: fbc-%s-plane-move-continuous-%s + * Description: Test that fbc with selective fetch works on moving %arg[1] plane %arg[2] + * visible area (no update) + * * arg[1]: * * @cursor: Cursor @@ -63,24 +68,46 @@ * SUBTEST: cursor-plane-update-sf * Description: Test that selective fetch works on cursor plane * + * SUBTEST: fbc-cursor-plane-update-continuous-sf + * Description: Test that fbc with selective fetch works on cursor plane + * * SUBTEST: overlay-plane-update-continuous-sf * Description: Test that selective fetch works on overlay plane * + * SUBTEST: fbc-overlay-plane-update-continuous-sf-dmg-area + * Description: Test that fbc with selective fetch works on overlay plane + * * SUBTEST: overlay-plane-update-sf-dmg-area * Description: Test that selective fetch works on overlay plane * + * SUBTEST: fbc-overlay-plane-update-continuous-sf + * Description: Test that fbc with selective fetch works on overlay plane + * * SUBTEST: overlay-primary-update-sf-dmg-area * Description: Test that selective fetch works on primary plane with blended * overlay plane * + * SUBTEST: fbc-overlay-primary-update-sf-dmg-area + * Description: Test that fbc with selective fetch works on primary plane with blended + * overlay plane + * * SUBTEST: plane-move-sf-dmg-area * Description: Test that selective fetch works on moving overlay plane * + * SUBTEST: fbc-plane-move-sf-dmg-area + * Description: Test that fbc with selective fetch works on moving overlay plane + * * SUBTEST: primary-plane-update-sf-dmg-area * Description: Test that selective fetch works on primary plane * + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area + * Description: Test that fbc with selective fetch works on primary plane + * * SUBTEST: primary-plane-update-sf-dmg-area-big-fb * Description: Test that selective fetch works on primary plane with big fb + * + * SUBTEST: fbc-primary-plane-update-continuous-sf-dmg-area-big-fb + * Description: Test that fbc with selective fetch works on primary plane with big fb */ IGT_TEST_DESCRIPTION("Tests to varify PSR2 selective fetch by sending multiple" @@ -131,10 +158,12 @@ typedef struct { struct drm_mode_rect plane_move_clip; struct drm_mode_rect cursor_clip; enum operations op; + enum fbc_mode op_fbc_mode; enum plane_move_postion pos; int test_plane_id; igt_plane_t *test_plane; bool big_fb_test; + bool fbc_flag; cairo_t *cr; uint32_t screen_changes; int cur_x, cur_y; @@ -840,6 +869,11 @@ static void run(data_t *data) igt_assert(psr_wait_entry(data->debugfs_fd, PSR_MODE_2, NULL)); + if (data->fbc_flag == true && data->op_fbc_mode == FBC_ENABLED) + igt_assert_f(intel_fbc_wait_until_enabled(data->drm_fd, + data->pipe), + "FBC still disabled"); + data->screen_changes = 0; switch (data->op) { @@ -942,10 +976,15 @@ igt_main { data_t data = {}; igt_output_t *outputs[IGT_MAX_PIPES * IGT_MAX_PIPES]; - int i, j, k; + int i, j, k, y; int pipes[IGT_MAX_PIPES * IGT_MAX_PIPES]; int n_pipes = 0; int coexist_features[IGT_MAX_PIPES * IGT_MAX_PIPES]; + const char *append_fbc_subtest[2] = { + "", + "fbc-" + }; + int fbc_status[] = {FBC_DISABLED, FBC_ENABLED}; igt_fixture { drmModeResPtr res; @@ -961,6 +1000,11 @@ igt_main display_init(&data); + if ((intel_display_ver(intel_get_drm_devid(data.drm_fd) == 20)) && + (intel_fbc_supported_on_chipset(data.drm_fd, data.pipe))) { + data.fbc_flag = true; + } + /* Test if PSR2 can be enabled */ igt_require_f(psr_enable(data.drm_fd, data.debugfs_fd, PSR_MODE_2_SEL_FETCH), @@ -995,54 +1039,116 @@ igt_main } } - /* Verify primary plane selective fetch */ - igt_describe("Test that selective fetch works on primary plane"); - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; + for (y = 0; y < ARRAY_SIZE(fbc_status); y++) { + data.op_fbc_mode = fbc_status[y]; + /* Verify primary plane selective fetch */ + igt_describe("Test that selective fetch works on primary plane"); + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) + continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } + } + } + } + + /* Verify primary plane selective fetch with big fb */ + data.big_fb_test = 1; + igt_describe("Test that selective fetch works on primary plane with big fb"); + igt_subtest_with_dynamic_f("%sprimary-%s-sf-dmg-area-big-fb", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } } } } } - } - /* Verify primary plane selective fetch with big fb */ - data.big_fb_test = 1; - igt_describe("Test that selective fetch works on primary plane with big fb"); - igt_subtest_with_dynamic_f("primary-%s-sf-dmg-area-big-fb", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; + data.big_fb_test = 0; + /* Verify overlay plane selective fetch */ + igt_describe("Test that selective fetch works on overlay plane"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) + continue; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } + } + } + } - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.damage_area_count = 1; + /* Verify cursor plane selective fetch */ + igt_describe("Test that selective fetch works on cursor plane"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1050,28 +1156,25 @@ igt_main } } } - } - - data.big_fb_test = 0; - /* Verify overlay plane selective fetch */ - igt_describe("Test that selective fetch works on overlay plane"); - igt_subtest_with_dynamic_f("overlay-%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS; + igt_describe("Test that selective fetch works on moving cursor plane (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1079,130 +1182,137 @@ igt_main } } } - } - data.damage_area_count = 1; - /* Verify cursor plane selective fetch */ - igt_describe("Test that selective fetch works on cursor plane"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; + igt_describe("Test that selective fetch works on moving cursor plane exceeding " + "partially visible area (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - - data.op = PLANE_MOVE_CONTINUOUS; - igt_describe("Test that selective fetch works on moving cursor plane (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; + igt_describe("Test that selective fetch works on moving cursor plane exceeding " + "fully visible area (no update)"); + igt_subtest_with_dynamic_f("%scursor-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; - igt_describe("Test that selective fetch works on moving cursor plane exceeding partially visible area (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* Only for overlay plane */ + data.op = PLANE_MOVE; + /* Verify overlay plane move selective fetch */ + igt_describe("Test that selective fetch works on moving overlay plane"); + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { + data.pos = k; + prepare(&data); + run(&data); + cleanup(&data); + } + } } } } - } - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; - igt_describe("Test that selective fetch works on moving cursor plane exceeding fully visible area (no update)"); - igt_subtest_with_dynamic_f("cursor-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS; + igt_describe("Test that selective fetch works on moving overlay plane (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { data.pipe = pipes[i]; data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_CURSOR; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); + } } } } - } - /* Only for overlay plane */ - data.op = PLANE_MOVE; - /* Verify overlay plane move selective fetch */ - igt_describe("Test that selective fetch works on moving overlay plane"); - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED; + igt_describe("Test that selective fetch works on moving overlay plane partially " + "exceeding visible area (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - for (k = POS_TOP_LEFT; k <= POS_BOTTOM_RIGHT ; k++) { - data.pos = k; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; prepare(&data); run(&data); cleanup(&data); @@ -1210,103 +1320,88 @@ igt_main } } } - } - - data.op = PLANE_MOVE_CONTINUOUS; - igt_describe("Test that selective fetch works on moving overlay plane (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; + igt_describe("Test that selective fetch works on moving overlay plane fully " + "exceeding visible area (no update)"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); - } - } - } - } - - data.op = PLANE_MOVE_CONTINUOUS_EXCEED; - igt_describe("Test that selective fetch works on moving overlay plane partially exceeding visible area (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) - continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } } } } - } - data.op = PLANE_MOVE_CONTINUOUS_EXCEED_FULLY; - igt_describe("Test that selective fetch works on moving overlay plane fully exceeding visible area (no update)"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* Verify primary plane selective fetch with overplay plane blended */ + data.op = OVERLAY_PRIM_UPDATE; + igt_describe("Test that selective fetch works on primary plane " + "with blended overlay plane"); + igt_subtest_with_dynamic_f("%s%s-sf-dmg-area", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { + data.damage_area_count = k; + data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + data.coexist_feature = j; + prepare(&data); + run(&data); + cleanup(&data); + } + } } } } - } - /* Verify primary plane selective fetch with overplay plane blended */ - data.op = OVERLAY_PRIM_UPDATE; - igt_describe("Test that selective fetch works on primary plane " - "with blended overlay plane"); - igt_subtest_with_dynamic_f("%s-sf-dmg-area", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) + /* + * Verify overlay plane selective fetch using NV12 primary + * plane and continuous updates. + */ + data.op = PLANE_UPDATE_CONTINUOUS; + data.primary_format = DRM_FORMAT_NV12; + igt_describe("Test that selective fetch works on overlay plane"); + igt_subtest_with_dynamic_f("%soverlay-%s-sf", append_fbc_subtest[y], + op_str(data.op)) { + for (i = 0; i < n_pipes; i++) { + if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - for (k = 1; k <= MAX_DAMAGE_AREAS; k++) { - data.damage_area_count = k; - data.test_plane_id = DRM_PLANE_TYPE_PRIMARY; + + for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { + if (j != FEATURE_NONE && !(coexist_features[i] & j)) + continue; + igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), + igt_output_name(outputs[i]), + coexist_feature_str(j)) { + data.pipe = pipes[i]; + data.output = outputs[i]; + data.damage_area_count = 1; + data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; data.coexist_feature = j; prepare(&data); run(&data); @@ -1317,37 +1412,6 @@ igt_main } } - /* - * Verify overlay plane selective fetch using NV12 primary - * plane and continuous updates. - */ - data.op = PLANE_UPDATE_CONTINUOUS; - data.primary_format = DRM_FORMAT_NV12; - igt_describe("Test that selective fetch works on overlay plane"); - igt_subtest_with_dynamic_f("overlay-%s-sf", op_str(data.op)) { - for (i = 0; i < n_pipes; i++) { - if (!pipe_output_combo_valid(&data.display, pipes[i], outputs[i])) - continue; - - for (j = FEATURE_NONE; j < FEATURE_COUNT; j++) { - if (j != FEATURE_NONE && !(coexist_features[i] & j)) - continue; - igt_dynamic_f("pipe-%s-%s%s", kmstest_pipe_name(pipes[i]), - igt_output_name(outputs[i]), - coexist_feature_str(j)) { - data.pipe = pipes[i]; - data.output = outputs[i]; - data.damage_area_count = 1; - data.test_plane_id = DRM_PLANE_TYPE_OVERLAY; - data.coexist_feature = j; - prepare(&data); - run(&data); - cleanup(&data); - } - } - } - } - igt_fixture { close(data.debugfs_fd); display_fini(&data); -- 2.25.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
end of thread, other threads:[~2023-12-05 13:16 UTC | newest] Thread overview: 16+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-12-01 12:49 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B 2023-12-01 12:49 ` [igt-dev] [PATCH i-g-t 1/4] tests/intel/kms_psr: fix documentation Jeevan B 2023-12-01 12:49 ` [igt-dev] [PATCH i-g-t 2/4] tests/intel/kms_psr: fix subtest naming Jeevan B 2023-12-01 12:49 ` [igt-dev] [PATCH i-g-t 3/4] tests/intel/kms_psr: Add FBC support to PSR/PSR2/PR tests Jeevan B 2023-12-01 12:49 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B 2023-12-01 12:57 ` Sharma, Swati2 2023-12-01 15:09 ` [igt-dev] ✓ Fi.CI.BAT: success for Update PSR/PSR2_SF documenation and Add FBC support (rev4) Patchwork 2023-12-01 15:24 ` [igt-dev] ✓ CI.xeBAT: " Patchwork 2023-12-03 1:08 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 2023-12-05 13:16 ` Patchwork -- strict thread matches above, loose matches on Subject: below -- 2023-12-04 9:59 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B 2023-12-04 9:59 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B 2023-12-04 9:52 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B 2023-12-04 9:53 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B 2023-12-01 12:47 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B 2023-12-01 12:47 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B 2023-12-01 11:22 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B 2023-12-01 11:22 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B 2023-12-01 11:44 ` Sharma, Swati2 2023-11-30 13:20 [igt-dev] [PATCH i-g-t 0/4] Update PSR/PSR2_SF documenation and Add FBC support Jeevan B 2023-11-30 13:20 ` [igt-dev] [PATCH i-g-t 4/4] tests/intel/kms_psr2_sf: Add FBC support to PSR2 tests Jeevan B
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox