Commit 36b53581 authored by Jernej Skrabec's avatar Jernej Skrabec Committed by Maxime Ripard

drm/sun4i: dw-hdmi: always set clock rate

As expected, HDMI controller clock should always match pixel clock. In
the past, changing HDMI controller rate would seemingly worsen
situation. However, that was the result of other bugs which are now
fixed.

Fix that by removing set_rate quirk and always set clock rate.

Fixes: 40bb9d31 ("drm/sun4i: Add support for H6 DW HDMI controller")
Reviewed-by: default avatarChen-Yu Tsai <wens@csie.org>
Tested-by: default avatarAndre Heider <a.heider@gmail.com>
Signed-off-by: default avatarJernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20210209175900.7092-4-jernej.skrabec@siol.net
parent 50791f5d
...@@ -21,7 +21,6 @@ static void sun8i_dw_hdmi_encoder_mode_set(struct drm_encoder *encoder, ...@@ -21,7 +21,6 @@ static void sun8i_dw_hdmi_encoder_mode_set(struct drm_encoder *encoder,
{ {
struct sun8i_dw_hdmi *hdmi = encoder_to_sun8i_dw_hdmi(encoder); struct sun8i_dw_hdmi *hdmi = encoder_to_sun8i_dw_hdmi(encoder);
if (hdmi->quirks->set_rate)
clk_set_rate(hdmi->clk_tmds, mode->crtc_clock * 1000); clk_set_rate(hdmi->clk_tmds, mode->crtc_clock * 1000);
} }
...@@ -295,7 +294,6 @@ static int sun8i_dw_hdmi_remove(struct platform_device *pdev) ...@@ -295,7 +294,6 @@ static int sun8i_dw_hdmi_remove(struct platform_device *pdev)
static const struct sun8i_dw_hdmi_quirks sun8i_a83t_quirks = { static const struct sun8i_dw_hdmi_quirks sun8i_a83t_quirks = {
.mode_valid = sun8i_dw_hdmi_mode_valid_a83t, .mode_valid = sun8i_dw_hdmi_mode_valid_a83t,
.set_rate = true,
}; };
static const struct sun8i_dw_hdmi_quirks sun50i_h6_quirks = { static const struct sun8i_dw_hdmi_quirks sun50i_h6_quirks = {
......
...@@ -179,7 +179,6 @@ struct sun8i_dw_hdmi_quirks { ...@@ -179,7 +179,6 @@ struct sun8i_dw_hdmi_quirks {
enum drm_mode_status (*mode_valid)(struct dw_hdmi *hdmi, void *data, enum drm_mode_status (*mode_valid)(struct dw_hdmi *hdmi, void *data,
const struct drm_display_info *info, const struct drm_display_info *info,
const struct drm_display_mode *mode); const struct drm_display_mode *mode);
unsigned int set_rate : 1;
unsigned int use_drm_infoframe : 1; unsigned int use_drm_infoframe : 1;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment