[PATCH v5 0/4] drm/rockchip: dw_hdmi: Add 4k at 30 support
FUKAUMI Naoki
naoki at radxa.com
Wed Feb 15 01:22:42 PST 2023
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 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(-)
>>>
>>
>
More information about the Linux-rockchip
mailing list