[igt-dev] [PATCH i-g-t] kms_chamelium: Fix test failures from missing outputs/unsupported formats, v2.

Maarten Lankhorst via igt-dev
2019-02-14T10:59:04Z

Newer platforms don't support this format, but the tests don't check
if the format is supported on the primary plane.

After enabling an output we also don't refresh the output connection,
calling igt_output_set_pipe(output, PIPE_NONE) will do so, and prevent
skips because no connected output is detected.

Changes since v1:
- Use igt_plane_has_format_mod (Ville).

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
tests/kms_chamelium.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
index 64f87d3ae474..cab7d751379d 100644
--- a/tests/kms_chamelium.c
+++ b/tests/kms_chamelium.c
@@ -436,6 +436,9 @@ prepare_output(data_t *data,

output = igt_output_from_connector(display, connector);

+ /* Refresh pipe to update connected status */
+ igt_output_set_pipe(output, PIPE_NONE);
+
for_each_pipe(display, pipe) {
if (!igt_pipe_connector_valid(pipe, output))
continue;
@@ -614,6 +617,8 @@ static void test_display_one_mode(data_t *data, struct chamelium_port *port,
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
igt_assert(primary);

+ igt_require(igt_plane_has_format_mod(primary, fourcc, LOCAL_DRM_FORMAT_MOD_NONE));
+
mode = &connector->modes[0];
if (check == CHAMELIUM_CHECK_ANALOG) {
bool bridge = check_analog_bridge(data, port);
@@ -642,6 +647,7 @@ static void test_display_all_modes(data_t *data, struct chamelium_port *port,
connector = chamelium_port_get_connector(data->chamelium, port, false);
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
igt_assert(primary);
+ igt_require(igt_plane_has_format_mod(primary, fourcc, LOCAL_DRM_FORMAT_MOD_NONE));

if (check == CHAMELIUM_CHECK_ANALOG)
bridge = check_analog_bridge(data, port);
--
2.20.1