On Tue, Mar 19, 2013 at 03:55:45PM +0100, Laurent Pinchart wrote:
If the -M parameter is specified, modetest will use the requested device name instead of trying its builtin list of device names.
Signed-off-by: Laurent Pinchart laurent.pinchart@ideasonboard.com Reviewed-by: Jani Nikula jani.nikula@intel.com
tests/modetest/modetest.c | 41 ++++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-)
diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c index 1d1f49d..91dabfc 100644 --- a/tests/modetest/modetest.c +++ b/tests/modetest/modetest.c @@ -908,6 +908,9 @@ static void usage(char *name) fprintf(stderr, "\t-s <connector_id>[@<crtc_id>]:<mode>[@<format>]\tset a mode\n"); fprintf(stderr, "\t-v\ttest vsynced page flipping\n");
- fprintf(stderr, "\n Generic options:\n\n");
- fprintf(stderr, "\t-M module\tuse the given driver\n");
You didn't add it to the "usage: ..." line. Same goes for patch 05/21.
- fprintf(stderr, "\n\tDefault is to dump all info.\n"); exit(0);
} @@ -935,7 +938,7 @@ static int page_flipping_supported(void) #endif }
-static char optstr[] = "cefmP:ps:v"; +static char optstr[] = "cefM:mP:ps:v";
int main(int argc, char **argv) { @@ -943,6 +946,7 @@ int main(int argc, char **argv) int encoders = 0, connectors = 0, crtcs = 0, planes = 0, framebuffers = 0; int test_vsync = 0; const char *modules[] = { "i915", "radeon", "nouveau", "vmwgfx", "omapdrm", "exynos" };
- char *module = NULL; unsigned int i; int count = 0, plane_count = 0; struct connector con_args[2];
@@ -960,6 +964,9 @@ int main(int argc, char **argv) case 'f': framebuffers = 1; break;
case 'M':
module = optarg;
case 'm': modes = 1; break;break;
@@ -989,14 +996,27 @@ int main(int argc, char **argv) if (argc == 1) encoders = connectors = crtcs = planes = modes = framebuffers = 1;
- for (i = 0; i < ARRAY_SIZE(modules); i++) {
printf("trying to load module %s...", modules[i]);
fd = drmOpen(modules[i], NULL);
- if (module) {
if (fd < 0) {fd = drmOpen(module, NULL);
printf("failed.\n");
} else {
printf("success.\n");
break;
fprintf(stderr, "failed to open device '%s'.\n", module);
return 1;
}
- } else {
for (i = 0; i < ARRAY_SIZE(modules); i++) {
printf("trying to open device '%s'...", modules[i]);
fd = drmOpen(modules[i], NULL);
if (fd < 0) {
printf("failed.\n");
} else {
printf("success.\n");
break;
}
}
if (fd < 0) {
fprintf(stderr, "no device found.\n");
} }return 1;
@@ -1005,11 +1025,6 @@ int main(int argc, char **argv) return -1; }
- if (i == ARRAY_SIZE(modules)) {
fprintf(stderr, "failed to load any modules, aborting.\n");
return -1;
- }
- resources = drmModeGetResources(fd); if (!resources) { fprintf(stderr, "drmModeGetResources failed: %s\n",
-- 1.8.1.5
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel