[igt-dev] [PATCH i-g-t] tests/i915/kms_busy: Test cleanup
Modem, Bhanuprakash
bhanuprakash.modem at intel.com
Fri Sep 30 04:25:19 UTC 2022
On Fri-30-09-2022 08:57 am, Nidhi Gupta wrote:
> Sanitize the system state before starting the subtest.
>
> Signed-off-by: Nidhi Gupta <nidhi1.gupta at intel.com>
> Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
> tests/i915/kms_busy.c | 15 ++++++++++-----
> 1 file changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/tests/i915/kms_busy.c b/tests/i915/kms_busy.c
> index 99a07c2a..d7e79265 100644
> --- a/tests/i915/kms_busy.c
> +++ b/tests/i915/kms_busy.c
> @@ -144,8 +144,7 @@ static void test_flip(igt_display_t *dpy, int pipe, bool modeset)
> igt_output_t *output;
> int timeout;
>
> - if (modeset)
> - igt_require(dpy->is_atomic);
> + igt_display_reset(dpy);
>
> output = set_fb_on_crtc(dpy, pipe, &fb[0]);
> igt_display_commit2(dpy, COMMIT_LEGACY);
> @@ -230,6 +229,7 @@ static void test_hang(igt_display_t *dpy,
> igt_output_t *output;
> igt_plane_t *primary;
>
> + igt_display_reset(dpy);
> output = set_fb_on_crtc(dpy, pipe, &fb[0]);
> igt_display_commit2(dpy, COMMIT_ATOMIC);
> primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> @@ -274,6 +274,8 @@ static void test_pageflip_modeset_hang(igt_display_t *dpy, enum pipe pipe)
> igt_spin_t *t;
> uint64_t ahnd = get_reloc_ahnd(dpy->drm_fd, 0);
>
> + igt_display_reset(dpy);
> +
> output = set_fb_on_crtc(dpy, pipe, &fb);
> primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>
> @@ -352,6 +354,8 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
> for_each_pipe(&display, pipe)
> active_pipes[last_pipe++] = pipe;
> last_pipe--;
> +
> + igt_require(display.is_atomic);
This is not correct, and it leads to skip all the subtests on older
platforms.
I asked to create a igt_fixture for extended-.* tests:
for (i = 0; i < sizeof(tests) / sizeof (tests[0]); i++) {
+ igt_fixture
+ igt_require(display.is_atomic);
+
igt_subtest_with_dynamic(tests[i].name) {
Along with this change, please use "ARRAY_SIZE()" instead of
"sizeof(tests) / sizeof (tests[0])"
- Bhanu
> }
>
> /* XXX Extend to cover atomic rendering tests to all planes + legacy */
> @@ -363,8 +367,10 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
> for_each_pipe(&display, pipe) {
> igt_dynamic("flip")
> test_flip(&display, pipe, false);
> - igt_dynamic("modeset")
> - test_flip(&display, pipe, true);
> + if(display.is_atomic) {
> + igt_dynamic("modeset")
> + test_flip(&display, pipe, true);
> + }
> break;
> }
> }
> @@ -411,7 +417,6 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
> igt_hang_t hang;
> errno = 0;
>
> - igt_require(display.is_atomic);
> hang = igt_allow_hang(display.drm_fd, 0, 0);
>
> for_each_pipe(&display, pipe) {
More information about the igt-dev
mailing list