summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/sun4i
diff options
context:
space:
mode:
authorMaxime Ripard2018-02-21 13:57:02 +0100
committerMaxime Ripard2018-03-06 16:27:31 +0100
commit5af894bd20fa16970378cae8ff55917294e0d9dd (patch)
treeba9ca9d2f7d5446c2fe1283cb9c07829cbc8fce0 /drivers/gpu/drm/sun4i
parentdrm/sun4i: tcon: Reduce the scope of the LVDS error a bit (diff)
downloadkernel-qcow2-linux-5af894bd20fa16970378cae8ff55917294e0d9dd.tar.gz
kernel-qcow2-linux-5af894bd20fa16970378cae8ff55917294e0d9dd.tar.xz
kernel-qcow2-linux-5af894bd20fa16970378cae8ff55917294e0d9dd.zip
drm/sun4i: rgb: Fix potential division by zero
In the case where mode_valid callback of our RGB connector was called before mode_set was being called, the range of dividers would not be set, resulting in a division by zero later on in the clk_round_rate logic. Set the range of dividers before calling clk_round_rate to fix this. Reviewed-by: Chen-Yu Tsai <wens@csie.org> Tested-by: Giulio Benetti <giulio.benetti@micronovasrl.com> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180221125703.4595-2-maxime.ripard@bootlin.com
Diffstat (limited to 'drivers/gpu/drm/sun4i')
-rw-r--r--drivers/gpu/drm/sun4i/sun4i_rgb.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c
index 832f8f9bc47f..b8da5a50a61d 100644
--- a/drivers/gpu/drm/sun4i/sun4i_rgb.c
+++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c
@@ -92,6 +92,8 @@ static int sun4i_rgb_mode_valid(struct drm_connector *connector,
DRM_DEBUG_DRIVER("Vertical parameters OK\n");
+ tcon->dclk_min_div = 6;
+ tcon->dclk_max_div = 127;
rounded_rate = clk_round_rate(tcon->dclk, rate);
if (rounded_rate < rate)
return MODE_CLOCK_LOW;