Messages in this thread | | | Date | Tue, 19 Dec 2023 16:40:12 +0100 | Subject | Re: [PATCH v2 2/2] drm/rockchip: rk3066_hdmi: drop custom fill_modes hook | From | Johan Jonker <> |
| |
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@gmail.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@1920x1080
- 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
| |