[PATCH RFC v1] drm/meson: venc: add support for HDMI DMT modes up to 3840x2160

Christian Hewitt christianshewitt at gmail.com
Mon Dec 29 03:15:14 PST 2025


> On 8 Nov 2025, at 5:42 pm, Martin Blumenstingl <martin.blumenstingl at googlemail.com> wrote:
> 
> Commit 5d0bfe448481 ("drm/meson: Add HDMI 1.4 4k modes") added support
> for HDMI 1.4 4k modes, which is what TVs need. For computer monitors
> the code is using the DMT code-path, which ends up in
> meson_venc_hdmi_supported_mode(), which does not allow the 4k modes yet.
> 
> The datasheet for all supported SoCs mentions "4Kx2K at 60". It's not
> clear whether "4K" here means 3840 or 4096 pixels.
> 
> Allow resolutions up to 3840x2160 pixels (including middle steps, such
> as WQHD at 2560x1440 pixels) so they can be used with computer monitors
> (using the DMT code-path in the driver).
> 
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl at googlemail.com>

This is not a TB to kernel standards, but it seems not many folk
have ultra-wide monitors so this is as good as it gets:

Tested-by: Khadas forum user with a VIM3 running patched 6.18 :)

https://forum.khadas.com/t/can-not-set-display-resolution-to-3440x1440-for-dell-monitor/26271/8

Christian

> ---
> I'm sending this as RFC as I'm hoping to get some comments on the
> "4Kx2K at 60" note from the datasheets.
> 
> I have tested it myself on a GXL Le Potato board using a computer
> monitor at 2560x1440 pixels.
> 
> This is the spiritual successor of a patch titled "drm/meson: add
> support for 2560x1440 resolution output" from [0]
> 
> [0] https://lore.kernel.org/linux-amlogic/20250927130239.825060-1-christianshewitt@gmail.com/
> 
> 
> drivers/gpu/drm/meson/meson_venc.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c
> index 3bf0d6e4fc30..4abd0c09b442 100644
> --- a/drivers/gpu/drm/meson/meson_venc.c
> +++ b/drivers/gpu/drm/meson/meson_venc.c
> @@ -868,10 +868,10 @@ meson_venc_hdmi_supported_mode(const struct drm_display_mode *mode)
>    DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_NVSYNC))
> return MODE_BAD;
> 
> - if (mode->hdisplay < 400 || mode->hdisplay > 1920)
> + if (mode->hdisplay < 400 || mode->hdisplay > 3840)
> return MODE_BAD_HVALUE;
> 
> - if (mode->vdisplay < 480 || mode->vdisplay > 1920)
> + if (mode->vdisplay < 480 || mode->vdisplay > 2160)
> return MODE_BAD_VVALUE;
> 
> return MODE_OK;
> -- 
> 2.51.2
> 




More information about the linux-amlogic mailing list