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 1024x76-60 mode.

Fixes: 202b9808f8ed ("drm/meson: Add G12A Video Clock setup")
Signed-off-by: Neil Armstrong <narmstr...@baylibre.com>
---
 drivers/gpu/drm/meson/meson_vclk.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/meson/meson_vclk.c 
b/drivers/gpu/drm/meson/meson_vclk.c
index ac491a781952..f690793ae2d5 100644
--- a/drivers/gpu/drm/meson/meson_vclk.c
+++ b/drivers/gpu/drm/meson/meson_vclk.c
@@ -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;
-- 
2.22.0

Reply via email to