Re: [PATCH v5 0/4] drm/rockchip: dw_hdmi: Add 4k@30 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hi,

On 2/15/23 00:43, Sascha Hauer wrote:
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.

with above fix, and modified dts either VOPL or VOPB enabled, I could get expected resolution on the display.

thank you so much for your nice work :)

--
FUKAUMI Naoki

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@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(-)






[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux