[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