Skip to content

Commit 3d21dab

Browse files
popcornmixpelwell
authored andcommitted
drm/vc4: Also power down the PLL core when resetting PHY
The current reset code doesn't actually stop the hdmi output. That makes it difficult for displays to handle a mode set. Powering down the PLL does actually remove the hdmi signal and makes mode sets more reliable Signed-off-by: Dom Cobley <[email protected]>
1 parent aa54ce1 commit 3d21dab

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

drivers/gpu/drm/vc4/vc4_hdmi_phy.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@
137137
#define VC6_HDMI_TX_PHY_PLL_REFCLK_REFCLK_SEL_CMOS BIT(13)
138138
#define VC6_HDMI_TX_PHY_PLL_REFCLK_REFFRQ_MASK VC4_MASK(9, 0)
139139

140+
#define VC6_HDMI_TX_PHY_PLL_POST_KDIV_BYPASS_EN BIT(4)
140141
#define VC6_HDMI_TX_PHY_PLL_POST_KDIV_CLK0_SEL_MASK VC4_MASK(3, 2)
141142
#define VC6_HDMI_TX_PHY_PLL_POST_KDIV_KDIV_MASK VC4_MASK(1, 0)
142143

@@ -947,6 +948,7 @@ static void vc6_hdmi_reset_phy(struct vc4_hdmi *vc4_hdmi)
947948

948949
HDMI_WRITE(HDMI_TX_PHY_RESET_CTL, 0);
949950
HDMI_WRITE(HDMI_TX_PHY_POWERUP_CTL, 0);
951+
HDMI_WRITE(HDMI_TX_PHY_PLL_POST_KDIV, VC6_HDMI_TX_PHY_PLL_POST_KDIV_BYPASS_EN);
950952
}
951953

952954
void vc6_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi,

0 commit comments

Comments
 (0)