Doubled system clock should be used as pixel cock source only if this
is supported. This is emphasized by the value of
atmel_hlcdc_crtc::dc::desc::fixed_clksrc.

Fixes: a6eca2abdd42 ("drm: atmel-hlcdc: add config option for clock selection")
Signed-off-by: Claudiu Beznea <claudiu.bez...@microchip.com>
---
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c 
b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
index f2e73e6d46b8..5040ed8d0871 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
@@ -95,14 +95,14 @@ static void atmel_hlcdc_crtc_mode_set_nofb(struct drm_crtc 
*c)
                     (adj->crtc_hdisplay - 1) |
                     ((adj->crtc_vdisplay - 1) << 16));
 
+       prate = clk_get_rate(crtc->dc->hlcdc->sys_clk);
+       mode_rate = adj->crtc_clock * 1000;
        if (!crtc->dc->desc->fixed_clksrc) {
+               prate *= 2;
                cfg |= ATMEL_HLCDC_CLKSEL;
                mask |= ATMEL_HLCDC_CLKSEL;
        }
 
-       prate = 2 * clk_get_rate(crtc->dc->hlcdc->sys_clk);
-       mode_rate = adj->crtc_clock * 1000;
-
        div = DIV_ROUND_UP(prate, mode_rate);
        if (div < 2) {
                div = 2;
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to