RE: [PATCH] lib/igt_kms: Do not treat writeback and virtual connectors as connected
"S, Sowmiya" <[email protected]>
| Newsgroups | org.freedesktop.lists.igt-dev |
|---|---|
| Message-ID | <PH7PR11MB679695C574AE7A367078CF48E5A32@PH7PR11MB6796.namprd11.prod.outlook.com> |
Hi @Mark Yacoub > -----Original Message----- > From: igt-dev <[email protected]> On Behalf Of Mark > Yacoub > Sent: 20 August 2026 00:38 > To: [email protected] > Cc: Mark Yacoub <[email protected]> > Subject: [PATCH] lib/igt_kms: Do not treat writeback and virtual connectors as > connected > > 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; > + writeback tests already bypass igt_output_is_connected() by design and continue to work via for_each_output(), while generic tests correctly stop trying to modeset writeback/virtual connectors. LGTM, Reviewed-by: Sowmiya S <[email protected]> > if (output->config.connector->connection == > DRM_MODE_CONNECTED) > return true; > > -- > 2.55.0.737.g08866a6d13-goog