Solid green screen with experimental panfrost/hdmi sc2 support

Heiner Kallweit hkallweit1 at gmail.com
Wed Apr 27 02:37:22 PDT 2022


On 26.04.2022 09:28, Neil Armstrong wrote:
> Hi,
> 
> On 25/04/2022 22:21, Heiner Kallweit wrote:
>> Based on a HK1 RBOX X4 (S905X4) I'm "playing" with mainline support for SC2.
>> This Android TV box is based on the ah212 reference board according to uboot prompt.
>> Most relevant things are working meanwhile (eMMC, SD, SDIO/WiFi, USB2/3, ethernet)
>> and I can use the system headless.
>> However I'm struggling with panfrost/hdmi. With SC2 a lot of vpu registers have been
>> relocated (e.g. all hhi regs), even though the functionality seems to be more or less
>> compatible to G12A. I had to extend the timeout for HDMI PLL locking.
>> After having sorted out such things:
>> - dmesg for panfrost and hdmi looks normal
>> - monitor detects signal and OSD shows correct resolution (1920x1080 at 60 in my case).
>> I'd interpret this in a way that the clock/divider/mux registers are programmed correctly.
>> However I just get a solid green screen. From what I've read this can be caused
>> by a failing hdmi handshake. Not being an expert in DRM/HDMI any hint on where to start
>> debugging would be appreciated.
> 
> A solid green means the pipeline has been correctly set up in regard to the clocking,
> and some (invalid) pixels flows to the HDMI transceiver.
> 
> This means you can consider the HDMI & clock portion OK, and propably the ENCP aswell.
> 
> The OSD video pipeline is the following:
> 
> [ DDR -> VIU (RGB2YUV) -> VPP (Blending of planes, Scaling) -> ENCP (Pixel generation) -> HDMI-TX -> TMDS]
> 
> Green means value 0 in YUV, this means 0 is in the YUV pipeline, so it must be an issue with the VIU
> part reading from DDR and doing the color conversion.
> 
> Check in the downstrean source code how the SC2 VPU is initialized, and looks at the differences since SM1.
> Look at the VIU & VPP stuff init.
> 
I found that in case of the solid green screen the number of crtc interrupts (handled by meson_crtc_irq())
is constantly increasing, with a rate of a few hundred interrupts per minute.
On a S905W-based system where HDMI output works normally I see about 100 such interrupts after boot
and the number doesn't change.
Maybe this can provide a hint on what's going wrong?

> Neil
> 
Heiner
>>
>>



More information about the linux-amlogic mailing list