> On 8 Nov 2025, at 5:42 pm, Martin Blumenstingl 
> <[email protected]> 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@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 <[email protected]>

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@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/[email protected]/
> 
> 
> 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
> 

Reply via email to