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.beznea@microchip.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Boris Brezillon <bbrezillon@kernel.org>
Cc: <stable@vger.kernel.org> # v5.3+
Link: https://patchwork.freedesktop.org/patch/msgid/1576672109-22707-2-git-send-email-claudiu.beznea@microchip.com
                     (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;