Skip to content

Commit 09e872d

Browse files
chunhui daiChun-Kuang Hu
authored andcommitted
drm/mediatek: Disable tmds on mt2701
Without that patch if you use specific resolutions like 1280x1024, I can see distortion in the output. It seems as if the frequency for updating the pixel of the image is out of sync. For initialization tmds needs to be active, but can be disabled after init to fix blurry display Signed-off-by: chunhui dai <[email protected]> Signed-off-by: Frank Wunderlich <[email protected]> Tested-by: Frank Wunderlich <[email protected]> Signed-off-by: Chun-Kuang Hu <[email protected]>
1 parent f89c696 commit 09e872d

File tree

3 files changed

+5
-0
lines changed

3 files changed

+5
-0
lines changed

drivers/phy/mediatek/phy-mtk-hdmi-mt2701.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,7 @@ static void mtk_hdmi_phy_disable_tmds(struct mtk_hdmi_phy *hdmi_phy)
238238

239239
struct mtk_hdmi_phy_conf mtk_hdmi_phy_2701_conf = {
240240
.flags = CLK_SET_RATE_GATE,
241+
.pll_default_off = true,
241242
.hdmi_phy_clk_ops = &mtk_hdmi_phy_pll_ops,
242243
.hdmi_phy_enable_tmds = mtk_hdmi_phy_enable_tmds,
243244
.hdmi_phy_disable_tmds = mtk_hdmi_phy_disable_tmds,

drivers/phy/mediatek/phy-mtk-hdmi.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,9 @@ static int mtk_hdmi_phy_probe(struct platform_device *pdev)
184184
return PTR_ERR(phy_provider);
185185
}
186186

187+
if (hdmi_phy->conf->pll_default_off)
188+
hdmi_phy->conf->hdmi_phy_disable_tmds(hdmi_phy);
189+
187190
return of_clk_add_provider(dev->of_node, of_clk_src_simple_get,
188191
hdmi_phy->pll);
189192
}

drivers/phy/mediatek/phy-mtk-hdmi.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ struct mtk_hdmi_phy;
2121

2222
struct mtk_hdmi_phy_conf {
2323
unsigned long flags;
24+
bool pll_default_off;
2425
const struct clk_ops *hdmi_phy_clk_ops;
2526
void (*hdmi_phy_enable_tmds)(struct mtk_hdmi_phy *hdmi_phy);
2627
void (*hdmi_phy_disable_tmds)(struct mtk_hdmi_phy *hdmi_phy);

0 commit comments

Comments
 (0)