From: Neil Armstrong Date: Thu, 4 Jul 2019 13:52:08 +0000 (+0200) Subject: video: meson: dw-hdmi: add EDID mode filtering to only select supported modes X-Git-Tag: v2019.10-rc1~5^2~2 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=233358c46a753438d9f0c26dc67dad3ddecca1e9;p=oweals%2Fu-boot.git video: meson: dw-hdmi: add EDID mode filtering to only select supported modes Add support for the new mode_valid() display op to filter out unsupported display DMT timings. This is useful when connected to 4k displays, since we only support DMT monitors up to 1920x1080, the 4k native timings are discarded to select supported timings. Signed-off-by: Neil Armstrong --- diff --git a/drivers/video/meson/meson_dw_hdmi.c b/drivers/video/meson/meson_dw_hdmi.c index 483c93f6b6..617f75724b 100644 --- a/drivers/video/meson/meson_dw_hdmi.c +++ b/drivers/video/meson/meson_dw_hdmi.c @@ -426,9 +426,16 @@ static int meson_dw_hdmi_probe(struct udevice *dev) return ret; } +static bool meson_dw_hdmi_mode_valid(struct udevice *dev, + const struct display_timing *timing) +{ + return meson_venc_hdmi_supported_mode(timing); +} + static const struct dm_display_ops meson_dw_hdmi_ops = { .read_edid = meson_dw_hdmi_read_edid, .enable = meson_dw_hdmi_enable, + .mode_valid = meson_dw_hdmi_mode_valid, }; static const struct udevice_id meson_dw_hdmi_ids[] = {