> 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 >
