[PATCH v5 0/4] drm/rockchip: dw_hdmi: Add 4k at 30 support
Sascha Hauer
s.hauer at pengutronix.de
Tue Feb 14 07:43:04 PST 2023
On Mon, Feb 13, 2023 at 04:11:46PM +0900, FUKAUMI Naoki wrote:
> hi,
>
> on my rk3399 boards(ROCK Pi 4B+ and ROCK 4C+), fb0 is configured as
> 1920x1080, and nothing is displayed... "no signal" on display.
I can confirm this.
First of all there is a stupid bug in my patch:
> + if (vop->data->max_output.width && mode->hdisplay > vop->data->max_output.height)
> + return MODE_BAD_HVALUE;
The comparison should be against the width here of course, not against
the height. Fixing this should at least allow you to display something
when a 1080p display is connected.
The other problem comes with the legacy fbdev emulation. I think failure
is pretty much expected here. The fbdev emulation happens to use the
VOPL to display a 4k picture, but the VOPL can only do up to 2560x1600
and so the mode is denied in vop_crtc_mode_valid(). Quoting Daniel Stone
on this topic:
> You've done the right thing. Userspace should detect this and try with
> alternative CRTC routing. The kernel shouldn't be trying to solve this
> problem.
Trying an alternative CRTC routing is exactly what the fbdev emulation
doesn't do. Now my "userspace" is in kernel and the kernel shouldn't try
to solve this problem. We're trapped :-/
Sascha
>
> --
> FUKAUMI Naoki
>
> On 2/8/23 18:08, Sascha Hauer wrote:
> > Some more small changes to this series, see changelog.
> >
> > Sascha
> >
> > Changes since v4:
> > - Use struct vop_reg to store resolutions
> > - Only check for valid clock rates when clock != NULL
> >
> > Changes since v3
> > - Add patch to limit VOP resolutions to hardware capabilitie
> >
> > Changes since v2:
> > - Use correct register values for mpll_cfg
> > - Add patch to discard modes we cannot achieve
> >
> > Changes since v1:
> > - Allow non standard clock rates only on Synopsys phy as suggested by
> > Robin Murphy
> >
> > Sascha Hauer (4):
> > drm/rockchip: vop: limit maximium resolution to hardware capabilities
> > drm/rockchip: dw_hdmi: relax mode_valid hook
> > drm/rockchip: dw_hdmi: Add support for 4k at 30 resolution
> > drm/rockchip: dw_hdmi: discard modes with unachievable pixelclocks
> >
> > drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 41 ++++++++++++++++----
> > drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 15 +++++++
> > drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 6 +++
> > drivers/gpu/drm/rockchip/rockchip_drm_vop2.h | 5 ---
> > drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 18 +++++++++
> > 5 files changed, 73 insertions(+), 12 deletions(-)
> >
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the Linux-rockchip
mailing list