drm/meson: vclk: use the correct G12A frac max value
authorNeil Armstrong <narmstrong@baylibre.com>
Wed, 28 Aug 2019 13:23:11 +0000 (15:23 +0200)
committerNeil Armstrong <narmstrong@baylibre.com>
Mon, 30 Sep 2019 13:22:09 +0000 (15:22 +0200)
When calculating the HDMI PLL settings for a DMT mode PHY frequency,
use the correct max fractional PLL value for G12A VPU.

With this fix, we can finally setup the 1024x768-60 mode.

Fixes: 202b9808f8ed ("drm/meson: Add G12A Video Clock setup")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190828132311.23881-1-narmstrong@baylibre.com
drivers/gpu/drm/meson/meson_vclk.c

index ac491a7..f690793 100644 (file)
@@ -638,13 +638,18 @@ static bool meson_hdmi_pll_validate_params(struct meson_drm *priv,
                if (frac >= HDMI_FRAC_MAX_GXBB)
                        return false;
        } else if (meson_vpu_is_compatible(priv, VPU_COMPATIBLE_GXM) ||
-                  meson_vpu_is_compatible(priv, VPU_COMPATIBLE_GXL) ||
-                  meson_vpu_is_compatible(priv, VPU_COMPATIBLE_G12A)) {
+                  meson_vpu_is_compatible(priv, VPU_COMPATIBLE_GXL)) {
                /* Empiric supported min/max dividers */
                if (m < 106 || m > 247)
                        return false;
                if (frac >= HDMI_FRAC_MAX_GXL)
                        return false;
+       } else if (meson_vpu_is_compatible(priv, VPU_COMPATIBLE_G12A)) {
+               /* Empiric supported min/max dividers */
+               if (m < 106 || m > 247)
+                       return false;
+               if (frac >= HDMI_FRAC_MAX_G12A)
+                       return false;
        }
 
        return true;