Patch series addresses a shortcoming where we're sending a hot plug event without passing the actual CONNECTOR that caused it. This takes into consideration both the polling path and the HPD (Hot Plug Detect) path. It also adds support for the vkms driver (using ConfigFS) for propagating the CONNECTOR ID when changing the connector's status.
v5: - vkms: add support for sending the CONNECTOR ID when hot-plugging through ConfigFS - as reported by Louis, vkms can now make use of ConfigFS to simulate connector status. - vkms: add a small change to ignore previous/old drm connector status when sending out hot-plug uevent. v4: - removed the "This patch" bit - Dmitry - added a short note when the flag is set and cleared - Dmitry - address double dead-locking detected - kbot: https://lore.kernel.org/dri-devel/[email protected]/ - virtual connectors do not seem have any kind of hotplug - added polling in vkms - as noted by Ian - v4 is at https://lore.kernel.org/dri-devel/[email protected]/ v3: Address comments from Dmitry - guard connector status write with mode_config.mutex - avoid setting up the connector status and immediately unset it. Do the unset in drm_kms_helper_hotplug_event/drm_kms_helper_connector_hotplug_event - v3 is at https://lore.kernel.org/dri-devel/[email protected]/ v2: Address comments from Daniel - split patch into 2, one that introduces a bool to track connector connection status change and a patch that uses that to be able to send hot plug events with the proper CONNECTOR ID to udev and further pass that down to user-space - nuke out mutex when iterating connector list - fix typo - v2 is at https://lore.kernel.org/dri-devel/[email protected]/ Marius Vlad (4): drm: Introduce a new connector status drm: Propagate connector status change vkms: Do not send hotplug events for same connector status vkms: Pass the vkms connector as opposed to the vkms device drivers/gpu/drm/drm_connector.c | 1 + drivers/gpu/drm/drm_probe_helper.c | 39 +++++++++++++++++++++++---- drivers/gpu/drm/drm_sysfs.c | 1 + drivers/gpu/drm/vkms/vkms_configfs.c | 12 +++++++-- drivers/gpu/drm/vkms/vkms_connector.c | 6 ++--- drivers/gpu/drm/vkms/vkms_connector.h | 4 +-- include/drm/drm_connector.h | 3 +++ 7 files changed, 54 insertions(+), 12 deletions(-) -- 2.47.2
