From: Jeevan B <jeevan.b@intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [PATCH i-g-t v7] tests/kms_flip: Skip test only for invalid combination
Date: Tue, 28 Jun 2022 11:37:30 +0530 [thread overview]
Message-ID: <20220628060730.15700-1-jeevan.b@intel.com> (raw)
currently the entire test is skipping. adding this fix to skip test
only for invalid cases and run on other valid display combination.
v2: add RUN_PAIR check to avoid crash on single display.
v3: add flag to check for valid display combination.(Karthik)
v4: if no valid mode is found then flow should go to 'out'.(Karthik)
v5: rebase.
Signed-off-by: Jeevan B <jeevan.b@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
---
tests/kms_flip.c | 31 +++++++++++++++++--------------
1 file changed, 17 insertions(+), 14 deletions(-)
diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index 2a57da02..0567edea 100755
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -932,7 +932,7 @@ static bool mode_compatible(const drmModeModeInfo *a, const drmModeModeInfo *b)
return true;
}
-static void get_compatible_modes(drmModeModeInfo *a, drmModeModeInfo *b,
+static bool get_compatible_modes(drmModeModeInfo *a, drmModeModeInfo *b,
drmModeConnector *c1, drmModeConnector *c2)
{
int n, m;
@@ -946,14 +946,14 @@ static void get_compatible_modes(drmModeModeInfo *a, drmModeModeInfo *b,
for (m = 0; m < c2->count_modes; m++) {
*b = c2->modes[m];
if (mode_compatible(a, b))
- return;
+ return true;
}
}
- igt_skip("Compatible mode not found.\n");
+ return false;
}
- return;
+ return true;
}
static void connector_find_compatible_mode(int crtc_idx0, int crtc_idx1,
@@ -972,13 +972,12 @@ static void connector_find_compatible_mode(int crtc_idx0, int crtc_idx1,
return;
}
- get_compatible_modes(&mode[0], &mode[1],
- config[0].connector, config[1].connector);
+ o->mode_valid = get_compatible_modes(&mode[0], &mode[1],
+ config[0].connector, config[1].connector);
o->pipe = config[0].pipe;
o->fb_width = mode[0].hdisplay;
o->fb_height = mode[0].vdisplay;
- o->mode_valid = 1;
o->kconnector[0] = config[0].connector;
o->kencoder[0] = config[0].encoder;
@@ -1320,8 +1319,8 @@ static void get_suitable_modes(struct test_output *o)
igt_sort_connector_modes(o->kconnector[i],
sort_drm_modes_by_clk_asc);
- get_compatible_modes(&mode[0], &mode[1],
- o->kconnector[0], o->kconnector[1]);
+ o->mode_valid = get_compatible_modes(&mode[0], &mode[1],
+ o->kconnector[0], o->kconnector[1]);
o->fb_width = mode[0].hdisplay;
o->fb_height = mode[0].vdisplay;
@@ -1406,12 +1405,16 @@ retry:
get_suitable_modes(o);
- igt_remove_fb(drm_fd, &o->fb_info[2]);
- igt_remove_fb(drm_fd, &o->fb_info[1]);
- igt_remove_fb(drm_fd, &o->fb_info[0]);
+ if (o->mode_valid) {
+ igt_remove_fb(drm_fd, &o->fb_info[2]);
+ igt_remove_fb(drm_fd, &o->fb_info[1]);
+ igt_remove_fb(drm_fd, &o->fb_info[0]);
+
+ restart = true;
+ goto restart;
+ }
- restart = true;
- goto restart;
+ goto out;
}
igt_assert(!ret);
--
2.36.0
next reply other threads:[~2022-06-28 6:10 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-28 6:07 Jeevan B [this message]
2022-06-28 7:12 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_flip: Skip test only for invalid combination (rev7) 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=20220628060730.15700-1-jeevan.b@intel.com \
--to=jeevan.b@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