From aa2d780888f7350c0ac9cab52e4bca45f56846a9 Mon Sep 17 00:00:00 2001 From: Algea Cao Date: Wed, 11 Nov 2020 09:50:05 +0800 Subject: [PATCH] drm: rockchip: dw-hdmi: Add encoder mode set Update hdmi phy ref clock in encoder mode set. Signed-off-by: Algea Cao Change-Id: I8e1df8e3d9e4109e9beae5bdaaf82ea8cc070407 --- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c index 77cef9f21c6d..4db8ecaa7c3f 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c @@ -813,6 +813,15 @@ dw_hdmi_rockchip_encoder_atomic_check(struct drm_encoder *encoder, return 0; } +static void dw_hdmi_rockchip_encoder_mode_set(struct drm_encoder *encoder, + struct drm_display_mode *mode, + struct drm_display_mode *adj) +{ + struct rockchip_hdmi *hdmi = to_rockchip_hdmi(encoder); + + clk_set_rate(hdmi->phyref_clk, adj->crtc_clock * 1000); +} + static unsigned long dw_hdmi_rockchip_get_input_bus_format(void *data) { @@ -1175,6 +1184,7 @@ static const struct drm_encoder_helper_funcs dw_hdmi_rockchip_encoder_helper_fun .enable = dw_hdmi_rockchip_encoder_enable, .disable = dw_hdmi_rockchip_encoder_disable, .atomic_check = dw_hdmi_rockchip_encoder_atomic_check, + .mode_set = dw_hdmi_rockchip_encoder_mode_set, }; static void dw_hdmi_rockchip_genphy_disable(struct dw_hdmi *dw_hdmi, void *data)