[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201108095322.GA1129714@ravnborg.org>
Date: Sun, 8 Nov 2020 10:53:22 +0100
From: Sam Ravnborg <sam@...nborg.org>
To: Jonathan Liu <net147@...il.com>,
Russell King <rmk+kernel@....linux.org.uk>
Cc: linux-rockchip@...ts.infradead.org,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
Fabio Estevam <fabio.estevam@...escale.com>,
Jernej Skrabec <jernej.skrabec@...l.net>,
Jonas Karlman <jonas@...boo.se>,
David Airlie <airlied@...ux.ie>,
Neil Armstrong <narmstrong@...libre.com>,
Andrzej Hajda <a.hajda@...sung.com>,
Boris Brezillon <boris.brezillon@...labora.com>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Russell King <rmk+kernel@....linux.org.uk>,
Liu Ying <victor.liu@....com>
Subject: Re: [PATCH] drm: bridge: dw-hdmi: Avoid resetting force in the
detect function
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@...il.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@...ts.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Powered by blists - more mailing lists