On Mon, 26 Oct 2026 at 16:40, Lucas Tanure <[email protected]> wrote:
>
> From: Dom Cobley <[email protected]>
>
> vc6_hdmi_phy_disable() is empty, so on BCM2712 the PHY keeps its PLL
> and TMDS drivers running after the HDMI output is disabled, until the
> next vc6_hdmi_phy_init(). The TMDS clock is therefore not stopped
> between two mode sets, which the SCDC clock ratio change requires, and
> the idle PHY wastes power.
>
> Reset and power down the PHY on disable, as the BCM2711 variant does.
>
> Fixes: 0b1dbe82e051 ("drm/vc4: hdmi: Add support for BCM2712 HDMI 
> controllers")
> Signed-off-by: Dom Cobley <[email protected]>
> [lucas.tanure: Rewrote commit message to clarify the issue and fix]
> Signed-off-by: Lucas Tanure <[email protected]>

Reviewed-by: Dave Stevenson <[email protected]>

> ---
>  drivers/gpu/drm/vc4/vc4_hdmi_phy.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/vc4/vc4_hdmi_phy.c 
> b/drivers/gpu/drm/vc4/vc4_hdmi_phy.c
> index 56e6a35da357..5040f014bf7e 100644
> --- a/drivers/gpu/drm/vc4/vc4_hdmi_phy.c
> +++ b/drivers/gpu/drm/vc4/vc4_hdmi_phy.c
> @@ -1197,4 +1197,9 @@ void vc6_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi,
>
>  void vc6_hdmi_phy_disable(struct vc4_hdmi *vc4_hdmi)
>  {
> +       unsigned long flags;
> +
> +       spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
> +       vc6_hdmi_reset_phy(vc4_hdmi);
> +       spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags);
>  }
> --
> 2.56.0
>

Reply via email to