Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Hogander, Jouni" <jouni.hogander@intel.com>
To: "igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>,
	"Modem, Bhanuprakash" <bhanuprakash.modem@intel.com>
Subject: Re: [igt-dev] [i-g-t 5/5] tests/intel/kms_dirtyfb: Restructure dynamic subtests
Date: Wed, 15 Nov 2023 10:19:55 +0000	[thread overview]
Message-ID: <11ce2f7dcaa83740b75551a7ccb3a99261b3fe92.camel@intel.com> (raw)
In-Reply-To: <20231115070344.1488683-6-bhanuprakash.modem@intel.com>

On Wed, 2023-11-15 at 12:33 +0530, Bhanuprakash Modem wrote:
> Instead of having all features under single subtest, create
> a subtest for each feature.
> 
> Before:
> igt@kms_dirtyfb@dirtyfb-ioctl@psr-eDP-1
> igt@kms_dirtyfb@dirtyfb-ioctl@fbc-eDP-1
> igt@kms_dirtyfb@dirtyfb-ioctl@drrs-eDP-1
> 
> After:
> igt@kms_dirtyfb@psr-dirtyfb-ioctl@pipe-A-eDP-1
> igt@kms_dirtyfb@fbc-dirtyfb-ioctl@pipe-A-eDP-1
> igt@kms_dirtyfb@drrs-dirtyfb-ioctl@pipe-A-eDP-1

Obviously you have some specific reason for this change:

Reviewed-by: Jouni Högander <jouni.hogander@intel.com>

Just for curiosity, what is the problem with the original approach?

BR,

