Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 1/4] tests/intel/kms_psr: fix documentation
  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
  2023-12-01  5:06   ` B, Jeevan
  0 siblings, 1 reply; 16+ messages in thread
From: Jeevan B @ 2023-11-30 13:20 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>
---
 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

* Re: [igt-dev] [PATCH i-g-t 1/4] tests/intel/kms_psr: fix documentation
  2023-11-30 13:20 ` [igt-dev] [PATCH i-g-t 1/4] tests/intel/kms_psr: fix documentation Jeevan B
@ 2023-12-01  5:06   ` B, Jeevan
  0 siblings, 0 replies; 16+ messages in thread
From: B, Jeevan @ 2023-12-01  5:06 UTC (permalink / raw)
  To: B, Jeevan, igt-dev@lists.freedesktop.org

LGTM

Reviewed-by: Jeevan B <jeevan.b@intel.com>

> -----Original Message-----
> From: igt-dev <igt-dev-bounces@lists.freedesktop.org> On Behalf Of Jeevan B
> Sent: Thursday, November 30, 2023 6:51 PM
> To: igt-dev@lists.freedesktop.org
> Subject: [igt-dev] [PATCH i-g-t 1/4] tests/intel/kms_psr: fix documentation
> 
> From: Swati Sharma <swati2.sharma@intel.com>
> 
> Optimize documentation and update mega features accordingly.
> 
> Signed-off-by: Swati Sharma <swati2.sharma@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	[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 1/4] tests/intel/kms_psr: fix documentation Jeevan B
                   ` (6 more replies)
  0 siblings, 7 replies; 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 1/4] tests/intel/kms_psr: fix documentation
  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:22 ` [igt-dev] [PATCH i-g-t 2/4] tests/intel/kms_psr: fix subtest naming Jeevan B
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 16+ messages in thread
From: Jeevan B @ 2023-12-01 11:22 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 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 1/4] tests/intel/kms_psr: fix documentation Jeevan B
@ 2023-12-01 11:22 ` Jeevan B
  2023-12-01 11:24   ` Sharma, Swati2
  2023-12-01 11:22 ` [igt-dev] [PATCH i-g-t 3/4] tests/intel/kms_psr: Add FBC support to PSR/PSR2/PR tests Jeevan B
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 16+ messages in thread
From: Jeevan B @ 2023-12-01 11:22 UTC (permalink / raw)
  To: igt-dev

update subtest naming from sub_test to sub-test.

Signed-off-by: Jeevan B <jeevan.b@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 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 1/4] tests/intel/kms_psr: fix documentation Jeevan B
  2023-12-01 11:22 ` [igt-dev] [PATCH i-g-t 2/4] tests/intel/kms_psr: fix subtest naming Jeevan B
@ 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
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 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
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 11:22 [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 11:22 ` [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 11:22 ` Jeevan B
  2023-12-01 11:44   ` Sharma, Swati2
  2023-12-01 12:42 ` [igt-dev] ✓ Fi.CI.BAT: success for Update PSR/PSR2_SF documenation and Add FBC support (rev2) Patchwork
                   ` (2 subsequent siblings)
  6 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 2/4] tests/intel/kms_psr: fix subtest naming
  2023-12-01 11:22 ` [igt-dev] [PATCH i-g-t 2/4] tests/intel/kms_psr: fix subtest naming Jeevan B
@ 2023-12-01 11:24   ` Sharma, Swati2
  0 siblings, 0 replies; 16+ messages in thread
From: Sharma, Swati2 @ 2023-12-01 11:24 UTC (permalink / raw)
  To: Jeevan B, igt-dev

LGTM

Reviewed-by: Swati Sharma <swati2.sharma@intel.com>

On 01-Dec-23 4:52 PM, Jeevan B wrote:
> update subtest naming from sub_test to sub-test.
> 
> Signed-off-by: Jeevan B <jeevan.b@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) &&

