Hi Tobias,

On 05/05/2016 06:23 PM, Tobias Jakobi wrote:
> Don't use the vrefresh field of the DRM mode since this
> one is supposed to only be used for debug purpose.
> Instead use the clock field which should also provide
> much more precise information.
>
> Also sanitize the case in which the clock value
> should be zero. We then just default to the maximum
> clock divisor.
>
> Signed-off-by: Tobias Jakobi <tjakobi at math.uni-bielefeld.de>

Reviewed-by: Andrzej Hajda <a.hajda at samsung.com>
--
Regards
Andrzej
> ---
>  drivers/gpu/drm/exynos/exynos_drm_fimd.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c 
> b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> index 57020f9..9d4cae4 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> @@ -367,9 +367,16 @@ static void fimd_clear_channels(struct exynos_drm_crtc 
> *crtc)
>  static u32 fimd_calc_clkdiv(struct fimd_context *ctx,
>               const struct drm_display_mode *mode)
>  {
> -     unsigned long ideal_clk = mode->htotal * mode->vtotal * mode->vrefresh;
> +     unsigned long ideal_clk;
>       u32 clkdiv;
>  
> +     if (mode->clock == 0) {
> +             DRM_ERROR("Mode has zero clock value.\n");
> +             return 0xff;
> +     }
> +
> +     ideal_clk = mode->clock * 1000;
> +
>       if (ctx->i80_if) {
>               /*
>                * The frame done interrupt should be occurred prior to the

Reply via email to