Re: [PATCH v5 37/38] drm/vkms: Add connector parent configuration in vkms_config
From: Daniel Campos Ramos
Date: Fri Oct 09 2026 - 02:36:45 EST
Hi Louis,
On Sat, 27 Jun 2026 05:30:54 +0200, Louis Chauvet wrote:
> @@ -150,6 +220,8 @@ static int __must_check vkms_connector_init(struct vkms_connector *connector,
> }
> }
>
> + drm_object_attach_property(&connector->base.base, connector->base.dev->mode_config.path_property, 0);
> +
> return 0;
> }
With this, every VKMS connector has a PATH property, and a connector
without a parent keeps the value 0, no blob. IGT reads a PATH property
as "this connector has a path blob": kmstest_get_path_blob() asserts
the blob whenever the property exists, and igt_display_require()
reaches it through igt_output_refresh(), so IGT tests built on
igt_display stop before their first subtest.
Measured in QEMU on your base commit with v5 applied, IGT master of
2026-10-08, on the default VKMS device: kms_atomic fails with
igt_kms-CRITICAL: Test assertion failure function kmstest_get_path_blob, file ../igt/lib/igt_kms.c:2287:
igt_kms-CRITICAL: Failed assertion: path_blob
...
#3 ../igt/lib/igt_kms.c:2618 igt_output_refresh()
#4 ../igt/lib/igt_kms.c:2953 igt_display_reset_outputs()
#5 ../igt/lib/igt_kms.c:3244 igt_display_require()
#6 ../igt/tests/kms_atomic.c:1470 __igt_unique____real_main1460()
The vkms:none job of drivers/gpu/drm/ci runs IGT on that device.
Drivers attach PATH to MST connectors only, and set the blob at the
same time. With the change below, which attaches PATH only to
connectors that have a parent, kms_atomic plane-primary-legacy passes
on the default device and on a configfs device with an HDMI-A
connector, and kms_3d passes with the stereo series I am about to
post. A parent can only be linked while the connector is disabled,
and enabling a connector goes through vkms_connector_init() again, so
the property is there whenever a connector has a parent.
-- >8 --
From: Daniel Campos Ramos <Capitain_Jack@xxxxxxxxx>
Subject: [PATCH] drm/vkms: Attach PATH only to connectors that have a parent
Every VKMS connector gets the PATH property, but only connectors with a
parent ever get a path blob, so a connector without a parent exposes
PATH = 0. Drivers attach PATH to MST connectors only, and set the blob
with it, and IGT relies on that: kmstest_get_path_blob() asserts a
blob whenever the property exists, so igt_display_require() and
kmstest_get_connector_config() fail on every VKMS device, and with
them kms_atomic and kms_3d.
Attach PATH only to connectors that have a parent.
Assisted-by: LLM
Signed-off-by: Daniel Campos Ramos <Capitain_Jack@xxxxxxxxx>
---
drivers/gpu/drm/vkms/vkms_connector.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/vkms/vkms_connector.c b/drivers/gpu/drm/vkms/vkms_connector.c
index 3449c4c213..5d43201cff 100644
--- a/drivers/gpu/drm/vkms/vkms_connector.c
+++ b/drivers/gpu/drm/vkms/vkms_connector.c
@@ -222,7 +222,9 @@ static int __must_check vkms_connector_init(struct vkms_connector *connector,
}
}
- drm_object_attach_property(&connector->base.base, connector->base.dev->mode_config.path_property, 0);
+ if (vkms_config_connector_get_parent(connector_cfg))
+ drm_object_attach_property(&connector->base.base,
+ connector->base.dev->mode_config.path_property, 0);
return 0;
}