One small fix compared to the last version, when checking for valid resolutions I accidently compared the current mode width with the maximum allowed height which resulted in wrong resolutions being discarded. Changes since v5: - Fix wrong check width vs. height Changes since v4: - Use struct vop_reg to store resolutions - Only check for valid clock rates when clock != NULL Changes since v3: - Add patch to limit VOP resolutions to hardware capabilities Changes since v2: - Use correct register values for mpll_cfg - Add patch to discard modes we cannot achieve Changes since v1: - Allow non standard clock rates only on Synopsys phy as suggested by Robin Murphy Sascha Hauer (4): drm/rockchip: vop: limit maximium resolution to hardware capabilities drm/rockchip: dw_hdmi: relax mode_valid hook drm/rockchip: dw_hdmi: Add support for 4k@30 resolution drm/rockchip: dw_hdmi: discard modes with unachievable pixelclocks drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 41 ++++++++++++++++---- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 15 +++++++ drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 6 +++ drivers/gpu/drm/rockchip/rockchip_drm_vop2.h | 5 --- drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 18 +++++++++ 5 files changed, 73 insertions(+), 12 deletions(-) -- 2.30.2