Re: Aw: [PATCH v5 3/7] drm/mediatek: disable tmds on mt2701

From: Matthias Brugger
Date: Thu Aug 27 2020 - 04:15:56 EST




On 21/08/2020 09:17, Frank Wunderlich wrote:
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_phy.c b/drivers/gpu/drm/mediatek/mtk_hdmi_phy.c
index 5223498502c4..edadb7a700f1 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi_phy.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi_phy.c
@@ -184,6 +184,9 @@ static int mtk_hdmi_phy_probe(struct platform_device *pdev)
return PTR_ERR(phy_provider);
}

+ if (hdmi_phy->conf->pll_default_off)
+ hdmi_phy->conf->hdmi_phy_disable_tmds(hdmi_phy);
+
return of_clk_add_provider(dev->of_node, of_clk_src_simple_get,
hdmi_phy->pll);
}

tried modifying mtk_hdmi_phy_power_on using the new flag to not enable tmds instead of enabling and later disabling it, but this does not work...

--- a/drivers/gpu/drm/mediatek/mtk_hdmi_phy.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi_phy.c
@@ -62,7 +62,8 @@ static int mtk_hdmi_phy_power_on(struct phy *phy)
if (ret < 0)
return ret;

- hdmi_phy->conf->hdmi_phy_enable_tmds(hdmi_phy);
+ if (!hdmi_phy->conf->pll_default_off)
+ hdmi_phy->conf->hdmi_phy_enable_tmds(hdmi_phy);
return 0;
}

@@ -184,8 +185,8 @@ static int mtk_hdmi_phy_probe(struct platform_device *pdev)
return PTR_ERR(phy_provider);
}

- if (hdmi_phy->conf->pll_default_off)
- hdmi_phy->conf->hdmi_phy_disable_tmds(hdmi_phy);
+ //if (hdmi_phy->conf->pll_default_off)
+ // hdmi_phy->conf->hdmi_phy_disable_tmds(hdmi_phy);

return of_clk_add_provider(dev->of_node, of_clk_src_simple_get,
hdmi_phy->pll);


same problem as without this Patch (horizontally distorted image flickering on 1280x1024)

any idea CK Hu?


I'll leave it to CK to decide how to go forward with this. Would be interesting to understand why we need to disable the phy. Someone would need to verify that this holds for mt2701 as well, and not only for mt7623, otherwise we would break mt2701.

Regards,
Matthias