mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"David Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>,
	"Louis Chauvet" <louis.chauvet@bootlin.com>,
	"Haneen Mohammed" <hamohammed.sa@gmail.com>,
	"Melissa Wen" <melissa.srw@gmail.com>,
	"Daniel Stone" <daniel.stone@collabora.com>,
	"Ian Forbes" <ian.forbes@broadcom.com>,
	"Dmitry Baryshkov" <dmitry.baryshkov@oss.qualcomm.com>
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	kernel@collabora.com, Marius Vlad <marius.vlad@collabora.com>
Subject: Re: [PATCH v7 0/2] Pass down hot-plug CONNECTOR ID to user-space
Date: Wed, 11 Mar 2026 16:51:22 +0100	[thread overview]
Message-ID: <6837439.DvuYhMxLoT@workhorse> (raw)
In-Reply-To: <20260217-hot-plug-passup-v7-0-f8221b2aab51@collabora.com>

On Tuesday, 17 February 2026 20:00:22 Central European Standard Time Nicolas Frattaroli wrote:
> I will be taking over this series from Marius Vlad. 
> 
> This series addresses a shortcoming whereby a hot plug event is sent
> without it being passed 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.
> 
> The motivation is that user-space applications such as Weston would
> previously receive non-connector-specific hotplug events, and then have
> to figure out themselves which connector needs to have a modeset
> executed on. This notably did not work when the hotplug events came in
> too fast, resulting in Weston missing an on-off-on transition of a
> connector, seeing that its state was unchanged from "on" so can't be the
> one that was hotplugged, and skipping reinitialising it as it looks
> through the other connectors that could've caused it.
> 
> The real world implication is that on setups with slightly sketchy HDMI
> connections, a brief flicker in the HPD signal could result in video
> output bidding farewell entirely until a manual proper re-plug was
> performed.
> 
> By sending connector specific hotplug events, this ambiguity is
> resolved without any change to the user-space API.
> 
> Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
> ---
> Changes in v7:
> - Drop the two vkms patches, as I don't want them to be blocked on
>   review. I still think they're correct, but they're not essential and
>   don't need to block this series.
> - Link to v6: https://lore.kernel.org/r/20260123-hot-plug-passup-v6-0-aaaf61d960bb@collabora.com
> 
> Changes in v6:
> - Rewrote cover letter to explain the motivation for this series more
>   plainly
> - Rename "status_changed" to "pending_hp"
> - Set "pending_hp" in the existing path that would also affect
>   epoch_counter
> - No longer set the boolean in drm_helper_probe_single_connector_modes,
>   as it does not appear to be necessary
> - Reword commits to better justify the changes
> - Link to v5: https://lore.kernel.org/r/20251111162338.15141-1-marius.vlad@collabora.com/
> 
> Changes in 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.
> - Link to v4: https://lore.kernel.org/r/20251103174558.7709-1-marius.vlad@collabora.com/
> 
> Changes in 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/202509251410.fdfbcac3-lkp@intel.com/
> - virtual connectors do not seem have any kind of hotplug - added
>   polling in vkms - as noted by Ian
> - Link to v3: https://lore.kernel.org/r/20250923083636.4749-1-marius.vlad@collabora.com/
> 
> Changes in 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
> - Link to v2: https://lore.kernel.org/r/20250729165708.9947-1-marius.vlad@collabora.com/
> 
> Changes in 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
> - Link to v1: https://lore.kernel.org/r/20250627131751.2004-1-marius.vlad@collabora.com/
> 
> 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

Oh dear, I didn't even realize I left a bogus diffstat in the cover
letter when importing. :(

> 
> ---
> Marius Vlad (2):
>       drm: Introduce pending_hp to drm_connector
>       drm: Send per-connector hotplug events
> 
>  drivers/gpu/drm/drm_connector.c    |  1 +
>  drivers/gpu/drm/drm_probe_helper.c | 39 +++++++++++++++++++++++++++++++++-----
>  drivers/gpu/drm/drm_sysfs.c        |  2 ++
>  include/drm/drm_connector.h        |  3 +++
>  4 files changed, 40 insertions(+), 5 deletions(-)
> ---
> base-commit: e66c64e4f12e55cad35c680f1e328a7c7ee92cab
> change-id: 20260121-hot-plug-passup-f8ed03f7c202
> 
> Best regards,
> 

It's been 3 weeks since v7, and 6 weeks since v6 which is the same
code except with 2 more patches that have been dropped in v7. I don't
want to be too annoying, but I'll be happy to receive feedback on the
new approach so I know whether I'm taking this in the wrong direction.

Kind regards,
Nicolas Frattaroli



      parent reply	other threads:[~2026-03-11 15:51 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-17 19:00 Nicolas Frattaroli
2026-02-17 19:00 ` [PATCH v7 1/2] drm: Introduce pending_hp to drm_connector Nicolas Frattaroli
2026-02-17 19:00 ` [PATCH v7 2/2] drm: Send per-connector hotplug events Nicolas Frattaroli
2026-03-11 15:51 ` Nicolas Frattaroli [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6837439.DvuYhMxLoT@workhorse \
    --to=nicolas.frattaroli@collabora.com \
    --cc=airlied@gmail.com \
    --cc=daniel.stone@collabora.com \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hamohammed.sa@gmail.com \
    --cc=ian.forbes@broadcom.com \
    --cc=kernel@collabora.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=louis.chauvet@bootlin.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=marius.vlad@collabora.com \
    --cc=melissa.srw@gmail.com \
    --cc=mripard@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=tzimmermann@suse.de \
    --cc=ville.syrjala@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®