Jouni Högander
> 
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> Cc: Jouni Högander <jouni.hogander@intel.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>  tests/intel/kms_dirtyfb.c | 67 +++++++++++++++++++++++++++----------
> --
>  1 file changed, 46 insertions(+), 21 deletions(-)
> 
> diff --git a/tests/intel/kms_dirtyfb.c b/tests/intel/kms_dirtyfb.c
> index a0f61b7a3..5ab2dc59f 100644
> --- a/tests/intel/kms_dirtyfb.c
> +++ b/tests/intel/kms_dirtyfb.c
> @@ -20,15 +20,26 @@ IGT_TEST_DESCRIPTION("Test the DIRTYFB ioctl is
> working properly with "
>   * TEST: kms dirtyfb
>   * Category: Display
>   * Description: Test DIRTYFB ioctl functionality.
> + * Driver requirement: i915, xe
> + * Functionality: dirtyfb
> + * Mega feature: General Display Features
> + * Test category: functionality test
>   *
> - * SUBTEST: dirtyfb-ioctl
> + * SUBTEST: default-dirtyfb-ioctl
>   * Description: Test DIRTYFB ioctl is working properly using GPU
>   *              frontbuffer rendering with features like FBC, PSR
>   *              and DRRS.
> - * Driver requirement: i915, xe
> - * Functionality: dirtyfb, fbc, psr, drrs
> - * Mega feature: General Display Features
> - * Test category: functionality test
> + *
> + * SUBTEST: %s-dirtyfb-ioctl
> + * Description: Test DIRTYFB ioctl is working properly using GPU
> + *              frontbuffer rendering with %arg[1] feature.
> + * Functionality: dirtyfb, %arg[1]
> + *
> + * arg[1]:
> + *
> + * @drrs:    drrs
> + * @fbc:     fbc
> + * @psr:     psr1
>   */
>  
>  #ifndef PAGE_ALIGN
> @@ -160,10 +171,6 @@ static void prepare(data_t *data)
>  {
>         igt_plane_t *primary;
>  
> -       igt_skip_on(!check_support(data));
> -
> -       igt_display_reset(&data->display);
> -
>         data->mode = igt_output_get_mode(data->output);
>  
>         igt_output_set_pipe(data->output, data->pipe);
> @@ -297,19 +304,37 @@ igt_main
>                 igt_display_reset(&data.display);
>         }
>  
> -       igt_describe("Test dirtyFB ioctl");
> -       igt_subtest_with_dynamic("dirtyfb-ioctl") {
> -               data.pipe = PIPE_A;
> -               for_each_valid_output_on_pipe(&data.display,
> data.pipe,
> -                                             data.output) {
> -                       for (data.feature = FEATURE_DEFAULT;
> data.feature > 0;
> -                            data.feature = data.feature >> 1) {
> -                               igt_dynamic_f("%s-%s",
> feature_str(data.feature),
> -                                            
> igt_output_name(data.output)) {
> -                                       prepare(&data);
> -                                       run_test(&data);
> -                                       cleanup(&data);
> +       for (data.feature = FEATURE_DEFAULT; data.feature > 0;
> +            data.feature = data.feature >> 1) {
> +               igt_describe_f("Test dirtyFB ioctl with %s",
> feature_str(data.feature));
> +               igt_subtest_with_dynamic_f("%s-dirtyfb-ioctl",
> feature_str(data.feature)) {
> +                       for_each_pipe(&data.display, data.pipe) {
> +                               int valid_tests = 0;
> +
> +                               for_each_valid_output_on_pipe(&data.d
> isplay,
> +                                                            
> data.pipe,
> +                                                            
> data.output) {
> +                                       if (!check_support(&data))
> +                                               continue;
> +
> +                                       igt_display_reset(&data.displ
> ay);
> +                                       igt_output_set_pipe(data.outp
> ut, data.pipe);
> +                                       if
> (!intel_pipe_output_combo_valid(&data.display))
> +                                               continue;
> +
> +                                       valid_tests++;
> +                                       igt_dynamic_f("%s-%s",
> +                                                    
> kmstest_pipe_name(data.pipe),
> +                                                    
> igt_output_name(data.output)) {
> +                                               prepare(&data);
> +                                               run_test(&data);
> +                                               cleanup(&data);
> +                                       }
>                                 }
> +
> +                               /* One pipe is enough. */
> +                               if (valid_tests)
> +                                       break;
>                         }
>                 }
>         }


  reply	other threads:[~2023-11-15 10:20 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-15  7:03 [igt-dev] [i-g-t 0/5] Fix the usage of Rendercopy in KMS tests Bhanuprakash Modem
2023-11-15  7:03 ` [igt-dev] [i-g-t 1/5] tests/intel/kms_fbt: Use blitter as a default draw method Bhanuprakash Modem
2023-11-15  7:03 ` [igt-dev] [i-g-t 2/5] tests/intel/kms_fbt: Fill fb region with requested " Bhanuprakash Modem
2023-11-15  7:03 ` [igt-dev] [i-g-t 3/5] tests/intel/kms_dirtyfb: Use blitter as a default " Bhanuprakash Modem
2023-11-15 10:15   ` Hogander, Jouni
2023-11-15 12:56     ` Modem, Bhanuprakash
2023-11-15  7:03 ` [igt-dev] [i-g-t 4/5] tests/intel/kms_dirtyfb: Use blitter if rendercopy isn't present Bhanuprakash Modem
2023-11-15 10:17   ` Hogander, Jouni
2023-11-15  7:03 ` [igt-dev] [i-g-t 5/5] tests/intel/kms_dirtyfb: Restructure dynamic subtests Bhanuprakash Modem
2023-11-15 10:19   ` Hogander, Jouni [this message]
2023-11-15 12:39     ` Modem, Bhanuprakash
2023-11-15  8:16 ` [igt-dev] ✓ Fi.CI.BAT: success for Fix the usage of Rendercopy in KMS tests Patchwork
2023-11-15  8:51 ` [igt-dev] ✓ CI.xeBAT: " Patchwork
2023-11-17  0:33 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=11ce2f7dcaa83740b75551a7ccb3a99261b3fe92.camel@intel.com \
    --to=jouni.hogander@intel.com \
    --cc=bhanuprakash.modem@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox