From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id C1A0D10E157 for ; Thu, 10 Aug 2023 06:25:56 +0000 (UTC) Message-ID: <12b2a7f0-2bed-70b0-23a0-8f6acbf19238@intel.com> Date: Thu, 10 Aug 2023 11:55:51 +0530 MIME-Version: 1.0 Content-Language: en-US To: Bhanuprakash Modem , igt-dev@lists.freedesktop.org References: <20230629144910.3055377-23-bhanuprakash.modem@intel.com> From: "Joshi, Kunal1" In-Reply-To: <20230629144910.3055377-23-bhanuprakash.modem@intel.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [igt-dev] [V5, i-g-t, 22/81] tests/i915/kms_frontbuffer_tracking: Document each subtest for testplan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: On 6/29/2023 8:18 PM, Bhanuprakash Modem wrote: > 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 > --- > 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 > #include > #include > @@ -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 > + * In Functionality can we have PSR, DRRS and FBC and FBT as well? Applicable almost on all test except basic Apart from that Reviewed-by: Kunal Joshi > + * 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 > *