^ permalink raw reply	[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] ✓ Fi.CI.BAT: success for Update PSR/PSR2_SF documenation and Add FBC support (rev2)
  2023-12-01 11:22 [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 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 12:42 ` Patchwork
  2023-12-01 12:45 ` [igt-dev] ✗ CI.xeBAT: failure " Patchwork
  2023-12-02 23:53 ` [igt-dev] ✗ Fi.CI.IGT: " Patchwork
  6 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2023-12-01 12:42 UTC (permalink / raw)
  To: Jeevan B; +Cc: igt-dev

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

== Series Details ==

Series: Update PSR/PSR2_SF documenation and Add FBC support (rev2)
URL   : https://patchwork.freedesktop.org/series/127121/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13958 -> IGTPW_10316
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (40 -> 38)
------------------------------

  Missing    (2): bat-rpls-1 fi-snb-2520m 

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

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

### 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_10316/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_10316/bat-adls-5/igt@kms_psr@psr_primary_mmap_gtt.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_suspend@basic-s0@lmem0:
    - bat-dg2-9:          [PASS][3] -> [INCOMPLETE][4] ([i915#9275])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/bat-dg2-9/igt@gem_exec_suspend@basic-s0@lmem0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/bat-dg2-9/igt@gem_exec_suspend@basic-s0@lmem0.html

  * igt@i915_module_load@reload:
    - fi-apl-guc:         [PASS][5] -> [DMESG-WARN][6] ([i915#180] / [i915#1982] / [i915#8585])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/fi-apl-guc/igt@i915_module_load@reload.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/fi-apl-guc/igt@i915_module_load@reload.html

  * igt@i915_pm_rpm@module-reload:
    - fi-apl-guc:         [PASS][7] -> [DMESG-WARN][8] ([i915#180] / [i915#8585]) +2 other tests dmesg-warn
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/fi-apl-guc/igt@i915_pm_rpm@module-reload.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/fi-apl-guc/igt@i915_pm_rpm@module-reload.html

  * igt@i915_selftest@live@reset:
    - fi-apl-guc:         [PASS][9] -> [DMESG-WARN][10] ([i915#9730]) +36 other tests dmesg-warn
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/fi-apl-guc/igt@i915_selftest@live@reset.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/fi-apl-guc/igt@i915_selftest@live@reset.html

  * igt@kms_addfb_basic@addfb25-4-tiled:
    - fi-apl-guc:         [PASS][11] -> [DMESG-WARN][12] ([i915#8585]) +2 other tests dmesg-warn
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/fi-apl-guc/igt@kms_addfb_basic@addfb25-4-tiled.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/fi-apl-guc/igt@kms_addfb_basic@addfb25-4-tiled.html

  * igt@kms_addfb_basic@bad-pitch-0:
    - fi-apl-guc:         [PASS][13] -> [DMESG-WARN][14] ([i915#8585] / [i915#8703]) +36 other tests dmesg-warn
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/fi-apl-guc/igt@kms_addfb_basic@bad-pitch-0.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/fi-apl-guc/igt@kms_addfb_basic@bad-pitch-0.html

  * igt@kms_busy@basic@flip:
    - fi-apl-guc:         [PASS][15] -> [DMESG-WARN][16] ([i915#1982] / [i915#8585] / [i915#8703])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/fi-apl-guc/igt@kms_busy@basic@flip.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/fi-apl-guc/igt@kms_busy@basic@flip.html

  * igt@kms_flip@basic-flip-vs-dpms@c-dp1:
    - fi-apl-guc:         [PASS][17] -> [DMESG-WARN][18] ([i915#180] / [i915#8585] / [i915#8703]) +37 other tests dmesg-warn
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/fi-apl-guc/igt@kms_flip@basic-flip-vs-dpms@c-dp1.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/fi-apl-guc/igt@kms_flip@basic-flip-vs-dpms@c-dp1.html

  * igt@kms_flip@basic-flip-vs-wf_vblank@a-dp1:
    - fi-apl-guc:         [PASS][19] -> [DMESG-WARN][20] ([i915#180] / [i915#1982] / [i915#8585] / [i915#8703])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/fi-apl-guc/igt@kms_flip@basic-flip-vs-wf_vblank@a-dp1.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/fi-apl-guc/igt@kms_flip@basic-flip-vs-wf_vblank@a-dp1.html

  * igt@kms_hdmi_inject@inject-audio:
    - fi-kbl-guc:         [PASS][21] -> [FAIL][22] ([IGT#3])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/fi-kbl-guc/igt@kms_hdmi_inject@inject-audio.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/fi-kbl-guc/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_pipe_crc_basic@nonblocking-crc:
    - bat-dg2-11:         NOTRUN -> [SKIP][23] ([i915#1845] / [i915#9197])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc.html

  
#### Possible fixes ####

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1:
    - fi-rkl-11600:       [FAIL][24] ([fdo#103375]) -> [PASS][25]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/fi-rkl-11600/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/fi-rkl-11600/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1.html

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

  [IGT#3]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/3
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#8585]: https://gitlab.freedesktop.org/drm/intel/issues/8585
  [i915#8703]: https://gitlab.freedesktop.org/drm/intel/issues/8703
  [i915#9197]: https://gitlab.freedesktop.org/drm/intel/issues/9197
  [i915#9275]: https://gitlab.freedesktop.org/drm/intel/issues/9275
  [i915#9730]: https://gitlab.freedesktop.org/drm/intel/issues/9730


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7613 -> IGTPW_10316

  CI-20190529: 20190529
  CI_DRM_13958: bc2cf1c63329e388b826fc83b93ba8d723556452 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_10316: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/index.html
  IGT_7613: 378017d8fa63defde11c0b4bc72025c64b70607d @ 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_10316/index.html

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

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

* [igt-dev] ✗ CI.xeBAT: failure for Update PSR/PSR2_SF documenation and Add FBC support (rev2)
  2023-12-01 11:22 [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 12:42 ` [igt-dev] ✓ Fi.CI.BAT: success for Update PSR/PSR2_SF documenation and Add FBC support (rev2) Patchwork
@ 2023-12-01 12:45 ` Patchwork
  2023-12-02 23:53 ` [igt-dev] ✗ Fi.CI.IGT: " Patchwork
  6 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2023-12-01 12:45 UTC (permalink / raw)
  To: Jeevan B; +Cc: igt-dev

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

== Series Details ==

Series: Update PSR/PSR2_SF documenation and Add FBC support (rev2)
URL   : https://patchwork.freedesktop.org/series/127121/
State : failure

== Summary ==

CI Bug Log - changes from XEIGT_7613_BAT -> XEIGTPW_10316_BAT
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with XEIGTPW_10316_BAT absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in XEIGTPW_10316_BAT, 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.

  

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

  No changes in participating hosts

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@xe_exec_threads@threads-mixed-fd-basic:
    - bat-pvc-2:          [PASS][1] -> [TIMEOUT][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7613/bat-pvc-2/igt@xe_exec_threads@threads-mixed-fd-basic.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_10316/bat-pvc-2/igt@xe_exec_threads@threads-mixed-fd-basic.html

  
#### 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][3] -> [SKIP][4] +2 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7613/bat-adlp-7/igt@kms_psr@psr_cursor_plane_move.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_10316/bat-adlp-7/igt@kms_psr@psr_cursor_plane_move.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_flip@basic-flip-vs-wf_vblank:
    - bat-adlp-7:         [PASS][5] -> [FAIL][6] ([Intel XE#480]) +1 other test fail
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7613/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_10316/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank.html

  
#### Possible fixes ####

  * igt@kms_flip@basic-flip-vs-wf_vblank@b-dp3:
    - bat-dg2-oem2:       [FAIL][7] ([Intel XE#480]) -> [PASS][8] +1 other test pass
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7613/bat-dg2-oem2/igt@kms_flip@basic-flip-vs-wf_vblank@b-dp3.html
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_10316/bat-dg2-oem2/igt@kms_flip@basic-flip-vs-wf_vblank@b-dp3.html

  * {igt@xe_create@create-execqueues-leak}:
    - bat-atsm-2:         [FAIL][9] ([Intel XE#524]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7613/bat-atsm-2/igt@xe_create@create-execqueues-leak.html
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_10316/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#480]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/480
  [Intel XE#524]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/524


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

  * IGT: IGT_7613 -> IGTPW_10316
  * Linux: xe-542-84f2c2adec155170779f65ff63b4e80a51d22448 -> xe-544-a8b405ffc0326c79abf737389d99c290648f381d

  IGTPW_10316: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/index.html
  IGT_7613: 378017d8fa63defde11c0b4bc72025c64b70607d @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-542-84f2c2adec155170779f65ff63b4e80a51d22448: 84f2c2adec155170779f65ff63b4e80a51d22448
  xe-544-a8b405ffc0326c79abf737389d99c290648f381d: a8b405ffc0326c79abf737389d99c290648f381d

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_10316/index.html

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

^ 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: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

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 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
  0 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] ✗ Fi.CI.IGT: failure for Update PSR/PSR2_SF documenation and Add FBC support (rev2)
  2023-12-01 11:22 [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 12:45 ` [igt-dev] ✗ CI.xeBAT: failure " Patchwork
@ 2023-12-02 23:53 ` Patchwork
  6 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2023-12-02 23:53 UTC (permalink / raw)
  To: Jeevan B; +Cc: igt-dev

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

== Series Details ==

Series: Update PSR/PSR2_SF documenation and Add FBC support (rev2)
URL   : https://patchwork.freedesktop.org/series/127121/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_13958_full -> IGTPW_10316_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_10316_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_10316_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_10316/index.html

Participating hosts (11 -> 11)
------------------------------

  No changes in participating hosts

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

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

### IGT changes ###

#### Possible regressions ####

  * {igt@kms_psr@fbc-pr-primary-blt} (NEW):
    - shard-mtlp:         NOTRUN -> [SKIP][1] +35 other tests skip
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-5/igt@kms_psr@fbc-pr-primary-blt.html

  * {igt@kms_psr@fbc-psr-no-drrs} (NEW):
    - shard-tglu:         NOTRUN -> [SKIP][2] +132 other tests skip
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-9/igt@kms_psr@fbc-psr-no-drrs.html

  * {igt@kms_psr@fbc-psr2-cursor-blt@edp-1} (NEW):
    - shard-mtlp:         NOTRUN -> [FAIL][3] +36 other tests fail
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-7/igt@kms_psr@fbc-psr2-cursor-blt@edp-1.html

  * {igt@kms_psr@psr-cursor-render} (NEW):
    - shard-dg2:          NOTRUN -> [SKIP][4] +94 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-11/igt@kms_psr@psr-cursor-render.html

  * {igt@kms_psr@psr2-sprite-mmap-gtt} (NEW):
    - shard-dg1:          NOTRUN -> [SKIP][5] +131 other tests skip
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-16/igt@kms_psr@psr2-sprite-mmap-gtt.html

  * igt@prime_vgem@sync@vecs0:
    - shard-mtlp:         [PASS][6] -> [DMESG-WARN][7]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-mtlp-4/igt@prime_vgem@sync@vecs0.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-2/igt@prime_vgem@sync@vecs0.html

  
New tests
---------

  New tests have been introduced between CI_DRM_13958_full and IGTPW_10316_full:

### New IGT tests (230) ###

  * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-fully-sf:
    - Statuses : 4 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-sf:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr2_sf@fbc-cursor-plane-update-continuous-sf:
    - Statuses : 5 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 : 5 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 : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-sf:
    - Statuses : 5 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 : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr2_sf@fbc-overlay-plane-update-continuous-sf-dmg-area:
    - Statuses : 4 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 : 5 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 : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-pr-cursor-blt:
    - Statuses : 6 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 : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-pr-cursor-plane-move:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-pr-cursor-plane-onoff:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-pr-cursor-render:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-pr-dpms:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-pr-no-drrs:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-pr-primary-blt:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-pr-primary-mmap-cpu:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-pr-primary-mmap-gtt:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-pr-primary-page-flip:
    - Statuses : 5 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 : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-pr-sprite-plane-move:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-pr-sprite-plane-onoff:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-pr-sprite-render:
    - Statuses : 6 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-pr-suspend:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-psr-basic:
    - Statuses : 3 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-mmap-gtt@edp-1:
    - Statuses : 1 pass(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-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 : 5 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 : 5 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 : 3 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 : 5 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 : 4 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-render:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-psr-primary-render@edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-psr-sprite-blt:
    - Statuses : 5 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 : 4 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 : 4 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 : 5 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 : 4 skip(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 : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-psr2-cursor-mmap-gtt@edp-1:
    - Statuses : 1 fail(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-psr2-cursor-plane-move:
    - Statuses : 4 skip(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 : 5 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-no-drrs:
    - Statuses : 4 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-mmap-cpu:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-psr2-primary-mmap-gtt:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-psr2-primary-mmap-gtt@edp-1:
    - Statuses : 1 fail(s)
    - Exec time: [0.0] s

  * igt@kms_psr@fbc-psr2-primary-page-flip:
    - Statuses : 4 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 : 5 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 : 5 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 : 5 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 : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@pr-cursor-mmap-gtt:
    - Statuses : 4 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 : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@pr-cursor-render:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@pr-dpms:
    - Statuses : 5 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 : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@pr-primary-mmap-cpu:
    - Statuses : 6 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 : 5 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@pr-sprite-blt:
    - Statuses : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@pr-sprite-mmap-cpu:
    - Statuses : 6 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 : 5 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 : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@pr-suspend:
    - Statuses : 6 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 : 3 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 : 4 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-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-mmap-gtt@edp-1:
    - Statuses : 1 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 : 4 skip(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-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 : 4 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-sprite-render@edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [0.0] s

  * igt@kms_psr@psr-suspend:
    - Statuses : 5 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 : 5 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 : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@psr2-cursor-blt@edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [0.0] s

  * igt@kms_psr@psr2-cursor-mmap-cpu:
    - Statuses : 5 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 : 4 skip(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 : 4 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 : 4 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 : 5 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-cpu@edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [0.0] s

  * igt@kms_psr@psr2-primary-mmap-gtt:
    - Statuses : 5 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 : 4 skip(s)
    - Exec time: [0.0] s

  * igt@kms_psr@psr2-sprite-blt:
    - Statuses : 5 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 : 5 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-plane-onoff@edp-1:
    - Statuses : 1 pass(s)
    - Exec time: [0.0] s

  * igt@kms_psr@psr2-sprite-render:
    - Statuses : 5 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_10316_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@blit-reloc-purge-cache:
    - shard-dg2:          NOTRUN -> [SKIP][8] ([i915#8411])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-5/igt@api_intel_bb@blit-reloc-purge-cache.html

  * igt@drm_fdinfo@busy-hang@rcs0:
    - shard-mtlp:         NOTRUN -> [SKIP][9] ([i915#8414]) +11 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-4/igt@drm_fdinfo@busy-hang@rcs0.html

  * igt@drm_fdinfo@most-busy-check-all@bcs0:
    - shard-dg2:          NOTRUN -> [SKIP][10] ([i915#8414]) +21 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-6/igt@drm_fdinfo@most-busy-check-all@bcs0.html

  * igt@gem_close_race@multigpu-basic-threads:
    - shard-mtlp:         NOTRUN -> [SKIP][11] ([i915#7697])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-2/igt@gem_close_race@multigpu-basic-threads.html

  * igt@gem_ctx_persistence@heartbeat-many:
    - shard-dg2:          NOTRUN -> [SKIP][12] ([i915#8555])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-11/igt@gem_ctx_persistence@heartbeat-many.html

  * igt@gem_ctx_sseu@invalid-sseu:
    - shard-mtlp:         NOTRUN -> [SKIP][13] ([i915#280])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-8/igt@gem_ctx_sseu@invalid-sseu.html

  * igt@gem_ctx_sseu@mmap-args:
    - shard-dg1:          NOTRUN -> [SKIP][14] ([i915#280])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-17/igt@gem_ctx_sseu@mmap-args.html

  * igt@gem_eio@hibernate:
    - shard-dg2:          NOTRUN -> [INCOMPLETE][15] ([i915#7975])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-5/igt@gem_eio@hibernate.html

  * igt@gem_eio@reset-stress:
    - shard-dg1:          NOTRUN -> [FAIL][16] ([i915#5784])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-19/igt@gem_eio@reset-stress.html

  * igt@gem_exec_balancer@bonded-true-hang:
    - shard-dg2:          NOTRUN -> [SKIP][17] ([i915#4812]) +1 other test skip
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-2/igt@gem_exec_balancer@bonded-true-hang.html

  * igt@gem_exec_balancer@invalid-bonds:
    - shard-dg1:          NOTRUN -> [SKIP][18] ([i915#4036])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-18/igt@gem_exec_balancer@invalid-bonds.html

  * igt@gem_exec_balancer@sliced:
    - shard-mtlp:         NOTRUN -> [SKIP][19] ([i915#4812]) +1 other test skip
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-8/igt@gem_exec_balancer@sliced.html

  * igt@gem_exec_capture@many-4k-incremental:
    - shard-dg2:          NOTRUN -> [FAIL][20] ([i915#9606])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-1/igt@gem_exec_capture@many-4k-incremental.html
    - shard-tglu:         NOTRUN -> [FAIL][21] ([i915#9606])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-5/igt@gem_exec_capture@many-4k-incremental.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-glk:          [PASS][22] -> [FAIL][23] ([i915#2842])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-glk3/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-glk6/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-sync:
    - shard-dg1:          NOTRUN -> [SKIP][24] ([i915#3539])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-16/igt@gem_exec_fair@basic-sync.html

  * igt@gem_exec_flush@basic-uc-set-default:
    - shard-dg2:          NOTRUN -> [SKIP][25] ([i915#3539])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-11/igt@gem_exec_flush@basic-uc-set-default.html

  * igt@gem_exec_flush@basic-wb-prw-default:
    - shard-dg2:          NOTRUN -> [SKIP][26] ([i915#3539] / [i915#4852]) +2 other tests skip
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-5/igt@gem_exec_flush@basic-wb-prw-default.html

  * igt@gem_exec_flush@basic-wb-ro-before-default:
    - shard-dg1:          NOTRUN -> [SKIP][27] ([i915#3539] / [i915#4852]) +1 other test skip
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-19/igt@gem_exec_flush@basic-wb-ro-before-default.html

  * igt@gem_exec_reloc@basic-gtt-cpu-active:
    - shard-dg2:          NOTRUN -> [SKIP][28] ([i915#3281]) +15 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-6/igt@gem_exec_reloc@basic-gtt-cpu-active.html

  * igt@gem_exec_reloc@basic-write-read-noreloc:
    - shard-dg1:          NOTRUN -> [SKIP][29] ([i915#3281]) +7 other tests skip
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-19/igt@gem_exec_reloc@basic-write-read-noreloc.html

  * igt@gem_exec_reloc@basic-write-wc:
    - shard-mtlp:         NOTRUN -> [SKIP][30] ([i915#3281]) +9 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-3/igt@gem_exec_reloc@basic-write-wc.html

  * igt@gem_exec_schedule@preempt-queue-chain:
    - shard-mtlp:         NOTRUN -> [SKIP][31] ([i915#4537] / [i915#4812]) +1 other test skip
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-1/igt@gem_exec_schedule@preempt-queue-chain.html
    - shard-dg2:          NOTRUN -> [SKIP][32] ([i915#4537] / [i915#4812]) +1 other test skip
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-5/igt@gem_exec_schedule@preempt-queue-chain.html

  * igt@gem_fence_thrash@bo-copy:
    - shard-dg2:          NOTRUN -> [SKIP][33] ([i915#4860]) +1 other test skip
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-1/igt@gem_fence_thrash@bo-copy.html

  * igt@gem_fence_thrash@bo-write-verify-threaded-none:
    - shard-mtlp:         NOTRUN -> [SKIP][34] ([i915#4860])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-7/igt@gem_fence_thrash@bo-write-verify-threaded-none.html

  * igt@gem_huc_copy@huc-copy:
    - shard-tglu:         NOTRUN -> [SKIP][35] ([i915#2190])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-5/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@heavy-verify-random-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][36] ([i915#4613])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-10/igt@gem_lmem_swapping@heavy-verify-random-ccs.html

  * igt@gem_lmem_swapping@smem-oom:
    - shard-mtlp:         NOTRUN -> [SKIP][37] ([i915#4613]) +3 other tests skip
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-8/igt@gem_lmem_swapping@smem-oom.html

  * igt@gem_media_fill@media-fill:
    - shard-dg2:          NOTRUN -> [SKIP][38] ([i915#8289])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-11/igt@gem_media_fill@media-fill.html

  * igt@gem_mmap@bad-size:
    - shard-mtlp:         NOTRUN -> [SKIP][39] ([i915#4083]) +3 other tests skip
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-3/igt@gem_mmap@bad-size.html

  * igt@gem_mmap_gtt@basic-read-write-distinct:
    - shard-dg2:          NOTRUN -> [SKIP][40] ([i915#4077]) +10 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-11/igt@gem_mmap_gtt@basic-read-write-distinct.html

  * igt@gem_mmap_wc@bad-object:
    - shard-dg1:          NOTRUN -> [SKIP][41] ([i915#4083]) +1 other test skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-17/igt@gem_mmap_wc@bad-object.html

  * igt@gem_mmap_wc@copy:
    - shard-dg2:          NOTRUN -> [SKIP][42] ([i915#4083]) +3 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-11/igt@gem_mmap_wc@copy.html

  * igt@gem_pread@snoop:
    - shard-dg2:          NOTRUN -> [SKIP][43] ([i915#3282]) +5 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-2/igt@gem_pread@snoop.html

  * igt@gem_pread@uncached:
    - shard-dg1:          NOTRUN -> [SKIP][44] ([i915#3282])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-17/igt@gem_pread@uncached.html

  * igt@gem_pxp@display-protected-crc:
    - shard-dg1:          NOTRUN -> [SKIP][45] ([i915#4270]) +1 other test skip
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-19/igt@gem_pxp@display-protected-crc.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_10316/shard-dg2-1/igt@gem_pxp@regular-baseline-src-copy-readible.html

  * igt@gem_pxp@verify-pxp-execution-after-suspend-resume:
    - shard-tglu:         NOTRUN -> [SKIP][47] ([i915#4270]) +2 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-5/igt@gem_pxp@verify-pxp-execution-after-suspend-resume.html
    - shard-mtlp:         NOTRUN -> [SKIP][48] ([i915#4270])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-3/igt@gem_pxp@verify-pxp-execution-after-suspend-resume.html

  * igt@gem_readwrite@beyond-eob:
    - shard-mtlp:         NOTRUN -> [SKIP][49] ([i915#3282]) +4 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-7/igt@gem_readwrite@beyond-eob.html

  * igt@gem_render_copy@y-tiled-ccs-to-yf-tiled-ccs:
    - shard-mtlp:         NOTRUN -> [SKIP][50] ([i915#8428]) +2 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-7/igt@gem_render_copy@y-tiled-ccs-to-yf-tiled-ccs.html

  * igt@gem_set_tiling_vs_blt@tiled-to-untiled:
    - shard-dg2:          NOTRUN -> [SKIP][51] ([i915#4079]) +1 other test skip
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-6/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html

  * igt@gem_softpin@evict-snoop-interruptible:
    - shard-tglu:         NOTRUN -> [SKIP][52] ([fdo#109312])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-5/igt@gem_softpin@evict-snoop-interruptible.html
    - shard-mtlp:         NOTRUN -> [SKIP][53] ([i915#4885])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-5/igt@gem_softpin@evict-snoop-interruptible.html

  * igt@gem_tiled_pread_basic:
    - shard-dg1:          NOTRUN -> [SKIP][54] ([i915#4079])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-19/igt@gem_tiled_pread_basic.html

  * igt@gem_userptr_blits@access-control:
    - shard-mtlp:         NOTRUN -> [SKIP][55] ([i915#3297]) +3 other tests skip
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-8/igt@gem_userptr_blits@access-control.html

  * igt@gem_userptr_blits@coherency-sync:
    - shard-tglu:         NOTRUN -> [SKIP][56] ([fdo#110542])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-10/igt@gem_userptr_blits@coherency-sync.html

  * igt@gem_userptr_blits@sd-probe:
    - shard-dg2:          NOTRUN -> [SKIP][57] ([i915#3297] / [i915#4958])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-5/igt@gem_userptr_blits@sd-probe.html

  * igt@gem_userptr_blits@unsync-overlap:
    - shard-dg1:          NOTRUN -> [SKIP][58] ([i915#3297])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-14/igt@gem_userptr_blits@unsync-overlap.html

  * igt@gem_userptr_blits@unsync-unmap:
    - shard-dg2:          NOTRUN -> [SKIP][59] ([i915#3297]) +1 other test skip
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-6/igt@gem_userptr_blits@unsync-unmap.html

  * igt@gem_userptr_blits@vma-merge:
    - shard-mtlp:         NOTRUN -> [FAIL][60] ([i915#3318])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-6/igt@gem_userptr_blits@vma-merge.html

  * igt@gen7_exec_parse@bitmasks:
    - shard-dg2:          NOTRUN -> [SKIP][61] ([fdo#109289]) +3 other tests skip
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-11/igt@gen7_exec_parse@bitmasks.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-dg1:          NOTRUN -> [SKIP][62] ([i915#2527])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-17/igt@gen9_exec_parse@allowed-all.html

  * igt@gen9_exec_parse@batch-without-end:
    - shard-mtlp:         NOTRUN -> [SKIP][63] ([i915#2856])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-3/igt@gen9_exec_parse@batch-without-end.html

  * igt@gen9_exec_parse@bb-oversize:
    - shard-tglu:         NOTRUN -> [SKIP][64] ([i915#2527] / [i915#2856]) +1 other test skip
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-4/igt@gen9_exec_parse@bb-oversize.html

  * igt@gen9_exec_parse@shadow-peek:
    - shard-dg2:          NOTRUN -> [SKIP][65] ([i915#2856]) +1 other test skip
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-1/igt@gen9_exec_parse@shadow-peek.html

  * igt@i915_module_load@load:
    - shard-mtlp:         NOTRUN -> [SKIP][66] ([i915#6227])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-8/igt@i915_module_load@load.html

  * igt@i915_pm_freq_mult@media-freq@gt0:
    - shard-tglu:         NOTRUN -> [SKIP][67] ([i915#6590])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-9/igt@i915_pm_freq_mult@media-freq@gt0.html

  * igt@i915_pm_rps@min-max-config-idle:
    - shard-dg2:          NOTRUN -> [SKIP][68] ([i915#6621])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-1/igt@i915_pm_rps@min-max-config-idle.html

  * igt@i915_pm_rps@reset:
    - shard-snb:          [PASS][69] -> [INCOMPLETE][70] ([i915#7790])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-snb1/igt@i915_pm_rps@reset.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-snb7/igt@i915_pm_rps@reset.html
    - shard-mtlp:         NOTRUN -> [FAIL][71] ([i915#8346])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-7/igt@i915_pm_rps@reset.html

  * igt@i915_selftest@mock@memory_region:
    - shard-dg1:          NOTRUN -> [DMESG-WARN][72] ([i915#9311])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-16/igt@i915_selftest@mock@memory_region.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-dg1:          NOTRUN -> [SKIP][73] ([i915#4077]) +3 other tests skip
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-16/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - shard-mtlp:         NOTRUN -> [SKIP][74] ([i915#3826])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-4/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * igt@kms_async_flips@crc@pipe-a-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [FAIL][75] ([i915#8247]) +3 other tests fail
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-1/igt@kms_async_flips@crc@pipe-a-hdmi-a-3.html

  * igt@kms_async_flips@crc@pipe-d-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [FAIL][76] ([i915#8247]) +3 other tests fail
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-17/igt@kms_async_flips@crc@pipe-d-hdmi-a-4.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-90:
    - shard-dg2:          NOTRUN -> [SKIP][77] ([fdo#111614]) +4 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-2/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html
    - shard-tglu:         NOTRUN -> [SKIP][78] ([fdo#111615] / [i915#5286]) +2 other tests skip
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-6/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-dg1:          NOTRUN -> [SKIP][79] ([i915#4538] / [i915#5286])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-12/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-mtlp:         [PASS][80] -> [FAIL][81] ([i915#5138]) +1 other test fail
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-mtlp-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-3/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@linear-32bpp-rotate-90:
    - shard-mtlp:         NOTRUN -> [SKIP][82] ([fdo#111614]) +3 other tests skip
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-2/igt@kms_big_fb@linear-32bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-90:
    - shard-dg1:          NOTRUN -> [SKIP][83] ([i915#3638])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-16/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-tglu:         [PASS][84] -> [FAIL][85] ([i915#3743]) +2 other tests fail
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-tglu-10/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-6/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-0:
    - shard-dg2:          NOTRUN -> [SKIP][86] ([i915#5190]) +13 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-2/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-270:
    - shard-mtlp:         NOTRUN -> [SKIP][87] ([fdo#111615]) +7 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-7/igt@kms_big_fb@yf-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-addfb:
    - shard-dg1:          NOTRUN -> [SKIP][88] ([fdo#111615])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-16/igt@kms_big_fb@yf-tiled-addfb.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-tglu:         NOTRUN -> [SKIP][89] ([fdo#111615]) +3 other tests skip
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-9/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-dg1:          NOTRUN -> [SKIP][90] ([i915#4538]) +2 other tests skip
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-15/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - shard-dg2:          NOTRUN -> [SKIP][91] ([i915#4538] / [i915#5190]) +3 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html

  * igt@kms_big_joiner@basic:
    - shard-mtlp:         NOTRUN -> [SKIP][92] ([i915#2705])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-7/igt@kms_big_joiner@basic.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-mtlp:         NOTRUN -> [SKIP][93] ([i915#7213])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-1/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_chamelium_audio@hdmi-audio-edid:
    - shard-tglu:         NOTRUN -> [SKIP][94] ([i915#7828]) +3 other tests skip
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-5/igt@kms_chamelium_audio@hdmi-audio-edid.html

  * igt@kms_chamelium_color@ctm-0-25:
    - shard-dg2:          NOTRUN -> [SKIP][95] ([fdo#111827])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-1/igt@kms_chamelium_color@ctm-0-25.html

  * igt@kms_chamelium_color@ctm-limited-range:
    - shard-mtlp:         NOTRUN -> [SKIP][96] ([fdo#111827])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-2/igt@kms_chamelium_color@ctm-limited-range.html

  * igt@kms_chamelium_color@ctm-negative:
    - shard-dg1:          NOTRUN -> [SKIP][97] ([fdo#111827])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-15/igt@kms_chamelium_color@ctm-negative.html

  * igt@kms_chamelium_color@degamma:
    - shard-tglu:         NOTRUN -> [SKIP][98] ([fdo#111827])
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-8/igt@kms_chamelium_color@degamma.html

  * igt@kms_chamelium_edid@hdmi-edid-stress-resolution-non-4k:
    - shard-dg2:          NOTRUN -> [SKIP][99] ([i915#7828]) +10 other tests skip
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-1/igt@kms_chamelium_edid@hdmi-edid-stress-resolution-non-4k.html

  * igt@kms_chamelium_frames@hdmi-aspect-ratio:
    - shard-mtlp:         NOTRUN -> [SKIP][100] ([i915#7828]) +4 other tests skip
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-8/igt@kms_chamelium_frames@hdmi-aspect-ratio.html

  * igt@kms_chamelium_hpd@dp-hpd-storm-disable:
    - shard-dg1:          NOTRUN -> [SKIP][101] ([i915#7828]) +4 other tests skip
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-15/igt@kms_chamelium_hpd@dp-hpd-storm-disable.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-dg2:          NOTRUN -> [SKIP][102] ([i915#3299])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-11/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@legacy:
    - shard-mtlp:         NOTRUN -> [SKIP][103] ([i915#6944])
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-3/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@srm:
    - shard-dg2:          NOTRUN -> [SKIP][104] ([i915#7118])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-5/igt@kms_content_protection@srm.html

  * igt@kms_cursor_crc@cursor-onscreen-32x32:
    - shard-dg1:          NOTRUN -> [SKIP][105] ([i915#3555]) +4 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-19/igt@kms_cursor_crc@cursor-onscreen-32x32.html

  * igt@kms_cursor_crc@cursor-onscreen-512x170:
    - shard-dg2:          NOTRUN -> [SKIP][106] ([i915#3359])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-1/igt@kms_cursor_crc@cursor-onscreen-512x170.html

  * igt@kms_cursor_crc@cursor-onscreen-512x512:
    - shard-dg1:          NOTRUN -> [SKIP][107] ([i915#3359])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-15/igt@kms_cursor_crc@cursor-onscreen-512x512.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x32:
    - shard-dg2:          NOTRUN -> [SKIP][108] ([i915#3555]) +8 other tests skip
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-5/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
    - shard-mtlp:         NOTRUN -> [SKIP][109] ([i915#3555] / [i915#8814])
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-2/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html

  * igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy:
    - shard-tglu:         NOTRUN -> [SKIP][110] ([fdo#109274]) +1 other test skip
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-5/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
    - shard-mtlp:         NOTRUN -> [SKIP][111] ([i915#3546])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-5/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic:
    - shard-dg2:          NOTRUN -> [SKIP][112] ([fdo#109274] / [fdo#111767] / [i915#5354])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-1/igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
    - shard-mtlp:         NOTRUN -> [SKIP][113] ([i915#4213])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-varying-size:
    - shard-dg2:          NOTRUN -> [SKIP][114] ([fdo#109274] / [i915#5354]) +4 other tests skip
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-10/igt@kms_cursor_legacy@cursorb-vs-flipb-varying-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-glk:          [PASS][115] -> [FAIL][116] ([i915#2346])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-glk5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-glk8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
    - shard-dg2:          NOTRUN -> [SKIP][117] ([i915#4103] / [i915#4213])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-1/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
    - shard-tglu:         NOTRUN -> [SKIP][118] ([i915#4103])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-5/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-dg2:          NOTRUN -> [SKIP][119] ([i915#3840] / [i915#9688])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-10/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_dsc@dsc-with-bpc:
    - shard-dg2:          NOTRUN -> [SKIP][120] ([i915#3555] / [i915#3840] / [i915#4098])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-5/igt@kms_dsc@dsc-with-bpc.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank:
    - shard-tglu:         NOTRUN -> [SKIP][121] ([fdo#109274] / [i915#3637]) +3 other tests skip
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-5/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-dg2:          NOTRUN -> [SKIP][122] ([fdo#109274] / [fdo#111767]) +1 other test skip
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@2x-flip-vs-panning-vs-hang:
    - shard-dg2:          NOTRUN -> [SKIP][123] ([fdo#109274]) +7 other tests skip
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-2/igt@kms_flip@2x-flip-vs-panning-vs-hang.html

  * igt@kms_flip@flip-vs-fences-interruptible:
    - shard-mtlp:         NOTRUN -> [SKIP][124] ([i915#8381])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-8/igt@kms_flip@flip-vs-fences-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][125] ([i915#2672]) +2 other tests skip
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-2/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode:
    - shard-dg2:          NOTRUN -> [SKIP][126] ([i915#2672]) +4 other tests skip
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-11/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling@pipe-a-valid-mode:
    - shard-dg1:          NOTRUN -> [SKIP][127] ([i915#2587] / [i915#2672]) +1 other test skip
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-17/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][128] ([i915#2672] / [i915#3555])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-default-mode.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
    - shard-dg2:          NOTRUN -> [SKIP][129] ([i915#5354]) +37 other tests skip
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-dg2:          NOTRUN -> [SKIP][130] ([i915#8708]) +19 other tests skip
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-render:
    - shard-tglu:         NOTRUN -> [SKIP][131] ([fdo#109280]) +18 other tests skip
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-10/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][132] ([i915#8708]) +11 other tests skip
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-16/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu:
    - shard-dg2:          NOTRUN -> [SKIP][133] ([i915#3458]) +18 other tests skip
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-11/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt:
    - shard-mtlp:         NOTRUN -> [SKIP][134] ([i915#1825]) +21 other tests skip
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-render:
    - shard-dg1:          NOTRUN -> [SKIP][135] ([fdo#111825]) +14 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-12/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-suspend:
    - shard-dg1:          NOTRUN -> [SKIP][136] ([i915#3458]) +4 other tests skip
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-19/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
    - shard-dg1:          NOTRUN -> [SKIP][137] ([i915#5439])
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-12/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt:
    - shard-tglu:         NOTRUN -> [SKIP][138] ([fdo#110189]) +6 other tests skip
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][139] ([i915#8708]) +6 other tests skip
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_hdr@bpc-switch:
    - shard-dg1:          NOTRUN -> [SKIP][140] ([i915#3555] / [i915#8228])
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-16/igt@kms_hdr@bpc-switch.html

  * igt@kms_hdr@invalid-metadata-sizes:
    - shard-mtlp:         NOTRUN -> [SKIP][141] ([i915#3555] / [i915#8228])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-2/igt@kms_hdr@invalid-metadata-sizes.html

  * igt@kms_hdr@static-toggle:
    - shard-dg2:          NOTRUN -> [SKIP][142] ([i915#3555] / [i915#8228]) +2 other tests skip
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-2/igt@kms_hdr@static-toggle.html

  * igt@kms_panel_fitting@legacy:
    - shard-tglu:         NOTRUN -> [SKIP][143] ([i915#6301])
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-5/igt@kms_panel_fitting@legacy.html
    - shard-dg2:          NOTRUN -> [SKIP][144] ([i915#6301])
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-1/igt@kms_panel_fitting@legacy.html

  * igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes:
    - shard-dg1:          NOTRUN -> [SKIP][145] ([fdo#109289]) +1 other test skip
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-18/igt@kms_pipe_b_c_ivb@enable-pipe-c-while-b-has-3-lanes.html

  * igt@kms_pipe_b_c_ivb@pipe-b-double-modeset-then-modeset-pipe-c:
    - shard-mtlp:         NOTRUN -> [SKIP][146] ([fdo#109289]) +1 other test skip
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-7/igt@kms_pipe_b_c_ivb@pipe-b-double-modeset-then-modeset-pipe-c.html

  * igt@kms_pipe_b_c_ivb@pipe-b-dpms-off-modeset-pipe-c:
    - shard-tglu:         NOTRUN -> [SKIP][147] ([fdo#109289]) +1 other test skip
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-9/igt@kms_pipe_b_c_ivb@pipe-b-dpms-off-modeset-pipe-c.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-d-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][148] ([i915#5235]) +15 other tests skip
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-6/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-d-hdmi-a-3.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75@pipe-c-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][149] ([i915#5235]) +2 other tests skip
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-5/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75@pipe-c-edp-1.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75@pipe-d-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][150] ([i915#3555] / [i915#5235])
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-5/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75@pipe-d-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][151] ([i915#5235]) +7 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-12/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3.html

  * igt@kms_prime@basic-crc-hybrid:
    - shard-dg2:          NOTRUN -> [SKIP][152] ([i915#6524] / [i915#6805])
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-1/igt@kms_prime@basic-crc-hybrid.html

  * igt@kms_prime@basic-modeset-hybrid:
    - shard-dg1:          NOTRUN -> [SKIP][153] ([i915#6524])
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-14/igt@kms_prime@basic-modeset-hybrid.html

  * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf:
    - shard-tglu:         NOTRUN -> [SKIP][154] ([i915#9683])
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-10/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area:
    - shard-dg1:          NOTRUN -> [SKIP][155] ([fdo#111068] / [i915#9683])
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-16/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb:
    - shard-dg2:          NOTRUN -> [SKIP][156] ([i915#9683]) +4 other tests skip
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-11/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-mtlp:         NOTRUN -> [SKIP][157] ([i915#4348])
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-8/igt@kms_psr2_su@page_flip-p010.html

  * {igt@kms_psr@psr-no-drrs} (NEW):
    - shard-glk:          NOTRUN -> [SKIP][158] ([fdo#109271]) +166 other tests skip
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-glk2/igt@kms_psr@psr-no-drrs.html

  * {igt@kms_psr@psr-sprite-blt} (NEW):
    - shard-snb:          NOTRUN -> [SKIP][159] ([fdo#109271]) +141 other tests skip
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-snb5/igt@kms_psr@psr-sprite-blt.html

  * {igt@kms_psr@psr2-primary-mmap-gtt@edp-1} (NEW):
    - shard-mtlp:         NOTRUN -> [SKIP][160] ([i915#4077]) +10 other tests skip
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-4/igt@kms_psr@psr2-primary-mmap-gtt@edp-1.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-dg2:          NOTRUN -> [SKIP][161] ([i915#9685])
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-10/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-dg1:          NOTRUN -> [SKIP][162] ([i915#9685])
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-17/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_rotation_crc@primary-rotation-270:
    - shard-dg2:          NOTRUN -> [SKIP][163] ([i915#4235]) +2 other tests skip
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-10/igt@kms_rotation_crc@primary-rotation-270.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
    - shard-dg2:          NOTRUN -> [SKIP][164] ([i915#4235] / [i915#5190]) +1 other test skip
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html

  * igt@kms_scaling_modes@scaling-mode-full:
    - shard-tglu:         NOTRUN -> [SKIP][165] ([i915#3555]) +3 other tests skip
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-10/igt@kms_scaling_modes@scaling-mode-full.html

  * igt@kms_setmode@basic@pipe-a-vga-1:
    - shard-snb:          NOTRUN -> [FAIL][166] ([i915#5465]) +1 other test fail
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-snb5/igt@kms_setmode@basic@pipe-a-vga-1.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-dg2:          NOTRUN -> [SKIP][167] ([i915#8623])
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-10/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-a-vga-1:
    - shard-snb:          [PASS][168] -> [FAIL][169] ([i915#9196])
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-snb6/igt@kms_universal_plane@cursor-fb-leak@pipe-a-vga-1.html
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-snb5/igt@kms_universal_plane@cursor-fb-leak@pipe-a-vga-1.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1:
    - shard-mtlp:         [PASS][170] -> [FAIL][171] ([i915#9196])
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-mtlp-7/igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1.html
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-3/igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1.html

  * igt@kms_writeback@writeback-pixel-formats:
    - shard-glk:          NOTRUN -> [SKIP][172] ([fdo#109271] / [i915#2437])
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-glk3/igt@kms_writeback@writeback-pixel-formats.html
    - shard-dg1:          NOTRUN -> [SKIP][173] ([i915#2437])
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-17/igt@kms_writeback@writeback-pixel-formats.html

  * igt@perf@non-zero-reason@0-rcs0:
    - shard-dg2:          [PASS][174] -> [FAIL][175] ([i915#7484])
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-dg2-1/igt@perf@non-zero-reason@0-rcs0.html
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-11/igt@perf@non-zero-reason@0-rcs0.html

  * igt@perf@unprivileged-single-ctx-counters:
    - shard-dg1:          NOTRUN -> [SKIP][176] ([fdo#109289] / [i915#2433])
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-19/igt@perf@unprivileged-single-ctx-counters.html

  * igt@perf_pmu@busy-double-start@vecs1:
    - shard-dg2:          NOTRUN -> [FAIL][177] ([i915#4349]) +3 other tests fail
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-2/igt@perf_pmu@busy-double-start@vecs1.html

  * igt@perf_pmu@event-wait@rcs0:
    - shard-mtlp:         NOTRUN -> [SKIP][178] ([i915#3555] / [i915#8807])
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-3/igt@perf_pmu@event-wait@rcs0.html

  * igt@perf_pmu@module-unload:
    - shard-dg2:          NOTRUN -> [FAIL][179] ([i915#5793])
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-1/igt@perf_pmu@module-unload.html

  * igt@perf_pmu@most-busy-idle-check-all@rcs0:
    - shard-dg1:          [PASS][180] -> [FAIL][181] ([i915#9593])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-dg1-12/igt@perf_pmu@most-busy-idle-check-all@rcs0.html
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-18/igt@perf_pmu@most-busy-idle-check-all@rcs0.html

  * igt@prime_udl:
    - shard-dg2:          NOTRUN -> [SKIP][182] ([fdo#109291])
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-2/igt@prime_udl.html

  * igt@prime_vgem@basic-fence-mmap:
    - shard-dg2:          NOTRUN -> [SKIP][183] ([i915#3708] / [i915#4077])
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-6/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-fence-read:
    - shard-dg2:          NOTRUN -> [SKIP][184] ([i915#3291] / [i915#3708])
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-7/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@basic-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][185] ([i915#3708] / [i915#4077])
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-19/igt@prime_vgem@basic-gtt.html

  * igt@prime_vgem@sync@vcs1:
    - shard-mtlp:         [PASS][186] -> [ABORT][187] ([i915#8875])
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-mtlp-4/igt@prime_vgem@sync@vcs1.html
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-2/igt@prime_vgem@sync@vcs1.html

  * igt@tools_test@sysfs_l3_parity:
    - shard-dg1:          NOTRUN -> [SKIP][188] ([fdo#109307] / [i915#4818])
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-19/igt@tools_test@sysfs_l3_parity.html

  * igt@v3d/v3d_job_submission@array-job-submission:
    - shard-tglu:         NOTRUN -> [SKIP][189] ([fdo#109315] / [i915#2575]) +4 other tests skip
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-5/igt@v3d/v3d_job_submission@array-job-submission.html

  * igt@v3d/v3d_submit_cl@single-out-sync:
    - shard-mtlp:         NOTRUN -> [SKIP][190] ([i915#2575]) +5 other tests skip
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-8/igt@v3d/v3d_submit_cl@single-out-sync.html

  * igt@v3d/v3d_submit_csd@bad-perfmon:
    - shard-dg1:          NOTRUN -> [SKIP][191] ([i915#2575]) +4 other tests skip
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-19/igt@v3d/v3d_submit_csd@bad-perfmon.html

  * igt@v3d/v3d_submit_csd@job-perfmon:
    - shard-dg2:          NOTRUN -> [SKIP][192] ([i915#2575]) +12 other tests skip
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-2/igt@v3d/v3d_submit_csd@job-perfmon.html

  * igt@vc4/vc4_purgeable_bo@access-purged-bo-mem:
    - shard-mtlp:         NOTRUN -> [SKIP][193] ([i915#7711]) +5 other tests skip
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-3/igt@vc4/vc4_purgeable_bo@access-purged-bo-mem.html

  * igt@vc4/vc4_tiling@get-bad-handle:
    - shard-dg1:          NOTRUN -> [SKIP][194] ([i915#7711]) +3 other tests skip
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-14/igt@vc4/vc4_tiling@get-bad-handle.html

  * igt@vc4/vc4_tiling@get-bad-modifier:
    - shard-tglu:         NOTRUN -> [SKIP][195] ([i915#2575]) +5 other tests skip
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-6/igt@vc4/vc4_tiling@get-bad-modifier.html

  * igt@vc4/vc4_wait_seqno@bad-seqno-1ns:
    - shard-dg2:          NOTRUN -> [SKIP][196] ([i915#7711]) +10 other tests skip
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-10/igt@vc4/vc4_wait_seqno@bad-seqno-1ns.html

  
#### Possible fixes ####

  * igt@gem_eio@unwedge-stress:
    - shard-dg1:          [FAIL][197] ([i915#5784]) -> [PASS][198]
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-dg1-15/igt@gem_eio@unwedge-stress.html
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-19/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglu:         [FAIL][199] ([i915#2842]) -> [PASS][200]
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-tglu-6/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-9/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_suspend@basic-s3@lmem0:
    - shard-dg2:          [INCOMPLETE][201] -> [PASS][202]
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-dg2-5/igt@gem_exec_suspend@basic-s3@lmem0.html
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-6/igt@gem_exec_suspend@basic-s3@lmem0.html

  * igt@gem_lmem_swapping@smem-oom@lmem0:
    - shard-dg1:          [TIMEOUT][203] ([i915#5493]) -> [PASS][204]
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-dg1-15/igt@gem_lmem_swapping@smem-oom@lmem0.html
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg1-14/igt@gem_lmem_swapping@smem-oom@lmem0.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-tglu:         [INCOMPLETE][205] ([i915#9200]) -> [PASS][206]
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-tglu-9/igt@i915_module_load@reload-with-fault-injection.html
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-8/igt@i915_module_load@reload-with-fault-injection.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-tglu:         [FAIL][207] ([i915#3743]) -> [PASS][208] +1 other test pass
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-tglu-9/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-10/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite:
    - shard-dg2:          [FAIL][209] ([i915#6880]) -> [PASS][210]
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-snb:          [SKIP][211] ([fdo#109271]) -> [PASS][212]
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-snb2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-wc.html
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-snb1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-wc.html

  * {igt@kms_pm_dc@dc6-dpms}:
    - shard-tglu:         [FAIL][213] ([i915#9295]) -> [PASS][214]
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-tglu-7/igt@kms_pm_dc@dc6-dpms.html
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-tglu-4/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_sysfs_edid_timing:
    - shard-dg2:          [FAIL][215] ([IGT#2]) -> [PASS][216]
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-dg2-2/igt@kms_sysfs_edid_timing.html
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-dg2-11/igt@kms_sysfs_edid_timing.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-d-edp-1:
    - shard-mtlp:         [FAIL][217] ([i915#9196]) -> [PASS][218]
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-mtlp-7/igt@kms_universal_plane@cursor-fb-leak@pipe-d-edp-1.html
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-3/igt@kms_universal_plane@cursor-fb-leak@pipe-d-edp-1.html

  
#### Warnings ####

  * igt@kms_async_flips@crc@pipe-d-edp-1:
    - shard-mtlp:         [FAIL][219] ([i915#8247]) -> [DMESG-FAIL][220] ([i915#8561]) +3 other tests dmesg-fail
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13958/shard-mtlp-3/igt@kms_async_flips@crc@pipe-d-edp-1.html
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/shard-mtlp-3/igt@kms_async_flips@crc@pipe-d-edp-1.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#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109293]: https://bugs.freedesktop.org/show_bug.cgi?id=109293
  [fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307
  [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110542]: https://bugs.freedesktop.org/show_bug.cgi?id=110542
  [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#111767]: https://bugs.freedesktop.org/show_bug.cgi?id=111767
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433
  [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#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [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#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#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#4036]: https://gitlab.freedesktop.org/drm/intel/issues/4036
  [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#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4235]: https://gitlab.freedesktop.org/drm/intel/issues/4235
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4348]: https://gitlab.freedesktop.org/drm/intel/issues/4348
  [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#4818]: https://gitlab.freedesktop.org/drm/intel/issues/4818
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
  [i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958
  [i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138
  [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#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
  [i915#5465]: https://gitlab.freedesktop.org/drm/intel/issues/5465
  [i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
  [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
  [i915#5793]: https://gitlab.freedesktop.org/drm/intel/issues/5793
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
  [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#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [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#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7213]: https://gitlab.freedesktop.org/drm/intel/issues/7213
  [i915#7484]: https://gitlab.freedesktop.org/drm/intel/issues/7484
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7790]: https://gitlab.freedesktop.org/drm/intel/issues/7790
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228
  [i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
  [i915#8289]: https://gitlab.freedesktop.org/drm/intel/issues/8289
  [i915#8346]: https://gitlab.freedesktop.org/drm/intel/issues/8346
  [i915#8381]: https://gitlab.freedesktop.org/drm/intel/issues/8381
  [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#8555]: https://gitlab.freedesktop.org/drm/intel/issues/8555
  [i915#8561]: https://gitlab.freedesktop.org/drm/intel/issues/8561
  [i915#8623]: https://gitlab.freedesktop.org/drm/intel/issues/8623
  [i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708
  [i915#8807]: https://gitlab.freedesktop.org/drm/intel/issues/8807
  [i915#8814]: https://gitlab.freedesktop.org/drm/intel/issues/8814
  [i915#8875]: https://gitlab.freedesktop.org/drm/intel/issues/8875
  [i915#9196]: https://gitlab.freedesktop.org/drm/intel/issues/9196
  [i915#9200]: https://gitlab.freedesktop.org/drm/intel/issues/9200
  [i915#9295]: https://gitlab.freedesktop.org/drm/intel/issues/9295
  [i915#9311]: https://gitlab.freedesktop.org/drm/intel/issues/9311
  [i915#9337]: https://gitlab.freedesktop.org/drm/intel/issues/9337
  [i915#9340]: https://gitlab.freedesktop.org/drm/intel/issues/9340
  [i915#9423]: https://gitlab.freedesktop.org/drm/intel/issues/9423
  [i915#9424]: https://gitlab.freedesktop.org/drm/intel/issues/9424
  [i915#9433]: https://gitlab.freedesktop.org/drm/intel/issues/9433
  [i915#9519]: https://gitlab.freedesktop.org/drm/intel/issues/9519
  [i915#9593]: https://gitlab.freedesktop.org/drm/intel/issues/9593
  [i915#9606]: https://gitlab.freedesktop.org/drm/intel/issues/9606
  [i915#9683]: https://gitlab.freedesktop.org/drm/intel/issues/9683
  [i915#9685]: https://gitlab.freedesktop.org/drm/intel/issues/9685
  [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_7613 -> IGTPW_10316
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_13958: bc2cf1c63329e388b826fc83b93ba8d723556452 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_10316: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_10316/index.html
  IGT_7613: 378017d8fa63defde11c0b4bc72025c64b70607d @ 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_10316/index.html

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

^ 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-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:52 ` Jeevan B
  0 siblings, 0 replies; 16+ messages in thread
From: Jeevan B @ 2023-12-04  9:52 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 1/4] tests/intel/kms_psr: fix documentation
  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

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

end of thread, other threads:[~2023-12-04  9:52 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 1/4] tests/intel/kms_psr: fix documentation Jeevan B
2023-12-01 11:22 ` [igt-dev] [PATCH i-g-t 2/4] tests/intel/kms_psr: fix subtest naming Jeevan B
2023-12-01 11:24   ` Sharma, Swati2
2023-12-01 11:22 ` [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 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-12-01 12:42 ` [igt-dev] ✓ Fi.CI.BAT: success for Update PSR/PSR2_SF documenation and Add FBC support (rev2) Patchwork
2023-12-01 12:45 ` [igt-dev] ✗ CI.xeBAT: failure " Patchwork
2023-12-02 23:53 ` [igt-dev] ✗ Fi.CI.IGT: " 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 1/4] tests/intel/kms_psr: fix documentation 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:52 ` [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 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: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 1/4] tests/intel/kms_psr: fix documentation Jeevan B
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 1/4] tests/intel/kms_psr: fix documentation Jeevan B
2023-12-01  5:06   ` B, Jeevan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox