All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Ripard <mripard@kernel.org>
To: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	 Thomas Zimmermann <tzimmermann@suse.de>,
	David Airlie <airlied@gmail.com>,
	 Simona Vetter <simona@ffwll.ch>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrzej Hajda <andrzej.hajda@intel.com>,
	 Neil Armstrong <neil.armstrong@linaro.org>,
	Robert Foss <rfoss@kernel.org>,
	 Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	Jonas Karlman <jonas@kwiboo.se>,
	 Jernej Skrabec <jernej.skrabec@gmail.com>,
	Adrien Grassein <adrien.grassein@gmail.com>,
	 Jani Nikula <jani.nikula@linux.intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	 Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	Tvrtko Ursulin <tursulin@ursulin.net>,
	 Kevin Hilman <khilman@baylibre.com>,
	Jerome Brunet <jbrunet@baylibre.com>,
	 Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
	Rob Clark <robin.clark@oss.qualcomm.com>,
	 Dmitry Baryshkov <lumag@kernel.org>,
	Abhinav Kumar <abhinav.kumar@linux.dev>,
	 Jessica Zhang <jesszhan0024@gmail.com>,
	Sean Paul <sean@poorly.run>,
	 Marijn Suijten <marijn.suijten@somainline.org>,
	Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>,
	 Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	Pengyu Luo <mitltlatltl@gmail.com>,
	Nikita Travkin <nikita@trvn.ru>,
	 Yongxing Mou <yongxing.mou@oss.qualcomm.com>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	 linux-usb@vger.kernel.org, intel-gfx@lists.freedesktop.org,
	intel-xe@lists.freedesktop.org,
	 linux-amlogic@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	 linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org
Subject: Re: [PATCH RESEND v3 1/6] drm/connector: report IRQ_HPD events to drm_connector_oob_hotplug_event()
Date: Fri, 29 May 2026 16:04:46 +0200	[thread overview]
Message-ID: <20260529-screeching-rugged-shellfish-4dcde3@houat> (raw)
In-Reply-To: <vpd5hyote5wspmlpad64kf5peoy5g7wv6c7xjn6ammcmjtai7r@q2tarmr5aoqn>

[-- Attachment #1: Type: text/plain, Size: 3977 bytes --]

On Thu, May 21, 2026 at 03:05:11PM +0300, Dmitry Baryshkov wrote:
> On Thu, May 21, 2026 at 09:47:29AM +0200, Maxime Ripard wrote:
> > On Wed, May 13, 2026 at 09:23:21PM +0300, Dmitry Baryshkov wrote:
> > > The DisplayPort standard defines a special kind of events called IRQ.
> > > These events are used to notify DP Source about the events on the Sink
> > > side. It is extremely important for DP MST handling, where the MST
> > > events are reported through this IRQ.
> > > 
> > > In case of the USB-C DP AltMode there is no actual HPD pulse, but the
> > > events are ported through the bits in the AltMode VDOs.
> > > 
> > > Extend the drm_connector_oob_hotplug_event() interface and report IRQ
> > > events to the DisplayPort Sink drivers.
> > > 
> > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> > > ---
> > >  drivers/gpu/drm/drm_connector.c          |  5 ++++-
> > >  drivers/usb/typec/altmodes/displayport.c | 15 +++++++++++----
> > >  include/drm/drm_connector.h              | 19 ++++++++++++++++++-
> > >  3 files changed, 33 insertions(+), 6 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
> > > index 47dc53c4a738..edee9daccd51 100644
> > > --- a/drivers/gpu/drm/drm_connector.c
> > > +++ b/drivers/gpu/drm/drm_connector.c
> > > @@ -3510,6 +3510,8 @@ struct drm_connector *drm_connector_find_by_fwnode(struct fwnode_handle *fwnode)
> > >   * drm_connector_oob_hotplug_event - Report out-of-band hotplug event to connector
> > >   * @connector_fwnode: fwnode_handle to report the event on
> > >   * @status: hot plug detect logical state
> > > + * @extra_status: additional information provided by the sink without changing
> > > + * the HPD state (or in addition to such a change).
> > >   *
> > >   * On some hardware a hotplug event notification may come from outside the display
> > >   * driver / device. An example of this is some USB Type-C setups where the hardware
> > > @@ -3520,7 +3522,8 @@ struct drm_connector *drm_connector_find_by_fwnode(struct fwnode_handle *fwnode)
> > >   * a drm_connector reference through calling drm_connector_find_by_fwnode().
> > >   */
> > >  void drm_connector_oob_hotplug_event(struct fwnode_handle *connector_fwnode,
> > > -				     enum drm_connector_status status)
> > > +				     enum drm_connector_status status,
> > > +				     enum drm_connector_status_extra extra_status)
> > >  {
> > >  	struct drm_connector *connector;
> > >  
> > > diff --git a/drivers/usb/typec/altmodes/displayport.c b/drivers/usb/typec/altmodes/displayport.c
> > > index 35d9c3086990..7182a8e2e710 100644
> > > --- a/drivers/usb/typec/altmodes/displayport.c
> > > +++ b/drivers/usb/typec/altmodes/displayport.c
> > > @@ -189,7 +189,9 @@ static int dp_altmode_status_update(struct dp_altmode *dp)
> > >  	} else {
> > >  		drm_connector_oob_hotplug_event(dp->connector_fwnode,
> > >  						hpd ? connector_status_connected :
> > > -						      connector_status_disconnected);
> > > +						      connector_status_disconnected,
> > > +						(hpd && irq_hpd) ? DRM_CONNECTOR_DP_IRQ_HPD :
> > > +								   DRM_CONNECTOR_NO_EXTRA_STATUS);
> > 
> > Since the extra status itself, and what the options mean, are DP specific, do we really want to
> > extend drm_connector_oob_hotplug_event()? I think I'd prefer to have a DP specific variant, with its
> > own set of parameters.
> 
> I can try arguing that drm_connector_oob_hotplug_event() is DP-specific,
> there are no other users for it, only the DP AltMode driver.
> 
> Anyway, do you just mean new API here or new API and a new connector
> callback?

