Re: rk3399: Graphical artifacts when running for-next

Robert Foss
2019-02-22T08:41:43Z

Hey Jonas,

On 2/21/19 9:29 PM, Jonas Karlman wrote:
> On 2019-02-21 20:42, Robert Foss wrote:
>>
>> On 2/21/19 8:15 PM, Ezequiel Garcia wrote:
>>> Folks,
>>>
>>> On Thu, 2019-02-21 at 20:08 +0100, Robert Foss wrote:
>>> [..]
>>>
>>> The clock debugging is obviously good research.
>>>
>>>>>
>>>>> Additionally I've had a look at the libdrm modetest util, and it is reporting
>>>>> far fewer modes than what I would expect on my 4k monitor.
>>>>>
>>> That said, this is also worth looking into.
>>> I'm curious, is the EDID the kernel getting OK?
>>>
>> Given that modetest lists way too few modes, I would think
>> there could be some EDID related issues.
>
> It is more likely the issue is in dw_hdmi_rockchip_mode_valid(), it currently filters out
> any mode not defined in rockchip_mpll_cfg.
> That method needs some changes to allow for 4k modes and fractal refresh rates.
> E.g. for RK3328 it should probably check the inno-hdmi-phy clock rates.

This seemed like a good suggetions, so I disabled the rockchip_mpll_cfg in
dw_hdmi_rockchip_mode_valid(), and ran libdrm/modetest. I now have 5 modes.
But no higher resolution ones, only low resolution ones that don't seem

$ modetest
[..]
trying to open device 'rockchip'...done
Encoders:
id crtc type possible crtcs possible clones
44 34 TMDS 0x00000003 0x00000000

Connectors:
id encoder status name size (mm) modes encoders
45 44 connected HDMI-A-1 0x0 5 44
modes:
name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
1024x768 60 1024 1048 1184 1344 768 771 777 806 65000 flags: [..]
800x600 60 800 840 968 1056 600 601 605 628 40000 flags: [..]
800x600 56 800 824 896 1024 600 601 603 625 36000 flags: [..]
848x480 60 848 864 976 1088 480 486 494 517 33750 flags: [..]
640x480 60 640 656 752 800 480 490 492 525 25175 flags: …