[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20251108134236.1299630-1-martin.blumenstingl@googlemail.com>
Date: Sat, 8 Nov 2025 14:42:36 +0100
From: Martin Blumenstingl <martin.blumenstingl@...glemail.com>
To: linux-amlogic@...ts.infradead.org,
dri-devel@...ts.freedesktop.org
Cc: linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org,
neil.armstrong@...aro.org,
maarten.lankhorst@...ux.intel.com,
mripard@...nel.org,
tzimmermann@...e.de,
tobetter@...il.com,
christianshewitt@...il.com,
Martin Blumenstingl <martin.blumenstingl@...glemail.com>
Subject: [PATCH RFC v1] drm/meson: venc: add support for HDMI DMT modes up to 3840x2160
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 <martin.blumenstingl@...glemail.com>
---
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/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
Powered by blists - more mailing lists