If drm_connector_oob_hotplug_event is truly only used for DP, then I
don't mind keeping it as is but we should make it more obvious and
document it, both in the function documentation, but also by having a
better name for the extra status. drm_connector_dp_oob_status maybe?

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <mripard@kernel.org>
To: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	 Thomas Zimmermann <tzimmermann@suse.de>,
	David Airlie <airlied@gmail.com>,
	 Simona Vetter <simona@ffwll.ch>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrzej Hajda <andrzej.hajda@intel.com>,
	 Neil Armstrong <neil.armstrong@linaro.org>,
	Robert Foss <rfoss@kernel.org>,
	 Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	Jonas Karlman <jonas@kwiboo.se>,
	 Jernej Skrabec <jernej.skrabec@gmail.com>,
	Adrien Grassein <adrien.grassein@gmail.com>,
	 Jani Nikula <jani.nikula@linux.intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	 Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	Tvrtko Ursulin <tursulin@ursulin.net>,
	 Kevin Hilman <khilman@baylibre.com>,
	Jerome Brunet <jbrunet@baylibre.com>,
	 Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
	Rob Clark <robin.clark@oss.qualcomm.com>,
	 Dmitry Baryshkov <lumag@kernel.org>,
	Abhinav Kumar <abhinav.kumar@linux.dev>,
	 Jessica Zhang <jesszhan0024@gmail.com>,
	Sean Paul <sean@poorly.run>,
	 Marijn Suijten <marijn.suijten@somainline.org>,
	Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>,
	 Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	 Pengyu Luo <mitltlatltl@gmail.com>,
	Nikita Travkin <nikita@trvn.ru>,
	 Yongxing Mou <yongxing.mou@oss.qualcomm.com>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	 linux-usb@vger.kernel.org, intel-gfx@lists.freedesktop.org,
	intel-xe@lists.freedesktop.org,
	 linux-amlogic@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	 linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org
Subject: Re: [PATCH RESEND v3 1/6] drm/connector: report IRQ_HPD events to drm_connector_oob_hotplug_event()
Date: Fri, 29 May 2026 16:04:46 +0200	[thread overview]
Message-ID: <20260529-screeching-rugged-shellfish-4dcde3@houat> (raw)
In-Reply-To: <vpd5hyote5wspmlpad64kf5peoy5g7wv6c7xjn6ammcmjtai7r@q2tarmr5aoqn>


