Some SoCs like the MT8167 have a hard limit on the maximal supported HDMI TMDS
clock, so add a configuration value to filter out those modes.

Signed-off-by: Fabien Parent <fpar...@baylibre.com>
Signed-off-by: Neil Armstrong <narmstr...@baylibre.com>
---
 drivers/gpu/drm/mediatek/mtk_hdmi.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c 
b/drivers/gpu/drm/mediatek/mtk_hdmi.c
index 0539262e69d3..bc50d97f2553 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c
@@ -149,6 +149,7 @@ struct hdmi_audio_param {
 struct mtk_hdmi_conf {
        bool tz_disabled;
        bool cea_modes_only;
+       unsigned long max_mode_clock;
 };
 
 struct mtk_hdmi {
@@ -1226,6 +1227,10 @@ static int mtk_hdmi_bridge_mode_valid(struct drm_bridge 
*bridge,
        if (hdmi->conf->cea_modes_only && !drm_match_cea_mode(mode))
                return MODE_BAD;
 
+       if (hdmi->conf->max_mode_clock &&
+           mode->clock > hdmi->conf->max_mode_clock)
+               return MODE_CLOCK_HIGH;
+
        if (mode->clock < 27000)
                return MODE_CLOCK_LOW;
        if (mode->clock > 297000)
-- 
2.25.1

Reply via email to