[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4aeef6df-2616-0741-00a3-6e45ec63f920@gmail.com>
Date: Tue, 19 Dec 2023 16:40:12 +0100
From: Johan Jonker <jbx6244@...il.com>
To: Maxime Ripard <mripard@...nel.org>
Cc: hjc@...k-chips.com, heiko@...ech.de, andy.yan@...k-chips.com,
maarten.lankhorst@...ux.intel.com, tzimmermann@...e.de, airlied@...il.com,
daniel@...ll.ch, dri-devel@...ts.freedesktop.org,
linux-arm-kernel@...ts.infradead.org, linux-rockchip@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/2] drm/rockchip: rk3066_hdmi: drop custom fill_modes
hook
On 12/19/23 13:55, Maxime Ripard wrote:
> Hi,
>
> On Mon, Dec 18, 2023 at 04:49:06PM +0100, Johan Jonker wrote:
>> CRTC size validation for the display controller has been added with
>> Commit 8e140cb60270 ("drm/rockchip: vop: limit maximum resolution to
>> hardware capabilities"), so we can drop the custom fill_modes hook.
>>
>> Signed-off-by: Johan Jonker <jbx6244@...il.com>
>
> I'm not sure those two are equivalent. CRTC and connectors usually have
> different requirements and capabilities, and thus different,
> supplementary, mode_valid/atomic_check implementations.
Rockchip RK3066 CRTC and connector resolution max_output are equivalent.
>From Rockchip PX2 TRM V1.0.pdf page 17:
- Video Encoder
Maximum frame rate is up to 30fps@...0x1080
- Display Interface
Support LCD or TFT interfaces up to 1920x1080
- HDMI TX Interface
HDMI version 1.4a, HDCP revision 1.4 and DVI version 1.0 compliant transmitter
Supports DTV from 480i to 1080i/p HD resolution, and PC from VGA to UXGA by LCDC0 or LCDC1 in RK PX2
Compared to the drm_helper_probe_single_connector_modes() this function added an extra max_output
Checked in rockchip_drm_vop.c is:
https://lore.kernel.org/linux-rockchip/20230216102447.582905-2-s.hauer@pengutronix.de/
+ if (vop->data->max_output.width && mode->hdisplay > vop->data->max_output.width)
+ return MODE_BAD_HVALUE;
+
+ if (vop->data->max_output.height && mode->vdisplay > vop->data->max_output.height)
+ return MODE_BAD_VVALUE;
For RK3066 VOP max_output:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/rockchip/rockchip_vop_reg.c#n506
This patch was made with HDMI in mind.
.max_output = { 1920, 1080 },
This first part was added by Heiko, but not was not part my patch that I submitted:
- if (maxX > 1920)
- maxX = 1920;
- if (maxY > 1080)
- maxY = 1080;
-
- return drm_helper_probe_single_connector_modes(connector, maxX, maxY);
-}
Original patch:
https://patchwork.freedesktop.org/patch/msgid/20190330095639.14626-2-jbx6244@gmail.com
+static int
+rk3066_hdmi_probe_single_connector_modes(struct drm_connector *connector,
+ uint32_t maxX, uint32_t maxY)
+{
+ return drm_helper_probe_single_connector_modes(connector, 1920, 1080);
+}
Rockchip RK3066 CRTC and connector resolution max_output are equivalent.
Johan
>
> Maxime
Powered by blists - more mailing lists