From: "Maíra Canal" <maira.canal@usp.br>
To: dri-devel@lists.freedesktop.org
Cc: "Maíra Canal" <maira.canal@usp.br>,
"Arthur Grillo" <arthur.grillo@usp.br>
Subject: [PATCH 02/10] drm: selftest: refactor drm_cmdline_parser
Date: Wed, 15 Jun 2022 11:16:44 -0300 [thread overview]
Message-ID: <20220615141644.19076-1-maira.canal@usp.br> (raw)
In-Reply-To: <20220615135824.15522-2-maira.canal@usp.br>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 28361 bytes --]
From: Arthur Grillo <arthur.grillo@usp.br>
Refactor the tests by modularizing the functions to avoid code repetition.
Co-developed-by: MaÃra Canal <maira.canal@usp.br>
Signed-off-by: Arthur Grillo <arthur.grillo@usp.br>
Signed-off-by: MaÃra Canal <maira.canal@usp.br>
---
.../drm/selftests/test-drm_cmdline_parser.c | 579 +++++-------------
1 file changed, 156 insertions(+), 423 deletions(-)
diff --git a/drivers/gpu/drm/selftests/test-drm_cmdline_parser.c b/drivers/gpu/drm/selftests/test-drm_cmdline_parser.c
index d96cd890def6..57a229c5fc35 100644
--- a/drivers/gpu/drm/selftests/test-drm_cmdline_parser.c
+++ b/drivers/gpu/drm/selftests/test-drm_cmdline_parser.c
@@ -1,6 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2019 Bootlin
+ * Copyright (c) 2021 Maíra Canal <maira.canal@usp.br>,
+ * Copyright (c) 2021 Arthur Grillo <arthur.grillo@usp.br>
*/
#define pr_fmt(fmt) "drm_cmdline: " fmt
@@ -17,13 +19,25 @@
static const struct drm_connector no_connector = {};
-static int drm_cmdline_test_force_e_only(void *ignored)
+static int drm_cmdline_test_properties(void *ignored,
+ struct drm_cmdline_mode *mode, enum drm_connector_force force)
+{
+ FAIL_ON(mode->rb);
+ FAIL_ON(mode->cvt);
+ FAIL_ON(mode->interlace);
+ FAIL_ON(mode->margins);
+ FAIL_ON(mode->force != force);
+
+ return 0;
+}
+
+static int drm_cmdline_test_force_only(void *ignored, char *cmdline,
+ const struct drm_connector *connector, enum drm_connector_force force)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("e",
- &no_connector,
- &mode));
+ FAIL_ON(!drm_mode_parse_command_line_for_connector(cmdline,
+ connector, &mode));
FAIL_ON(mode.specified);
FAIL_ON(mode.refresh_specified);
FAIL_ON(mode.bpp_specified);
@@ -32,95 +46,101 @@ static int drm_cmdline_test_force_e_only(void *ignored)
FAIL_ON(mode.cvt);
FAIL_ON(mode.interlace);
FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_ON);
+ FAIL_ON(mode.force != force);
return 0;
}
-static int drm_cmdline_test_force_D_only_not_digital(void *ignored)
+static int drm_cmdline_test_freestanding(void *ignored,
+ struct drm_cmdline_mode *mode, char *cmdline,
+ const struct drm_connector *connector)
{
- struct drm_cmdline_mode mode = { };
+ FAIL_ON(!drm_mode_parse_command_line_for_connector(cmdline,
+ connector, mode));
+ FAIL_ON(mode->specified);
+ FAIL_ON(mode->refresh_specified);
+ FAIL_ON(mode->bpp_specified);
- FAIL_ON(!drm_mode_parse_command_line_for_connector("D",
- &no_connector,
- &mode));
- FAIL_ON(mode.specified);
- FAIL_ON(mode.refresh_specified);
- FAIL_ON(mode.bpp_specified);
+ FAIL_ON(mode->tv_margins.right != 14);
+ FAIL_ON(mode->tv_margins.left != 24);
+ FAIL_ON(mode->tv_margins.bottom != 36);
+ FAIL_ON(mode->tv_margins.top != 42);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_ON);
+ return 0;
+}
+
+static int drm_cmdline_test_res_init(void *ignored,
+ struct drm_cmdline_mode *mode, char *cmdline)
+{
+ FAIL_ON(!drm_mode_parse_command_line_for_connector(cmdline,
+ &no_connector, mode));
+ FAIL_ON(!mode->specified);
+ FAIL_ON(mode->xres != 720);
+ FAIL_ON(mode->yres != 480);
+
+ return 0;
+}
+
+static int drm_cmdline_test_res_bpp_init(void *ignored,
+ struct drm_cmdline_mode *mode, char *cmdline)
+{
+ FAIL_ON(!drm_mode_parse_command_line_for_connector(cmdline,
+ &no_connector, mode));
+ FAIL_ON(!mode->specified);
+ FAIL_ON(mode->xres != 720);
+ FAIL_ON(mode->yres != 480);
+
+ FAIL_ON(!mode->refresh_specified);
+ FAIL_ON(mode->refresh != 60);
+ FAIL_ON(!mode->bpp_specified);
+ FAIL_ON(mode->bpp != 24);
+
+ return 0;
+}
+
+static int drm_cmdline_test_force_e_only(void *ignored)
+{
+ drm_cmdline_test_force_only(ignored, "e", &no_connector, DRM_FORCE_ON);
+
+ return 0;
+}
+
+static int drm_cmdline_test_force_D_only_not_digital(void *ignored)
+{
+ drm_cmdline_test_force_only(ignored, "D", &no_connector, DRM_FORCE_ON);
return 0;
}
static const struct drm_connector connector_hdmi = {
.connector_type = DRM_MODE_CONNECTOR_HDMIB,
+
};
static int drm_cmdline_test_force_D_only_hdmi(void *ignored)
{
- struct drm_cmdline_mode mode = { };
-
- FAIL_ON(!drm_mode_parse_command_line_for_connector("D",
- &connector_hdmi,
- &mode));
- FAIL_ON(mode.specified);
- FAIL_ON(mode.refresh_specified);
- FAIL_ON(mode.bpp_specified);
-
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_ON_DIGITAL);
+ drm_cmdline_test_force_only(ignored, "D", &connector_hdmi,
+ DRM_FORCE_ON_DIGITAL);
return 0;
}
static const struct drm_connector connector_dvi = {
.connector_type = DRM_MODE_CONNECTOR_DVII,
+
};
static int drm_cmdline_test_force_D_only_dvi(void *ignored)
{
- struct drm_cmdline_mode mode = { };
-
- FAIL_ON(!drm_mode_parse_command_line_for_connector("D",
- &connector_dvi,
- &mode));
- FAIL_ON(mode.specified);
- FAIL_ON(mode.refresh_specified);
- FAIL_ON(mode.bpp_specified);
-
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_ON_DIGITAL);
+ drm_cmdline_test_force_only(ignored, "D", &connector_dvi,
+ DRM_FORCE_ON_DIGITAL);
return 0;
}
static int drm_cmdline_test_force_d_only(void *ignored)
{
- struct drm_cmdline_mode mode = { };
-
- FAIL_ON(!drm_mode_parse_command_line_for_connector("d",
- &no_connector,
- &mode));
- FAIL_ON(mode.specified);
- FAIL_ON(mode.refresh_specified);
- FAIL_ON(mode.bpp_specified);
-
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_OFF);
+ drm_cmdline_test_force_only(ignored, "d", &no_connector, DRM_FORCE_OFF);
return 0;
}
@@ -151,15 +171,9 @@ static int drm_cmdline_test_res(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
+ drm_cmdline_test_res_init(ignored, &mode, "720x480");
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(mode.bpp_specified);
FAIL_ON(mode.rb);
@@ -219,15 +233,9 @@ static int drm_cmdline_test_res_vesa(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480M",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
+ drm_cmdline_test_res_init(ignored, &mode, "720x480M");
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(mode.bpp_specified);
FAIL_ON(mode.rb);
@@ -243,15 +251,9 @@ static int drm_cmdline_test_res_vesa_rblank(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480MR",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
+ drm_cmdline_test_res_init(ignored, &mode, "720x480MR");
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(mode.bpp_specified);
FAIL_ON(!mode.rb);
@@ -267,15 +269,9 @@ static int drm_cmdline_test_res_rblank(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480R",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
+ drm_cmdline_test_res_init(ignored, &mode, "720x480R");
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(mode.bpp_specified);
FAIL_ON(!mode.rb);
@@ -291,23 +287,13 @@ static int drm_cmdline_test_res_bpp(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480-24",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
+ drm_cmdline_test_res_init(ignored, &mode, "720x480-24");
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(!mode.bpp_specified);
FAIL_ON(mode.bpp != 24);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_UNSPECIFIED);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_UNSPECIFIED);
return 0;
}
@@ -327,23 +313,13 @@ static int drm_cmdline_test_res_refresh(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480@60",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
+ drm_cmdline_test_res_init(ignored, &mode, "720x480@60");
FAIL_ON(!mode.refresh_specified);
FAIL_ON(mode.refresh != 60);
-
FAIL_ON(mode.bpp_specified);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_UNSPECIFIED);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_UNSPECIFIED);
return 0;
}
@@ -363,24 +339,8 @@ static int drm_cmdline_test_res_bpp_refresh(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480-24@60",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
-
- FAIL_ON(!mode.refresh_specified);
- FAIL_ON(mode.refresh != 60);
-
- FAIL_ON(!mode.bpp_specified);
- FAIL_ON(mode.bpp != 24);
-
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_UNSPECIFIED);
+ drm_cmdline_test_res_bpp_init(ignored, &mode, "720x480-24@60");
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_UNSPECIFIED);
return 0;
}
@@ -389,18 +349,7 @@ static int drm_cmdline_test_res_bpp_refresh_interlaced(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480-24@60i",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
-
- FAIL_ON(!mode.refresh_specified);
- FAIL_ON(mode.refresh != 60);
-
- FAIL_ON(!mode.bpp_specified);
- FAIL_ON(mode.bpp != 24);
+ drm_cmdline_test_res_bpp_init(ignored, &mode, "720x480-24@60i");
FAIL_ON(mode.rb);
FAIL_ON(mode.cvt);
@@ -415,18 +364,7 @@ static int drm_cmdline_test_res_bpp_refresh_margins(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480-24@60m",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
-
- FAIL_ON(!mode.refresh_specified);
- FAIL_ON(mode.refresh != 60);
-
- FAIL_ON(!mode.bpp_specified);
- FAIL_ON(mode.bpp != 24);
+ drm_cmdline_test_res_bpp_init(ignored, &mode, "720x480-24@60m");
FAIL_ON(mode.rb);
FAIL_ON(mode.cvt);
@@ -441,24 +379,8 @@ static int drm_cmdline_test_res_bpp_refresh_force_off(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480-24@60d",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
-
- FAIL_ON(!mode.refresh_specified);
- FAIL_ON(mode.refresh != 60);
-
- FAIL_ON(!mode.bpp_specified);
- FAIL_ON(mode.bpp != 24);
-
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_OFF);
+ drm_cmdline_test_res_bpp_init(ignored, &mode, "720x480-24@60d");
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_OFF);
return 0;
}
@@ -478,24 +400,8 @@ static int drm_cmdline_test_res_bpp_refresh_force_on(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480-24@60e",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
-
- FAIL_ON(!mode.refresh_specified);
- FAIL_ON(mode.refresh != 60);
-
- FAIL_ON(!mode.bpp_specified);
- FAIL_ON(mode.bpp != 24);
-
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_ON);
+ drm_cmdline_test_res_bpp_init(ignored, &mode, "720x480-24@60e");
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_ON);
return 0;
}
@@ -504,24 +410,8 @@ static int drm_cmdline_test_res_bpp_refresh_force_on_analog(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480-24@60D",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
-
- FAIL_ON(!mode.refresh_specified);
- FAIL_ON(mode.refresh != 60);
-
- FAIL_ON(!mode.bpp_specified);
- FAIL_ON(mode.bpp != 24);
-
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_ON);
+ drm_cmdline_test_res_bpp_init(ignored, &mode, "720x480-24@60D");
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_ON);
return 0;
}
@@ -534,8 +424,7 @@ static int drm_cmdline_test_res_bpp_refresh_force_on_digital(void *ignored)
};
FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480-24@60D",
- &connector,
- &mode));
+ &connector, &mode));
FAIL_ON(!mode.specified);
FAIL_ON(mode.xres != 720);
FAIL_ON(mode.yres != 480);
@@ -546,11 +435,7 @@ static int drm_cmdline_test_res_bpp_refresh_force_on_digital(void *ignored)
FAIL_ON(!mode.bpp_specified);
FAIL_ON(mode.bpp != 24);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_ON_DIGITAL);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_ON_DIGITAL);
return 0;
}
@@ -559,18 +444,7 @@ static int drm_cmdline_test_res_bpp_refresh_interlaced_margins_force_on(void *ig
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480-24@60ime",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
-
- FAIL_ON(!mode.refresh_specified);
- FAIL_ON(mode.refresh != 60);
-
- FAIL_ON(!mode.bpp_specified);
- FAIL_ON(mode.bpp != 24);
+ drm_cmdline_test_res_bpp_init(ignored, &mode, "720x480-24@60ime");
FAIL_ON(mode.rb);
FAIL_ON(mode.cvt);
@@ -585,15 +459,9 @@ static int drm_cmdline_test_res_margins_force_on(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480me",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
+ drm_cmdline_test_res_init(ignored, &mode, "720x480me");
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(mode.bpp_specified);
FAIL_ON(mode.rb);
@@ -609,15 +477,9 @@ static int drm_cmdline_test_res_vesa_margins(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480Mm",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
+ drm_cmdline_test_res_init(ignored, &mode, "720x480Mm");
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(mode.bpp_specified);
FAIL_ON(mode.rb);
@@ -673,10 +535,9 @@ static int drm_cmdline_test_name_bpp(void *ignored)
&no_connector,
&mode));
FAIL_ON(strcmp(mode.name, "NTSC"));
-
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(!mode.bpp_specified);
+
FAIL_ON(mode.bpp != 24);
return 0;
@@ -760,23 +621,13 @@ static int drm_cmdline_test_rotate_0(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480,rotate=0",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
- FAIL_ON(mode.rotation_reflection != DRM_MODE_ROTATE_0);
+ drm_cmdline_test_res_init(ignored, &mode, "720x480,rotate=0");
+ FAIL_ON(mode.rotation_reflection != DRM_MODE_ROTATE_0);
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(mode.bpp_specified);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_UNSPECIFIED);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_UNSPECIFIED);
return 0;
}
@@ -785,23 +636,13 @@ static int drm_cmdline_test_rotate_90(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480,rotate=90",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
- FAIL_ON(mode.rotation_reflection != DRM_MODE_ROTATE_90);
+ drm_cmdline_test_res_init(ignored, &mode, "720x480,rotate=90");
+ FAIL_ON(mode.rotation_reflection != DRM_MODE_ROTATE_90);
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(mode.bpp_specified);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_UNSPECIFIED);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_UNSPECIFIED);
return 0;
}
@@ -810,23 +651,13 @@ static int drm_cmdline_test_rotate_180(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480,rotate=180",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
- FAIL_ON(mode.rotation_reflection != DRM_MODE_ROTATE_180);
+ drm_cmdline_test_res_init(ignored, &mode, "720x480,rotate=180");
+ FAIL_ON(mode.rotation_reflection != DRM_MODE_ROTATE_180);
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(mode.bpp_specified);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_UNSPECIFIED);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_UNSPECIFIED);
return 0;
}
@@ -835,23 +666,13 @@ static int drm_cmdline_test_rotate_270(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480,rotate=270",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
- FAIL_ON(mode.rotation_reflection != DRM_MODE_ROTATE_270);
+ drm_cmdline_test_res_init(ignored, &mode, "720x480,rotate=270");
+ FAIL_ON(mode.rotation_reflection != DRM_MODE_ROTATE_270);
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(mode.bpp_specified);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_UNSPECIFIED);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_UNSPECIFIED);
return 0;
}
@@ -860,9 +681,8 @@ static int drm_cmdline_test_rotate_multiple(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(drm_mode_parse_command_line_for_connector("720x480,rotate=0,rotate=90",
- &no_connector,
- &mode));
+ FAIL_ON(drm_mode_parse_command_line_for_connector(
+ "720x480,rotate=0,rotate=90", &no_connector, &mode));
return 0;
}
@@ -871,9 +691,8 @@ static int drm_cmdline_test_rotate_invalid_val(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(drm_mode_parse_command_line_for_connector("720x480,rotate=42",
- &no_connector,
- &mode));
+ FAIL_ON(drm_mode_parse_command_line_for_connector(
+ "720x480,rotate=42", &no_connector, &mode));
return 0;
}
@@ -882,9 +701,8 @@ static int drm_cmdline_test_rotate_truncated(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(drm_mode_parse_command_line_for_connector("720x480,rotate=",
- &no_connector,
- &mode));
+ FAIL_ON(drm_mode_parse_command_line_for_connector(
+ "720x480,rotate=", &no_connector, &mode));
return 0;
}
@@ -893,23 +711,13 @@ static int drm_cmdline_test_hmirror(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480,reflect_x",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
- FAIL_ON(mode.rotation_reflection != (DRM_MODE_ROTATE_0 | DRM_MODE_REFLECT_X));
+ drm_cmdline_test_res_init(ignored, &mode, "720x480,reflect_x");
+ FAIL_ON(mode.rotation_reflection != (DRM_MODE_ROTATE_0 | DRM_MODE_REFLECT_X));
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(mode.bpp_specified);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_UNSPECIFIED);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_UNSPECIFIED);
return 0;
}
@@ -918,23 +726,13 @@ static int drm_cmdline_test_vmirror(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480,reflect_y",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
- FAIL_ON(mode.rotation_reflection != (DRM_MODE_ROTATE_0 | DRM_MODE_REFLECT_Y));
+ drm_cmdline_test_res_init(ignored, &mode, "720x480,reflect_y");
+ FAIL_ON(mode.rotation_reflection != (DRM_MODE_ROTATE_0 | DRM_MODE_REFLECT_Y));
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(mode.bpp_specified);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_UNSPECIFIED);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_UNSPECIFIED);
return 0;
}
@@ -943,26 +741,18 @@ static int drm_cmdline_test_margin_options(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480,margin_right=14,margin_left=24,margin_bottom=36,margin_top=42",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
+ drm_cmdline_test_res_init(ignored, &mode,
+ "720x480,margin_right=14,margin_left=24,margin_bottom=36,margin_top=42");
+
FAIL_ON(mode.tv_margins.right != 14);
FAIL_ON(mode.tv_margins.left != 24);
FAIL_ON(mode.tv_margins.bottom != 36);
FAIL_ON(mode.tv_margins.top != 42);
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(mode.bpp_specified);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_UNSPECIFIED);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_UNSPECIFIED);
return 0;
}
@@ -971,23 +761,13 @@ static int drm_cmdline_test_multiple_options(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480,rotate=270,reflect_x",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
- FAIL_ON(mode.rotation_reflection != (DRM_MODE_ROTATE_270 | DRM_MODE_REFLECT_X));
+ drm_cmdline_test_res_init(ignored, &mode, "720x480,rotate=270,reflect_x");
+ FAIL_ON(mode.rotation_reflection != (DRM_MODE_ROTATE_270 | DRM_MODE_REFLECT_X));
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(mode.bpp_specified);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_UNSPECIFIED);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_UNSPECIFIED);
return 0;
}
@@ -996,9 +776,8 @@ static int drm_cmdline_test_invalid_option(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(drm_mode_parse_command_line_for_connector("720x480,test=42",
- &no_connector,
- &mode));
+ FAIL_ON(drm_mode_parse_command_line_for_connector(
+ "720x480,test=42", &no_connector, &mode));
return 0;
}
@@ -1007,24 +786,14 @@ static int drm_cmdline_test_bpp_extra_and_option(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480-24e,rotate=180",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
- FAIL_ON(mode.rotation_reflection != DRM_MODE_ROTATE_180);
+ drm_cmdline_test_res_init(ignored, &mode, "720x480-24e,rotate=180");
+ FAIL_ON(mode.rotation_reflection != DRM_MODE_ROTATE_180);
FAIL_ON(mode.refresh_specified);
-
FAIL_ON(!mode.bpp_specified);
FAIL_ON(mode.bpp != 24);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_ON);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_ON);
return 0;
}
@@ -1033,22 +802,13 @@ static int drm_cmdline_test_extra_and_option(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480e,rotate=180",
- &no_connector,
- &mode));
- FAIL_ON(!mode.specified);
- FAIL_ON(mode.xres != 720);
- FAIL_ON(mode.yres != 480);
- FAIL_ON(mode.rotation_reflection != DRM_MODE_ROTATE_180);
+ drm_cmdline_test_res_init(ignored, &mode, "720x480e,rotate=180");
+ FAIL_ON(mode.rotation_reflection != DRM_MODE_ROTATE_180);
FAIL_ON(mode.refresh_specified);
FAIL_ON(mode.bpp_specified);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_ON);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_ON);
return 0;
}
@@ -1057,23 +817,11 @@ static int drm_cmdline_test_freestanding_options(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("margin_right=14,margin_left=24,margin_bottom=36,margin_top=42",
- &no_connector,
- &mode));
- FAIL_ON(mode.specified);
- FAIL_ON(mode.refresh_specified);
- FAIL_ON(mode.bpp_specified);
+ drm_cmdline_test_freestanding(ignored, &mode,
+ "margin_right=14,margin_left=24,margin_bottom=36,margin_top=42",
+ &no_connector);
- FAIL_ON(mode.tv_margins.right != 14);
- FAIL_ON(mode.tv_margins.left != 24);
- FAIL_ON(mode.tv_margins.bottom != 36);
- FAIL_ON(mode.tv_margins.top != 42);
-
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_UNSPECIFIED);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_UNSPECIFIED);
return 0;
}
@@ -1082,23 +830,11 @@ static int drm_cmdline_test_freestanding_force_e_and_options(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("e,margin_right=14,margin_left=24,margin_bottom=36,margin_top=42",
- &no_connector,
- &mode));
- FAIL_ON(mode.specified);
- FAIL_ON(mode.refresh_specified);
- FAIL_ON(mode.bpp_specified);
+ drm_cmdline_test_freestanding(ignored, &mode,
+ "e,margin_right=14,margin_left=24,margin_bottom=36,margin_top=42",
+ &no_connector);
- FAIL_ON(mode.tv_margins.right != 14);
- FAIL_ON(mode.tv_margins.left != 24);
- FAIL_ON(mode.tv_margins.bottom != 36);
- FAIL_ON(mode.tv_margins.top != 42);
-
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_ON);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_ON);
return 0;
}
@@ -1107,20 +843,17 @@ static int drm_cmdline_test_panel_orientation(void *ignored)
{
struct drm_cmdline_mode mode = { };
- FAIL_ON(!drm_mode_parse_command_line_for_connector("panel_orientation=upside_down",
- &no_connector,
- &mode));
+ FAIL_ON(!drm_mode_parse_command_line_for_connector(
+ "panel_orientation=upside_down", &no_connector, &mode));
+
FAIL_ON(mode.specified);
FAIL_ON(mode.refresh_specified);
FAIL_ON(mode.bpp_specified);
+
FAIL_ON(mode.panel_orientation != DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP);
- FAIL_ON(mode.rb);
- FAIL_ON(mode.cvt);
- FAIL_ON(mode.interlace);
- FAIL_ON(mode.margins);
- FAIL_ON(mode.force != DRM_FORCE_UNSPECIFIED);
+ drm_cmdline_test_properties(ignored, &mode, DRM_FORCE_UNSPECIFIED);
return 0;
}
--
2.36.1
next prev parent reply other threads:[~2022-06-15 14:17 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-15 13:58 [PATCH 00/10] drm: selftest: Convert to KUnit Maíra Canal
2022-06-15 13:58 ` [PATCH 01/10] drm: selftest: convert drm_damage_helper selftest " Maíra Canal
2022-06-15 14:16 ` Maíra Canal [this message]
2022-06-15 13:58 ` [PATCH 02/10] drm: selftest: refactor drm_cmdline_parser Maíra Canal
2022-06-17 22:58 ` Shuah Khan
2022-06-15 13:58 ` [PATCH 03/10] drm: selftest: convert drm_cmdline_parser selftest to KUnit Maíra Canal
2022-06-15 13:58 ` [PATCH 04/10] drm: selftest: convert drm_rect " Maíra Canal
2022-06-15 13:58 ` [PATCH 05/10] drm: selftest: convert drm_format " Maíra Canal
2022-06-15 18:03 ` kernel test robot
2022-06-15 13:58 ` [PATCH 06/10] drm: selftest: convert drm_plane_helper " Maíra Canal
2022-06-15 13:58 ` [PATCH 07/10] drm: selftest: convert drm_dp_mst_helper " Maíra Canal
2022-06-18 13:38 ` kernel test robot
2022-06-15 13:58 ` [PATCH 08/10] drm: selftest: convert drm_framebuffer " Maíra Canal
2022-06-19 15:40 ` kernel test robot
2022-06-15 13:58 ` [PATCH 09/10] drm: selftest: convert drm_buddy " Maíra Canal
2022-06-15 14:27 ` [PATCH 10/10] drm: selftest: convert drm_mm " Maíra Canal
2022-06-16 14:55 ` [PATCH 00/10] drm: selftest: Convert " David Gow
2022-06-16 16:43 ` Javier Martinez Canillas
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=20220615141644.19076-1-maira.canal@usp.br \
--to=maira.canal@usp.br \
--cc=arthur.grillo@usp.br \
--cc=dri-devel@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;
as well as URLs for NNTP newsgroup(s).