diff mbox series

[3/4] drm/bridge: lt8912b: Manually disable HPD only if it was enabled

Message ID 20230804-lt8912b-v1-3-c542692c6a2f@ideasonboard.com (mailing list archive)
State New, archived
Headers show
Series drm/bridge: lt8912b: Init & remove related fixes | expand

Commit Message

Tomi Valkeinen Aug. 4, 2023, 10:48 a.m. UTC
lt8912b only calls drm_bridge_hpd_enable() if it creates a connector and
the next bridge has DRM_BRIDGE_OP_HPD set. However, when calling
drm_bridge_hpd_disable() it misses checking if a connector was created,
calling drm_bridge_hpd_disable() even if HPD was nenver enabled. I don't
see any issues causing by this wrong call, though.

Add the check to avoid wrongly calling drm_bridge_hpd_disable().

Fixes: 3b0a01a6a522 ("drm/bridge: lt8912b: Add hot plug detection")
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
---
 drivers/gpu/drm/bridge/lontium-lt8912b.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Marcel Ziswiler Sept. 4, 2023, 6:08 p.m. UTC | #1
Hi Tomi

Looks good. Thanks! Tested both on Verdin AM62 as well as on Verdin iMX8M Mini.

Just a minor nit-pick in your commit message.

On Fri, 2023-08-04 at 13:48 +0300, Tomi Valkeinen wrote:
> lt8912b only calls drm_bridge_hpd_enable() if it creates a connector and
> the next bridge has DRM_BRIDGE_OP_HPD set. However, when calling
> drm_bridge_hpd_disable() it misses checking if a connector was created,
> calling drm_bridge_hpd_disable() even if HPD was nenver enabled. I don't

was never enabled

> see any issues causing by this wrong call, though.

any issues caused by this wrong call

> Add the check to avoid wrongly calling drm_bridge_hpd_disable().
> 
> Fixes: 3b0a01a6a522 ("drm/bridge: lt8912b: Add hot plug detection")
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

For the whole series:

Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

> ---
>  drivers/gpu/drm/bridge/lontium-lt8912b.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/bridge/lontium-lt8912b.c b/drivers/gpu/drm/bridge/lontium-lt8912b.c
> index 2d752e083433..9ee639e75a1c 100644
> --- a/drivers/gpu/drm/bridge/lontium-lt8912b.c
> +++ b/drivers/gpu/drm/bridge/lontium-lt8912b.c
> @@ -587,7 +587,7 @@ static void lt8912_bridge_detach(struct drm_bridge *bridge)
>  
>         lt8912_hard_power_off(lt);
>  
> -       if (lt->hdmi_port->ops & DRM_BRIDGE_OP_HPD)
> +       if (lt->connector.dev && lt->hdmi_port->ops & DRM_BRIDGE_OP_HPD)
>                 drm_bridge_hpd_disable(lt->hdmi_port);
>  }

Cheers

Marcel
Tomi Valkeinen Sept. 5, 2023, 7:28 a.m. UTC | #2
On 04/09/2023 21:08, Marcel Ziswiler wrote:
> Hi Tomi
> 
> Looks good. Thanks! Tested both on Verdin AM62 as well as on Verdin iMX8M Mini.
> 
> Just a minor nit-pick in your commit message.
> 
> On Fri, 2023-08-04 at 13:48 +0300, Tomi Valkeinen wrote:
>> lt8912b only calls drm_bridge_hpd_enable() if it creates a connector and
>> the next bridge has DRM_BRIDGE_OP_HPD set. However, when calling
>> drm_bridge_hpd_disable() it misses checking if a connector was created,
>> calling drm_bridge_hpd_disable() even if HPD was nenver enabled. I don't
> 
> was never enabled
> 
>> see any issues causing by this wrong call, though.
> 
> any issues caused by this wrong call
> 
>> Add the check to avoid wrongly calling drm_bridge_hpd_disable().
>>
>> Fixes: 3b0a01a6a522 ("drm/bridge: lt8912b: Add hot plug detection")
>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
> 
> For the whole series:
> 
> Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Thanks! I have fixed the typos in the desc.

  Tomi
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bridge/lontium-lt8912b.c b/drivers/gpu/drm/bridge/lontium-lt8912b.c
index 2d752e083433..9ee639e75a1c 100644
--- a/drivers/gpu/drm/bridge/lontium-lt8912b.c
+++ b/drivers/gpu/drm/bridge/lontium-lt8912b.c
@@ -587,7 +587,7 @@  static void lt8912_bridge_detach(struct drm_bridge *bridge)
 
 	lt8912_hard_power_off(lt);
 
-	if (lt->hdmi_port->ops & DRM_BRIDGE_OP_HPD)
+	if (lt->connector.dev && lt->hdmi_port->ops & DRM_BRIDGE_OP_HPD)
 		drm_bridge_hpd_disable(lt->hdmi_port);
 }