Skip to content
Snippets Groups Projects
Commit 1854df70 authored by Derek Foreman's avatar Derek Foreman Committed by Heiko Stuebner
Browse files

drm/rockchip: Don't change hdmi reference clock rate


The code that changes hdmi->ref_clk was accidentally copied from
downstream code that sets a different clock. We don't actually
want to set any clock here at all.

Setting this clock incorrectly leads to incorrect timings for
DDC, CEC, and HDCP signal generation.

No Fixes listed, as the theoretical timing error in DDC appears to
still be within tolerances and harmless - and HDCP and CEC are not
yet supported.

Signed-off-by: default avatarDerek Foreman <derek.foreman@collabora.com>
Reviewed-by: default avatarCristian Ciocaltea <cristian.ciocaltea@collabora.com>
Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20241217201708.3320673-1-derek.foreman@collabora.com
parent 0c2768bf
No related branches found
No related tags found
No related merge requests found
...@@ -89,7 +89,6 @@ struct rockchip_hdmi_qp { ...@@ -89,7 +89,6 @@ struct rockchip_hdmi_qp {
struct regmap *regmap; struct regmap *regmap;
struct regmap *vo_regmap; struct regmap *vo_regmap;
struct rockchip_encoder encoder; struct rockchip_encoder encoder;
struct clk *ref_clk;
struct dw_hdmi_qp *hdmi; struct dw_hdmi_qp *hdmi;
struct phy *phy; struct phy *phy;
struct gpio_desc *enable_gpio; struct gpio_desc *enable_gpio;
...@@ -122,7 +121,6 @@ static void dw_hdmi_qp_rockchip_encoder_enable(struct drm_encoder *encoder) ...@@ -122,7 +121,6 @@ static void dw_hdmi_qp_rockchip_encoder_enable(struct drm_encoder *encoder)
if (crtc && crtc->state) { if (crtc && crtc->state) {
rate = drm_hdmi_compute_mode_clock(&crtc->state->adjusted_mode, rate = drm_hdmi_compute_mode_clock(&crtc->state->adjusted_mode,
8, HDMI_COLORSPACE_RGB); 8, HDMI_COLORSPACE_RGB);
clk_set_rate(hdmi->ref_clk, rate);
/* /*
* FIXME: Temporary workaround to pass pixel clock rate * FIXME: Temporary workaround to pass pixel clock rate
* to the PHY driver until phy_configure_opts_hdmi * to the PHY driver until phy_configure_opts_hdmi
...@@ -515,17 +513,6 @@ static int dw_hdmi_qp_rockchip_bind(struct device *dev, struct device *master, ...@@ -515,17 +513,6 @@ static int dw_hdmi_qp_rockchip_bind(struct device *dev, struct device *master,
return ret; return ret;
} }
for (i = 0; i < ret; i++) {
if (!strcmp(clks[i].id, "ref")) {
hdmi->ref_clk = clks[1].clk;
break;
}
}
if (!hdmi->ref_clk) {
drm_err(hdmi, "Missing ref clock\n");
return -EINVAL;
}
hdmi->enable_gpio = devm_gpiod_get_optional(hdmi->dev, "enable", hdmi->enable_gpio = devm_gpiod_get_optional(hdmi->dev, "enable",
GPIOD_OUT_HIGH); GPIOD_OUT_HIGH);
if (IS_ERR(hdmi->enable_gpio)) { if (IS_ERR(hdmi->enable_gpio)) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment