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 >
