[PATCH] lib/igt_kms: Do not treat writeback and virtual connectors as connected

Mark Yacoub <[email protected]>
Newsgroups org.freedesktop.lists.igt-dev
Message-ID <[email protected]>
Writeback and virtual connectors (e.g. DRM_MODE_CONNECTOR_WRITEBACK and
DRM_MODE_CONNECTOR_VIRTUAL) do not represent physical display sinks and
cannot be modeset using standard CRTC / atomic commit operations without
configuring a writeback output framebuffer (WRITEBACK_FB_ID).

On drivers such as MSM, writeback connectors (e.g. Virtual-1, Virtual-2)
report connected status with virtual modes. When generic KMS tests iterate
over connected outputs via for_each_connected_output() or during initial
display setup in igt_display_init(), attempting standard modesets on these
connectors causes failures (-EINVAL) before test execution can begin.

Exclude DRM_MODE_CONNECTOR_WRITEBACK and DRM_MODE_CONNECTOR_VIRTUAL in
igt_output_is_connected() so generic KMS tests only target standard
physical display outputs, while dedicated writeback tests can continue to
iterate all outputs explicitly via for_each_output().

Signed-off-by: Mark Yacoub <[email protected]>
---
 lib/igt_kms.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 521a03c01..8d4d14847 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -668,6 +668,10 @@ static inline bool igt_output_is_connected(igt_output_t *output)
 	    !output->config.connector->count_modes)
 		return false;
 
+	if (output->config.connector->connector_type == DRM_MODE_CONNECTOR_WRITEBACK ||
+	    output->config.connector->connector_type == DRM_MODE_CONNECTOR_VIRTUAL)
+		return false;
+
 	if (output->config.connector->connection == DRM_MODE_CONNECTED)
 		return true;
 
-- 
2.55.0.737.g08866a6d13-goog
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.