Message ID | 20201031081747.372599-1-net147@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: bridge: dw-hdmi: Avoid resetting force in the detect function | expand |
Russell, On Sat, Oct 31, 2020 at 07:17:47PM +1100, Jonathan Liu wrote: > It has been observed that resetting force in the detect function can > result in the PHY being powered down in response to hot-plug detect > being asserted, even when the HDMI connector is forced on. > > Enabling debug messages and adding a call to dump_stack() in > dw_hdmi_phy_power_off() shows the following in dmesg: > [ 160.637413] dwhdmi-rockchip ff940000.hdmi: EVENT=plugin > [ 160.637433] dwhdmi-rockchip ff940000.hdmi: PHY powered down in 0 iterations > > Call trace: > dw_hdmi_phy_power_off > dw_hdmi_phy_disable > dw_hdmi_update_power > dw_hdmi_detect > dw_hdmi_connector_detect > drm_helper_probe_detect_ctx > drm_helper_hpd_irq_event > dw_hdmi_irq > irq_thread_fn > irq_thread > kthread > ret_from_fork > > Fixes: 381f05a7a842 ("drm: bridge/dw_hdmi: add connector mode forcing") > Signed-off-by: Jonathan Liu <net147@gmail.com> you are the original author of this code - any comments on this patch? Sam > --- > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 ------ > 1 file changed, 6 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > index 748df1cacd2b..0c79a9ba48bb 100644 > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > @@ -2327,12 +2327,6 @@ static enum drm_connector_status dw_hdmi_detect(struct dw_hdmi *hdmi) > { > enum drm_connector_status result; > > - mutex_lock(&hdmi->mutex); > - hdmi->force = DRM_FORCE_UNSPECIFIED; > - dw_hdmi_update_power(hdmi); > - dw_hdmi_update_phy_mask(hdmi); > - mutex_unlock(&hdmi->mutex); > - > result = hdmi->phy.ops->read_hpd(hdmi, hdmi->phy.data); > > mutex_lock(&hdmi->mutex); > -- > 2.29.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Sun, Nov 08, 2020 at 10:53:22AM +0100, Sam Ravnborg wrote: > Russell, > > On Sat, Oct 31, 2020 at 07:17:47PM +1100, Jonathan Liu wrote: > > It has been observed that resetting force in the detect function can > > result in the PHY being powered down in response to hot-plug detect > > being asserted, even when the HDMI connector is forced on. > > > > Enabling debug messages and adding a call to dump_stack() in > > dw_hdmi_phy_power_off() shows the following in dmesg: > > [ 160.637413] dwhdmi-rockchip ff940000.hdmi: EVENT=plugin > > [ 160.637433] dwhdmi-rockchip ff940000.hdmi: PHY powered down in 0 iterations > > > > Call trace: > > dw_hdmi_phy_power_off > > dw_hdmi_phy_disable > > dw_hdmi_update_power > > dw_hdmi_detect > > dw_hdmi_connector_detect > > drm_helper_probe_detect_ctx > > drm_helper_hpd_irq_event > > dw_hdmi_irq > > irq_thread_fn > > irq_thread > > kthread > > ret_from_fork > > > > Fixes: 381f05a7a842 ("drm: bridge/dw_hdmi: add connector mode forcing") > > Signed-off-by: Jonathan Liu <net147@gmail.com> > > you are the original author of this code - any comments on this patch? No further comments beyond what has already been discussed, and the long and short of it is it's been so long that I don't remember why that code was there. Given that, I'm not even in a position to ack the change. Sorry.
Hi Russell, On Sun, Nov 08, 2020 at 09:57:25AM +0000, Russell King - ARM Linux admin wrote: > On Sun, Nov 08, 2020 at 10:53:22AM +0100, Sam Ravnborg wrote: > > Russell, > > > > On Sat, Oct 31, 2020 at 07:17:47PM +1100, Jonathan Liu wrote: > > > It has been observed that resetting force in the detect function can > > > result in the PHY being powered down in response to hot-plug detect > > > being asserted, even when the HDMI connector is forced on. > > > > > > Enabling debug messages and adding a call to dump_stack() in > > > dw_hdmi_phy_power_off() shows the following in dmesg: > > > [ 160.637413] dwhdmi-rockchip ff940000.hdmi: EVENT=plugin > > > [ 160.637433] dwhdmi-rockchip ff940000.hdmi: PHY powered down in 0 iterations > > > > > > Call trace: > > > dw_hdmi_phy_power_off > > > dw_hdmi_phy_disable > > > dw_hdmi_update_power > > > dw_hdmi_detect > > > dw_hdmi_connector_detect > > > drm_helper_probe_detect_ctx > > > drm_helper_hpd_irq_event > > > dw_hdmi_irq > > > irq_thread_fn > > > irq_thread > > > kthread > > > ret_from_fork > > > > > > Fixes: 381f05a7a842 ("drm: bridge/dw_hdmi: add connector mode forcing") > > > Signed-off-by: Jonathan Liu <net147@gmail.com> > > > > you are the original author of this code - any comments on this patch? > > No further comments beyond what has already been discussed, and the > long and short of it is it's been so long that I don't remember why > that code was there. Given that, I'm not even in a position to ack > the change. Sorry. Thanks for the quick reply. Given that this fixes a problem for Jonathan I will apply this to -fixes if there is no other feedback the next couple of days. If it introduces regression we can take it from there. Jonathan - please ping me if I forget. Sam
Hi Sam, On Sun, 8 Nov 2020 at 21:47, Sam Ravnborg <sam@ravnborg.org> wrote: > > Hi Russell, > > On Sun, Nov 08, 2020 at 09:57:25AM +0000, Russell King - ARM Linux admin wrote: > > On Sun, Nov 08, 2020 at 10:53:22AM +0100, Sam Ravnborg wrote: > > > Russell, > > > > > > On Sat, Oct 31, 2020 at 07:17:47PM +1100, Jonathan Liu wrote: > > > > It has been observed that resetting force in the detect function can > > > > result in the PHY being powered down in response to hot-plug detect > > > > being asserted, even when the HDMI connector is forced on. > > > > > > > > Enabling debug messages and adding a call to dump_stack() in > > > > dw_hdmi_phy_power_off() shows the following in dmesg: > > > > [ 160.637413] dwhdmi-rockchip ff940000.hdmi: EVENT=plugin > > > > [ 160.637433] dwhdmi-rockchip ff940000.hdmi: PHY powered down in 0 iterations > > > > > > > > Call trace: > > > > dw_hdmi_phy_power_off > > > > dw_hdmi_phy_disable > > > > dw_hdmi_update_power > > > > dw_hdmi_detect > > > > dw_hdmi_connector_detect > > > > drm_helper_probe_detect_ctx > > > > drm_helper_hpd_irq_event > > > > dw_hdmi_irq > > > > irq_thread_fn > > > > irq_thread > > > > kthread > > > > ret_from_fork > > > > > > > > Fixes: 381f05a7a842 ("drm: bridge/dw_hdmi: add connector mode forcing") > > > > Signed-off-by: Jonathan Liu <net147@gmail.com> > > > > > > you are the original author of this code - any comments on this patch? > > > > No further comments beyond what has already been discussed, and the > > long and short of it is it's been so long that I don't remember why > > that code was there. Given that, I'm not even in a position to ack > > the change. Sorry. > Thanks for the quick reply. > > Given that this fixes a problem for Jonathan I will apply this to -fixes > if there is no other feedback the next couple of days. > If it introduces regression we can take it from there. > > Jonathan - please ping me if I forget. > > Sam Ping. Regards, Jonathan
Hi Jonathan On Sat, Oct 31, 2020 at 07:17:47PM +1100, Jonathan Liu wrote: > It has been observed that resetting force in the detect function can > result in the PHY being powered down in response to hot-plug detect > being asserted, even when the HDMI connector is forced on. > > Enabling debug messages and adding a call to dump_stack() in > dw_hdmi_phy_power_off() shows the following in dmesg: > [ 160.637413] dwhdmi-rockchip ff940000.hdmi: EVENT=plugin > [ 160.637433] dwhdmi-rockchip ff940000.hdmi: PHY powered down in 0 iterations > > Call trace: > dw_hdmi_phy_power_off > dw_hdmi_phy_disable > dw_hdmi_update_power > dw_hdmi_detect > dw_hdmi_connector_detect > drm_helper_probe_detect_ctx > drm_helper_hpd_irq_event > dw_hdmi_irq > irq_thread_fn > irq_thread > kthread > ret_from_fork > > Fixes: 381f05a7a842 ("drm: bridge/dw_hdmi: add connector mode forcing") > Signed-off-by: Jonathan Liu <net147@gmail.com> Applied to drm-misc-fixes. Sam
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index 748df1cacd2b..0c79a9ba48bb 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -2327,12 +2327,6 @@ static enum drm_connector_status dw_hdmi_detect(struct dw_hdmi *hdmi) { enum drm_connector_status result; - mutex_lock(&hdmi->mutex); - hdmi->force = DRM_FORCE_UNSPECIFIED; - dw_hdmi_update_power(hdmi); - dw_hdmi_update_phy_mask(hdmi); - mutex_unlock(&hdmi->mutex); - result = hdmi->phy.ops->read_hpd(hdmi, hdmi->phy.data); mutex_lock(&hdmi->mutex);
It has been observed that resetting force in the detect function can result in the PHY being powered down in response to hot-plug detect being asserted, even when the HDMI connector is forced on. Enabling debug messages and adding a call to dump_stack() in dw_hdmi_phy_power_off() shows the following in dmesg: [ 160.637413] dwhdmi-rockchip ff940000.hdmi: EVENT=plugin [ 160.637433] dwhdmi-rockchip ff940000.hdmi: PHY powered down in 0 iterations Call trace: dw_hdmi_phy_power_off dw_hdmi_phy_disable dw_hdmi_update_power dw_hdmi_detect dw_hdmi_connector_detect drm_helper_probe_detect_ctx drm_helper_hpd_irq_event dw_hdmi_irq irq_thread_fn irq_thread kthread ret_from_fork Fixes: 381f05a7a842 ("drm: bridge/dw_hdmi: add connector mode forcing") Signed-off-by: Jonathan Liu <net147@gmail.com> --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 ------ 1 file changed, 6 deletions(-)