On Fri, Aug 08, 2025 at 05:35:18PM -0700, Jessica Zhang wrote: > Call drm_bridge_hpd_notify() instead of drm_helper_hpd_irq_event(). This > way, we can directly call hpd_notify() via the bridge connector.
I can't understand the sentence. Please start by describing the problem and why do you want to perform the change. > > Signed-off-by: Jessica Zhang <jessica.zh...@oss.qualcomm.com> > --- > drivers/gpu/drm/msm/dp/dp_display.c | 17 +++++------------ > drivers/gpu/drm/msm/dp/dp_display.h | 1 + > drivers/gpu/drm/msm/dp/dp_drm.c | 2 ++ > 3 files changed, 8 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/msm/dp/dp_display.c > b/drivers/gpu/drm/msm/dp/dp_display.c > index 55fe8c95657e..8779bcd1b27c 100644 > --- a/drivers/gpu/drm/msm/dp/dp_display.c > +++ b/drivers/gpu/drm/msm/dp/dp_display.c > @@ -333,17 +333,6 @@ static const struct component_ops > msm_dp_display_comp_ops = { > .unbind = msm_dp_display_unbind, > }; > > -static void msm_dp_display_send_hpd_event(struct msm_dp *msm_dp_display) > -{ > - struct msm_dp_display_private *dp; > - struct drm_connector *connector; > - > - dp = container_of(msm_dp_display, struct msm_dp_display_private, > msm_dp_display); > - > - connector = dp->msm_dp_display.connector; > - drm_helper_hpd_irq_event(connector->dev); > -} > - > static int msm_dp_display_send_hpd_notification(struct > msm_dp_display_private *dp, > bool hpd) > { > @@ -367,7 +356,11 @@ static int msm_dp_display_send_hpd_notification(struct > msm_dp_display_private *d > > drm_dbg_dp(dp->drm_dev, "type=%d hpd=%d\n", > dp->msm_dp_display.connector_type, hpd); > - msm_dp_display_send_hpd_event(&dp->msm_dp_display); > + > + drm_bridge_hpd_notify(dp->msm_dp_display.bridge, > + hpd ? > + connector_status_connected : > + connector_status_disconnected); I'd really prefer that at the end drm_bridge_hpd_notify() is called directly without extra wrappers. > > return 0; > } > diff --git a/drivers/gpu/drm/msm/dp/dp_display.h > b/drivers/gpu/drm/msm/dp/dp_display.h > index cc6e2cab36e9..60094061c102 100644 > --- a/drivers/gpu/drm/msm/dp/dp_display.h > +++ b/drivers/gpu/drm/msm/dp/dp_display.h > @@ -16,6 +16,7 @@ struct msm_dp { > struct platform_device *pdev; > struct drm_connector *connector; > struct drm_bridge *next_bridge; > + struct drm_bridge *bridge; > bool link_ready; > bool audio_enabled; > bool power_on; > diff --git a/drivers/gpu/drm/msm/dp/dp_drm.c b/drivers/gpu/drm/msm/dp/dp_drm.c > index e4622c85fb66..f935093c4df4 100644 > --- a/drivers/gpu/drm/msm/dp/dp_drm.c > +++ b/drivers/gpu/drm/msm/dp/dp_drm.c > @@ -340,6 +340,8 @@ int msm_dp_bridge_init(struct msm_dp *msm_dp_display, > struct drm_device *dev, > } > } > > + msm_dp_display->bridge = bridge; > + > return 0; > } > > > -- > 2.50.1 > -- With best wishes Dmitry