This is a belated follow-up on https://lore.kernel.org/dri-devel/20220515204412.2733803-1-adrian.larumbe@xxxxxxxxxxxxx Commit e67f6037ae1be34b2b68 ("drm/meson: split out encoder from meson_dw_hdmi") broke 4K display modes for me, and I discovered it was because the right pixel clock wasn't being chosen in dw_hdmi_phy_init. I misinterpreted the reason as a problem in figuring out whether we want to enforce YUV420 mode, but it turned out to be a mismatch between what dw-meson code is doing and the way the bus format is being picked by the dw-hdmi bus output format drm helper. I fixed it by bringing back dw-hdmi bus format check in dw-meson. The second patch makes sure YUV420 bus format is the only one being returned by dw-hdmi's output format bridge function when that's the only drm mode allowed. Changelog: v3: - Change commit message for all three commits to accurately reflect the modified files' subsystem. - Add v1's Acked-by tags from subsystem maintainer v2: - Add commit message to patch number 3 in the series Adrián Larumbe (3): drm/bridge: dw-hdmi: change YUV420 selection logic at clock setup drm/bridge: dw-hdmi: truly enforce 420-only formats when drm mode demands it drm/bridge: dw-hdmi: remove dead code and fix indentation drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 35 +++++++++-------------- drivers/gpu/drm/meson/meson_dw_hdmi.c | 4 +-- include/drm/bridge/dw_hdmi.h | 2 ++ 3 files changed, 18 insertions(+), 23 deletions(-) -- 2.40.0