Message ID | dd2356790b774c7885afecc9d29783cb51a26e6d.1632761068.git.hns@goldelico.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | MIPS: JZ4780 and CI20 HDMI | expand |
Hi, On Mon, Sep 27, 2021 at 06:44:23PM +0200, H. Nikolaus Schaller wrote: > It appears that dw-hdmi plugin detection is not properly > propagated unless we call drm_kms_helper_hotplug_event(). > > Maybe drm_bridge_hpd_notify should have been setup to > call this. > > Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> > --- > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > index f082e14320e1..edea04f80576 100644 > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > @@ -3018,6 +3018,8 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id) > if (hdmi->bridge.dev) { > drm_helper_hpd_irq_event(hdmi->bridge.dev); > drm_bridge_hpd_notify(&hdmi->bridge, status); > + > + drm_kms_helper_hotplug_event(hdmi->bridge.dev); drm_kms_helper_hotplug_event is already called from drm_helper_hpd_irq_event Maxime
> Am 27.09.2021 um 19:00 schrieb Maxime Ripard <maxime@cerno.tech>: > > Hi, > > On Mon, Sep 27, 2021 at 06:44:23PM +0200, H. Nikolaus Schaller wrote: >> It appears that dw-hdmi plugin detection is not properly >> propagated unless we call drm_kms_helper_hotplug_event(). >> >> Maybe drm_bridge_hpd_notify should have been setup to >> call this. >> >> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> >> --- >> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c >> index f082e14320e1..edea04f80576 100644 >> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c >> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c >> @@ -3018,6 +3018,8 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id) >> if (hdmi->bridge.dev) { >> drm_helper_hpd_irq_event(hdmi->bridge.dev); >> drm_bridge_hpd_notify(&hdmi->bridge, status); >> + >> + drm_kms_helper_hotplug_event(hdmi->bridge.dev); > > drm_kms_helper_hotplug_event is already called from drm_helper_hpd_irq_event Ah, now I see. It should be called but is not for some unkown condition (poll disabled? changed = false?). It may also be a leftover from the attempt to make it work with the builtin dw-hdmi connector. Will check for v5. BR and thanks, Nikolaus
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index f082e14320e1..edea04f80576 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -3018,6 +3018,8 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id) if (hdmi->bridge.dev) { drm_helper_hpd_irq_event(hdmi->bridge.dev); drm_bridge_hpd_notify(&hdmi->bridge, status); + + drm_kms_helper_hotplug_event(hdmi->bridge.dev); } }
It appears that dw-hdmi plugin detection is not properly propagated unless we call drm_kms_helper_hotplug_event(). Maybe drm_bridge_hpd_notify should have been setup to call this. Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 ++ 1 file changed, 2 insertions(+)