[igt-dev] [V5 i-g-t 22/81] tests/i915/kms_frontbuffer_tracking: Document each subtest for testplan
Bhanuprakash Modem
bhanuprakash.modem at intel.com
Thu Jun 29 14:48:11 UTC 2023
Add documentation for all kms tests which is used by IGT testplan
documentation.
Note: This documentation is generated by the script & made changes
on top of it.
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
---
tests/i915/kms_frontbuffer_tracking.c | 808 ++++++++++++++++++++++++++
1 file changed, 808 insertions(+)
diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c
index b2183b08e..64f9b9412 100644
--- a/tests/i915/kms_frontbuffer_tracking.c
+++ b/tests/i915/kms_frontbuffer_tracking.c
@@ -24,6 +24,11 @@
*
*/
+/**
+ * TEST: kms frontbuffer tracking
+ * Category: Display
+ * Description: Test the Kernel's frontbuffer tracking mechanism and its related features: FBC, PSR and DRRS
+ */
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -1952,6 +1957,28 @@ static void prepare_subtest(const struct test_mode *t,
prepare_subtest_screens(t);
}
+/**
+ * SUBTEST: %s-%dp-rte
+ * Description: Sanity test to enable %arg[1] with %arg[2] panels.
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2].values: 1, 2
+ */
+
/*
* rte - the basic sanity test
*
@@ -2012,6 +2039,308 @@ static bool op_disables_psr(const struct test_mode *t,
return false;
}
+/**
+ * SUBTEST: %s-1p-offscren-pri-%s-draw-%s
+ * Description: Draw a set of rectangles on the screen using the provided method
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2]:
+ *
+ * @indfb: Individual fb
+ * @shrfb: Shared fb
+ *
+ * arg[3]:
+ *
+ * @blt: Blitter
+ * @mmap-wc: MMAP-WC
+ * @render: Render
+ */
+
+/**
+ * SUBTEST: %s-1p-offscren-pri-%s-draw-%s
+ * Description: Draw a set of rectangles on the screen using the provided method
+ * Driver requirement: i915
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2]:
+ *
+ * @indfb: Individual fb
+ * @shrfb: Shared fb
+ *
+ * arg[3]:
+ *
+ * @mmap-cpu: MMAP-CPU
+ * @mmap-gtt: MMAP-GTT
+ * @pwrite: PWRITE
+ */
+
+/**
+ * SUBTEST: %s-%dp-primscrn-%s-indfb-draw-%s
+ * Description: Draw a set of rectangles on the screen using the provided method
+ * Driver requirement: i915
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2].values: 1, 2
+ *
+ * arg[3]:
+ *
+ * @cur: Cursor plane
+ * @pri: Primary plane
+ * @spr: Sprite plane
+ *
+ * arg[4]:
+ *
+ * @mmap-cpu: MMAP-CPU
+ * @mmap-gtt: MMAP-GTT
+ * @pwrite: PWRITE
+ */
+
+/**
+ * SUBTEST: %s-%dp-primscrn-%s-indfb-draw-%s
+ * Description: Draw a set of rectangles on the screen using the provided method
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2].values: 1, 2
+ *
+ * arg[3]:
+ *
+ * @cur: Cursor plane
+ * @pri: Primary plane
+ * @spr: Sprite plane
+ *
+ * arg[4]:
+ *
+ * @blt: Blitter
+ * @mmap-wc: MMAP-WC
+ * @render: Render
+ */
+
+/**
+ * SUBTEST: %s-%dp-primscrn-pri-shrfb-draw-%s
+ * Description: Draw a set of rectangles on the screen using the provided method
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2].values: 1, 2
+ *
+ * arg[3]:
+ *
+ * @blt: Blitter
+ * @mmap-wc: MMAP-WC
+ * @render: Render
+ */
+
+/**
+ * SUBTEST: %s-%dp-primscrn-pri-shrfb-draw-%s
+ * Description: Draw a set of rectangles on the screen using the provided method
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2].values: 1, 2
+ *
+ * arg[3]:
+ *
+ * @mmap-cpu: MMAP-CPU
+ * @mmap-gtt: MMAP-GTT
+ * @pwrite: PWRITE
+ */
+
+/**
+ * SUBTEST: %s-2p-scndscrn-%s-indfb-draw-%s
+ * Description: Draw a set of rectangles on the screen using the provided method
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2]:
+ *
+ * @cur: Cursor plane
+ * @pri: Primary plane
+ * @spr: Sprite plane
+ *
+ * arg[3]:
+ *
+ * @blt: Blitter
+ * @mmap-wc: MMAP-WC
+ * @render: Render
+ */
+
+/**
+ * SUBTEST: %s-2p-scndscrn-%s-indfb-draw-%s
+ * Description: Draw a set of rectangles on the screen using the provided method
+ * Driver requirement: i915
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2]:
+ *
+ * @cur: Cursor plane
+ * @pri: Primary plane
+ * @spr: Sprite plane
+ *
+ * arg[3]:
+ *
+ * @mmap-cpu: MMAP-CPU
+ * @mmap-gtt: MMAP-GTT
+ * @pwrite: PWRITE
+ */
+
+/**
+ * SUBTEST: %s-2p-scndscrn-pri-shrfb-draw-%s
+ * Description: Draw a set of rectangles on the screen using the provided method
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2]:
+ *
+ * @blt: Blitter
+ * @mmap-wc: MMAP-WC
+ * @render: Render
+ */
+
+/**
+ * SUBTEST: %s-2p-scndscrn-pri-shrfb-draw-%s
+ * Description: Draw a set of rectangles on the screen using the provided method
+ * Driver requirement: i915
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2]:
+ *
+ * @mmap-cpu: MMAP-CPU
+ * @mmap-gtt: MMAP-GTT
+ * @pwrite: PWRITE
+ */
+
/*
* draw - draw a set of rectangles on the screen using the provided method
*
@@ -2085,6 +2414,28 @@ static void draw_subtest(const struct test_mode *t)
}
}
+/**
+ * SUBTEST: %s-%dp-pri-indfb-multidraw
+ * Description: Draw a set of rectangles on the screen using alternated drawing methods
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2].values: 1, 2
+ */
+
/*
* multidraw - draw a set of rectangles on the screen using alternated drawing
* methods
@@ -2233,6 +2584,68 @@ static void badformat_subtest(const struct test_mode *t)
do_assertions(assertions);
}
+/**
+ * SUBTEST: %s-%s-draw-%s
+ * Description: Test pixel formats (%arg[2]) that are not FORMAT_DEFAULT
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2]:
+ *
+ * @rgb101010: FORMAT_RGB101010
+ * @rgb565: FORMAT_RGB565
+ *
+ * arg[3]:
+ *
+ * @blt: Blitter
+ * @mmap-wc: MMAP-WC
+ * @render: Render
+ */
+
+/**
+ * SUBTEST: %s-%s-draw-%s
+ * Description: Test pixel formats (%arg[2]) that are not FORMAT_DEFAULT
+ * Driver requirement: i915
+ * Functionality: kms_core, gtt
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2]:
+ *
+ * @rgb101010: FORMAT_RGB101010
+ * @rgb565: FORMAT_RGB565
+ *
+ * arg[3]:
+ *
+ * @mmap-cpu: MMAP-CPU
+ * @mmap-gtt: MMAP-GTT
+ * @pwrite: PWRITE
+ */
+
/*
* format_draw - test pixel formats that are not FORMAT_DEFAULT
*
@@ -2276,6 +2689,25 @@ static bool tiling_is_valid(int feature_flags, enum tiling_type tiling)
}
}
+/**
+ * SUBTEST: %s-slowdraw
+ * Description: Sleep a little bit between drawing operations with %arg[1]
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ */
+
/*
* slow_draw - sleep a little bit between drawing operations
*
@@ -2382,6 +2814,70 @@ static void page_flip_for_params(struct modeset_params *params,
}
}
+/**
+ * SUBTEST: %s-%dp-primscrn-%s-%sflip-blt
+ * Description: Just exercise page flips with the patterns we have
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2].values: 1, 2
+ *
+ * arg[3]:
+ *
+ * @indfb: Individual fb
+ * @shrfb: Shared fb
+ *
+ * arg[4]:
+ *
+ * @ms: Modeset
+ * @pg: Page flip
+ * @pl: Plane change
+ */
+
+/**
+ * SUBTEST: %s-2p-scndscrn-%s-%sflip-blt
+ * Description: Just exercise page flips with the patterns we have
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2]:
+ *
+ * @indfb: Individual fb
+ * @shrfb: Shared fb
+ *
+ * arg[3]:
+ *
+ * @ms: Modeset
+ * @pg: Page flip
+ * @pl: Plane change
+ */
+
/*
* flip - just exercise page flips with the patterns we have
*
@@ -2442,6 +2938,30 @@ static void flip_subtest(const struct test_mode *t)
igt_remove_fb(drm.fd, &fb2);
}
+/**
+ * SUBTEST: %s-%dp-%s-fliptrack-mmap-gtt
+ * Description: Check if the hardware tracking works after page flips
+ * Driver requirement: i915
+ * Functionality: fbc, gtt, kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @fbc: FBC
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2].values: 1, 2
+ *
+ * arg[3]:
+ *
+ * @indfb: Individual fb
+ * @shrfb: Shared fb
+ */
+
/*
* fliptrack - check if the hardware tracking works after page flips
*
@@ -2490,6 +3010,58 @@ static void fliptrack_subtest(const struct test_mode *t, enum flip_type type)
igt_remove_fb(drm.fd, &fb2);
}
+/**
+ * SUBTEST: %s-%dp-primscrn-%s-indfb-move
+ * Description: Just move the %arg[3] around
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2].values: 1, 2
+ *
+ * arg[3]:
+ *
+ * @spr: Sprite plane
+ * @cur: Cursor plane
+ */
+
+/**
+ * SUBTEST: %s-2p-scndscrn-%s-indfb-move
+ * Description: Just move the %arg[2] around
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2]:
+ *
+ * @spr: Sprite plane
+ * @cur: Cursor plane
+ */
+
/*
* move - just move the sprite or cursor around
*
@@ -2543,6 +3115,58 @@ static void move_subtest(const struct test_mode *t)
}
}
+/**
+ * SUBTEST: %s-%dp-primscrn-%s-indfb-onoff
+ * Description: Just enable and disable the %arg[3] a few times
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2].values: 1, 2
+ *
+ * arg[3]:
+ *
+ * @spr: Sprite plane
+ * @cur: Cursor plane
+ */
+
+/**
+ * SUBTEST: %s-2p-scndscrn-%s-indfb-onoff
+ * Description: Just enable and disable the %arg[2] a few times
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2]:
+ *
+ * @spr: Sprite plane
+ * @cur: Cursor plane
+ */
+
/*
* onoff - just enable and disable the sprite or cursor plane a few times
*
@@ -2602,6 +3226,36 @@ static bool prim_plane_disabled(void)
return !prim_mode_params.primary.plane->values[IGT_PLANE_FB_ID];
}
+/**
+ * SUBTEST: %s-%dp-primscrn-spr-indfb-fullscreen
+ * Description: Put a fullscreen plane covering the whole screen
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * SUBTEST: %s-2p-scndscrn-spr-indfb-fullscreen
+ * Description: Put a fullscreen plane covering the whole screen
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2].values: 1, 2
+ */
+
/*
* fullscreen_plane - put a fullscreen plane covering the whole screen
*
@@ -2663,6 +3317,31 @@ static void fullscreen_plane_subtest(const struct test_mode *t)
igt_remove_fb(drm.fd, &fullscreen_fb);
}
+/**
+ * SUBTEST: %s-%s-scaledprimary
+ * Description: Try different primary plane scaling strategies
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2]:
+ *
+ * @indfb: Individual fb
+ * @shrfb: Shared fb
+ */
+
/*
* scaledprimary - try different primary plane scaling strategies
*
@@ -2768,6 +3447,27 @@ static void scaledprimary_subtest(const struct test_mode *t)
igt_remove_fb(drm.fd, &new_fb);
}
+
+/**
+ * SUBTEST: %s-modesetfrombusy
+ * Description: Modeset from a busy buffer to a non-busy buffer with %arg[1]
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ */
+
/**
* modesetfrombusy - modeset from a busy buffer to a non-busy buffer
*
@@ -2811,6 +3511,26 @@ static void modesetfrombusy_subtest(const struct test_mode *t)
igt_remove_fb(drm.fd, &fb2);
}
+/**
+ * SUBTEST: %s-suspend
+ * Description: Make sure suspend/resume keeps us on the same state of %arg[1]
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ */
+
/**
* suspend - make sure suspend/resume keeps us on the same state
*
@@ -2843,6 +3563,26 @@ static void suspend_subtest(const struct test_mode *t)
do_assertions(0);
}
+/**
+ * SUBTEST: %s-farfromfence-mmap-gtt
+ * Description: Test drawing as far from the fence start as possible
+ * Driver requirement: i915
+ * Functionality: gtt, kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @drrs: DRRS
+ * @fbc: FBC
+ * @psr: PSR
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @psrdrrs: PSR and DRRS
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ */
+
/**
* farfromfence - test drawing as far from the fence start as possible
*
@@ -2939,6 +3679,23 @@ static void try_invalid_strides(void)
gem_close(drm.fd, gem_handle);
}
+/**
+ * SUBTEST: %s-badstride
+ * Description: Try to use buffers with strides that are not supported
+ * Driver requirement: any
+ * Functionality: fbc, kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @fbc: FBC
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ */
+
/**
* badstride - try to use buffers with strides that are not supported
*
@@ -3007,6 +3764,23 @@ static void badstride_subtest(const struct test_mode *t)
igt_remove_fb(drm.fd, &wide_fb);
}
+/**
+ * SUBTEST: %s-stridechange
+ * Description: Change the frontbuffer stride by doing a modeset
+ * Driver requirement: any
+ * Functionality: fbc, kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @fbc: FBC
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ */
+
/**
* stridechange - change the frontbuffer stride by doing a modeset
*
@@ -3071,6 +3845,30 @@ static void stridechange_subtest(const struct test_mode *t)
do_assertions(rc ? 0 : DONT_ASSERT_FBC_STATUS);
}
+/**
+ * SUBTEST: %s-tiling-%s
+ * Description: Test %arg[2] formats, if the tiling format supports FBC do the
+ * basic drawing test, else set the mode & test if FBC is disabled
+ * Driver requirement: any
+ * Functionality: fbc, kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ *
+ * arg[1]:
+ *
+ * @fbc: FBC
+ * @fbcdrrs: FBC and DRRS
+ * @fbcpsr: FBC and PSR
+ * @fbcpsrdrrs: All features (DRRS, FBC & PSR)
+ *
+ * arg[2]:
+ *
+ * @4: 4 tiling
+ * @linear: Linear tiling
+ * @y: Y tiling
+ */
+
/**
* tiling_disable_fbc_subtest - Check if tiling is unsupported by FBC
*
@@ -3120,6 +3918,16 @@ static void tiling_disable_fbc_subtest(const struct test_mode *t)
igt_remove_fb(drm.fd, &new_fb);
}
+/**
+ * SUBTEST: basic
+ * Description: Do some basic operations regardless of which features are enabled
+ * Driver requirement: any
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ * Run type: FULL
+ * Test category: functionality test
+ */
+
/*
* basic - do some basic operations regardless of which features are enabled
*
--
2.40.0
More information about the igt-dev
mailing list