[-- Attachment #1.1: Type: text/plain, Size: 3977 bytes --]

On Thu, May 21, 2026 at 03:05:11PM +0300, Dmitry Baryshkov wrote:
> On Thu, May 21, 2026 at 09:47:29AM +0200, Maxime Ripard wrote:
> > On Wed, May 13, 2026 at 09:23:21PM +0300, Dmitry Baryshkov wrote:
> > > The DisplayPort standard defines a special kind of events called IRQ.
> > > These events are used to notify DP Source about the events on the Sink
> > > side. It is extremely important for DP MST handling, where the MST
> > > events are reported through this IRQ.
> > > 
> > > In case of the USB-C DP AltMode there is no actual HPD pulse, but the
> > > events are ported through the bits in the AltMode VDOs.
> > > 
> > > Extend the drm_connector_oob_hotplug_event() interface and report IRQ
> > > events to the DisplayPort Sink drivers.
> > > 
> > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> > > ---
> > >  drivers/gpu/drm/drm_connector.c          |  5 ++++-
> > >  drivers/usb/typec/altmodes/displayport.c | 15 +++++++++++----
> > >  include/drm/drm_connector.h              | 19 ++++++++++++++++++-
> > >  3 files changed, 33 insertions(+), 6 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
> > > index 47dc53c4a738..edee9daccd51 100644
> > > --- a/drivers/gpu/drm/drm_connector.c
> > > +++ b/drivers/gpu/drm/drm_connector.c
> > > @@ -3510,6 +3510,8 @@ struct drm_connector *drm_connector_find_by_fwnode(struct fwnode_handle *fwnode)
> > >   * drm_connector_oob_hotplug_event - Report out-of-band hotplug event to connector
> > >   * @connector_fwnode: fwnode_handle to report the event on
> > >   * @status: hot plug detect logical state
> > > + * @extra_status: additional information provided by the sink without changing
> > > + * the HPD state (or in addition to such a change).
> > >   *
> > >   * On some hardware a hotplug event notification may come from outside the display
> > >   * driver / device. An example of this is some USB Type-C setups where the hardware
> > > @@ -3520,7 +3522,8 @@ struct drm_connector *drm_connector_find_by_fwnode(struct fwnode_handle *fwnode)
> > >   * a drm_connector reference through calling drm_connector_find_by_fwnode().
> > >   */
> > >  void drm_connector_oob_hotplug_event(struct fwnode_handle *connector_fwnode,
> > > -				     enum drm_connector_status status)
> > > +				     enum drm_connector_status status,
> > > +				     enum drm_connector_status_extra extra_status)
> > >  {
> > >  	struct drm_connector *connector;
> > >  
> > > diff --git a/drivers/usb/typec/altmodes/displayport.c b/drivers/usb/typec/altmodes/displayport.c
> > > index 35d9c3086990..7182a8e2e710 100644
> > > --- a/drivers/usb/typec/altmodes/displayport.c
> > > +++ b/drivers/usb/typec/altmodes/displayport.c
> > > @@ -189,7 +189,9 @@ static int dp_altmode_status_update(struct dp_altmode *dp)
> > >  	} else {
> > >  		drm_connector_oob_hotplug_event(dp->connector_fwnode,
> > >  						hpd ? connector_status_connected :
> > > -						      connector_status_disconnected);
> > > +						      connector_status_disconnected,
> > > +						(hpd && irq_hpd) ? DRM_CONNECTOR_DP_IRQ_HPD :
> > > +								   DRM_CONNECTOR_NO_EXTRA_STATUS);
> > 
> > Since the extra status itself, and what the options mean, are DP specific, do we really want to
> > extend drm_connector_oob_hotplug_event()? I think I'd prefer to have a DP specific variant, with its
> > own set of parameters.
> 
> I can try arguing that drm_connector_oob_hotplug_event() is DP-specific,
> there are no other users for it, only the DP AltMode driver.
> 
> Anyway, do you just mean new API here or new API and a new connector
> callback?

If drm_connector_oob_hotplug_event is truly only used for DP, then I
don't mind keeping it as is but we should make it more obvious and
document it, both in the function documentation, but also by having a
better name for the extra status. drm_connector_dp_oob_status maybe?

