]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
drm/sun4i: dw-hdmi: always set clock rate
authorJernej Skrabec <jernej.skrabec@siol.net>
Tue, 9 Feb 2021 17:58:58 +0000 (18:58 +0100)
committerMaxime Ripard <maxime@cerno.tech>
Wed, 10 Feb 2021 10:20:01 +0000 (11:20 +0100)
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: 40bb9d3147b2 ("drm/sun4i: Add support for H6 DW HDMI controller")
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Tested-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20210209175900.7092-4-jernej.skrabec@siol.net
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h

index 92add2cef2e7debf5f43e2de8170bc295a4f8677..23773a5e0650bf8aa6eb04b315415a20d29e1412 100644 (file)
@@ -21,8 +21,7 @@ static void sun8i_dw_hdmi_encoder_mode_set(struct drm_encoder *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);
 }
 
 static const struct drm_encoder_helper_funcs
@@ -295,7 +294,6 @@ static int sun8i_dw_hdmi_remove(struct platform_device *pdev)
 
 static const struct sun8i_dw_hdmi_quirks sun8i_a83t_quirks = {
        .mode_valid = sun8i_dw_hdmi_mode_valid_a83t,
-       .set_rate = true,
 };
 
 static const struct sun8i_dw_hdmi_quirks sun50i_h6_quirks = {
index d983746fa194c47dfafc4e638e5d2800497a25a3..d4b55af0592f840997e37f265db71a1e4c741ccc 100644 (file)
@@ -179,7 +179,6 @@ struct sun8i_dw_hdmi_quirks {
        enum drm_mode_status (*mode_valid)(struct dw_hdmi *hdmi, void *data,
                                           const struct drm_display_info *info,
                                           const struct drm_display_mode *mode);
-       unsigned int set_rate : 1;
        unsigned int use_drm_infoframe : 1;
 };