[igt-dev] [PATCH igt 2/2] tools/msm_dp_compliance: Add arg to specify connector name
Rob Clark
robdclark at gmail.com
Wed Dec 8 19:22:16 UTC 2021
From: Rob Clark <robdclark at chromium.org>
To support multiple DP connectors, the debugfs files will be moving into
a per-connector subdirectory in debugfs. So add an arg to specify the
appropriate connector name.
Signed-off-by: Rob Clark <robdclark at chromium.org>
---
tools/msm_dp_compliance.c | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/tools/msm_dp_compliance.c b/tools/msm_dp_compliance.c
index a15a8dd9..bc79a061 100644
--- a/tools/msm_dp_compliance.c
+++ b/tools/msm_dp_compliance.c
@@ -205,10 +205,15 @@ static FILE *fopenat(int dir, const char *name, const char *mode)
return fdopen(fd, mode);
}
-static void setup_debugfs_files(void)
+static void setup_debugfs_files(const char *connector_name)
{
int dir = igt_debugfs_dir(drm_fd);
+ if (connector_name) {
+ dir = openat(dir, connector_name, O_RDONLY);
+ igt_require(dir >= 0);
+ }
+
test_type_fp = fopenat(dir, MSM_DP_TEST_TYPE_FILE, "r");
igt_require(test_type_fp);
@@ -624,11 +629,12 @@ int update_display(int mode, bool is_compliance_test)
return ret;
}
-static const char optstr[] = "hi";
+static const char optstr[] = "c:hi";
static void __attribute__((noreturn)) usage(char *name, char opt)
{
- igt_info("usage: %s [-hi]\n", name);
+ igt_info("usage: %s [-hi] [-c NAME]\n", name);
+ igt_info("\t-c, --connector=NAME - specify connector name");
igt_info("\t-h, --help - print this usage message");
igt_info("\t--help-description - print test description");
igt_info("\t-i, --info - dump info\n");
@@ -708,7 +714,9 @@ int main(int argc, char **argv)
GIOChannel *stdinchannel, *testactive_channel;
GMainLoop *mainloop;
bool opt_dump_info = false;
+ char *opt_connector_name = NULL;
struct option long_opts[] = {
+ {"connector", 1, 0, 'c'},
{"help-description", 0, 0, HELP_DESCRIPTION},
{"help", 0, 0, 'h'},
{"info", 0, 0, 'i'},
@@ -718,6 +726,9 @@ int main(int argc, char **argv)
while ((c = getopt_long(argc, argv, optstr, long_opts, NULL)) != -1) {
switch (c) {
+ case 'c':
+ opt_connector_name = optarg;
+ break;
case 'i':
opt_dump_info = true;
break;
@@ -739,7 +750,7 @@ int main(int argc, char **argv)
drm_fd = drm_open_driver(DRIVER_ANY);
kmstest_set_vt_graphics_mode();
- setup_debugfs_files();
+ setup_debugfs_files(opt_connector_name);
cleanup_test();
if (opt_dump_info) {
dump_info();
--
2.33.1
More information about the igt-dev
mailing list