Maxime

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

  reply	other threads:[~2026-05-29 14:04 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-13 18:23 [PATCH RESEND v3 0/6] drm: handle IRQ_HPD events correctly Dmitry Baryshkov
2026-05-13 18:23 ` Dmitry Baryshkov
2026-05-13 18:23 ` [PATCH RESEND v3 1/6] drm/connector: report IRQ_HPD events to drm_connector_oob_hotplug_event() Dmitry Baryshkov
2026-05-13 18:23   ` Dmitry Baryshkov
2026-05-14 10:44   ` sashiko-bot
2026-05-18 16:56     ` Dmitry Baryshkov
2026-05-20 12:26   ` Dmitry Baryshkov
2026-05-20 12:26     ` Dmitry Baryshkov
2026-05-21  7:47   ` Maxime Ripard
2026-05-21  7:47     ` Maxime Ripard
2026-05-21 12:05     ` Dmitry Baryshkov
2026-05-21 12:05       ` Dmitry Baryshkov
2026-05-29 14:04       ` Maxime Ripard [this message]
2026-05-29 14:04         ` Maxime Ripard
2026-06-05 12:51   ` Heikki Krogerus
2026-06-05 12:51     ` Heikki Krogerus
2026-05-13 18:23 ` [PATCH RESEND v3 2/6] drm/bridge: pass down IRQ_HPD to the drivers Dmitry Baryshkov
2026-05-13 18:23   ` Dmitry Baryshkov
2026-05-21 23:12   ` Bjorn Andersson
2026-05-21 23:12     ` Bjorn Andersson
2026-05-13 18:23 ` [PATCH RESEND v3 3/6] drm/bridge: aux-hpd: let drivers pass IRQ_HPD events Dmitry Baryshkov
2026-05-13 18:23   ` Dmitry Baryshkov
2026-05-13 18:23 ` [PATCH RESEND v3 4/6] drm/msm: dp: handle the IRQ_HPD events reported by USB-C Dmitry Baryshkov
2026-05-13 18:23   ` Dmitry Baryshkov
2026-05-14 12:06   ` sashiko-bot
2026-05-13 18:23 ` [PATCH RESEND v3 5/6] soc: qcom: pmic-glink-altmode: pass down HPD_IRQ events Dmitry Baryshkov
2026-05-13 18:23   ` Dmitry Baryshkov
2026-05-14 12:35   ` sashiko-bot
2026-05-21 23:17   ` Bjorn Andersson
2026-05-21 23:17     ` Bjorn Andersson
2026-05-13 18:23 ` [PATCH RESEND v3 6/6] usb: typec: ucsi: huawei-gaokun: " Dmitry Baryshkov
2026-05-13 18:23   ` Dmitry Baryshkov
2026-05-13 19:08 ` ✓ CI.KUnit: success for drm: handle IRQ_HPD events correctly (rev4) Patchwork
2026-05-13 20:18 ` ✓ Xe.CI.BAT: " Patchwork
2026-05-13 20:41 ` ✓ i915.CI.BAT: " Patchwork
2026-05-14 20:13 ` ✓ Xe.CI.FULL: " Patchwork
2026-05-14 22:40 ` ✗ i915.CI.Full: failure " Patchwork

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=20260529-screeching-rugged-shellfish-4dcde3@houat \
    --to=mripard@kernel.org \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=abhinav.kumar@linux.dev \
    --cc=adrien.grassein@gmail.com \
    --cc=airlied@gmail.com \
    --cc=andersson@kernel.org \
    --cc=andrzej.hajda@intel.com \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=jbrunet@baylibre.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=jesszhan0024@gmail.com \
    --cc=jonas@kwiboo.se \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=khilman@baylibre.com \
    --cc=konradybcio@kernel.org \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=lumag@kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=marijn.suijten@somainline.org \
    --cc=martin.blumenstingl@googlemail.com \
    --cc=mitltlatltl@gmail.com \
    --cc=neil.armstrong@linaro.org \
    --cc=nikita@trvn.ru \
    --cc=rfoss@kernel.org \
    --cc=robin.clark@oss.qualcomm.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=sean@poorly.run \
    --cc=simona@ffwll.ch \
    --cc=tomi.valkeinen@ideasonboard.com \
    --cc=tursulin@ursulin.net \
    --cc=tzimmermann@suse.de \
    --cc=yongxing.mou@oss.qualcomm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.