Re: [RESEND PATCH v5 0/4] Add Synopsys DesignWare HDMI RX Controller

Tim Surber
2025-01-08T23:20:20Z

Hi,

I tested your patch with the command

# gst-launch-1.0 -v v4l2src device=/dev/video1 ! fakesink

If this worked I moved on to a visual test using

# gst-launch-1.0 -v v4l2src device=/dev/video1 ! queue ! v4l2convert !
waylandsink

I used a Windows PC with a Nvidia GTX 4060 as my source for the
following tests.

| Format | Result |
| ------------ | ------------------------------------------- |
| 4k60p RGB | Recognized as 1080p / 120 fps - no output |
| 4k60p 4:2:2 | Recognized as 1080p / 120 fps - no output |
| 4k60p 4:4:4 | Error: Device wants 1 planes |
| 4k30p RGB | ok |
| 4k30p 4:2:2 | ok |
| 4k30p 4:4:4 | Error: Device wants 1 planes |
| FHD60p RGB | ok |
| FHD60p 4:2:2 | ok |
| FHD60p 4:4:4 | Error: Device wants 1 planes |

When testing 4:4:4 chroma I got the following error:

# gst-launch-1.0 -v v4l2src device=/dev/video1 ! fakesink
/sys/v4l2/gstv4l2object.c(4344): gst_v4l2_object_set_format_full ():
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Device wants 1 planes

I could record and convert (with errors) the files with 4:4:4 chroma
using the command Shreeya posted, but the resulting video had wrong
colors and was flashing.

I was not able to test 4:2:0 chroma. I tried to generate an custom EDID
with support for it but I could not select it in the graphics driver in
the source, maybe this is just an issue with my setup.

I also observed that the the framerate is reported wrong, for example
setting the source to FHD60p RGB resulted in the following:

# v4l2-ctl --all -L --list-formats-ext -d /dev/video0
Active width: 1920
Active height: 1080
Total width: 2200
Total height: 1125
Frame format: progressive
Polarities: -vsync -hsync
Pixelclock: 214076000 Hz (86.50 frames per second)

This wrong framerate reporting seemed to happen across all framerates
and resolutions. Gstreamer Pipeline negotation showed the same results.

During my testing I got sometimes an error

# dmesg
dma alloc of size 24883200 failed

I'm not sure when this happened and how to reproduce it.

Then I tried to use an AppleTV 4k as source. I don't know what
resolution it tried to negotiate but I got this error in addition to the
previous "Device wants 1 planes" and no connection:

# dmesg
fdee0000.hdmi_receiver: hdmirx_query_dv_timings: signal is not locked
fdee0000.hdmi_receiver: hdmirx_wait_signal_lock: signal not lock,
tmds_clk_ratio:0
fdee0000.hdmi_receiver: hdmirx_wait_signal_lock: mu_st:0x0, scdc_st:0x0,
dma_st10:0x10
fdee0000.hdmi_receiver: hdmirx_wait_signal_lock: signal not lock,
tmds_clk_ratio:0
fdee0000.hdmi_receiver: hdmirx_wait_signal_lock: mu_st:0x0, scdc_st:0x0,
dma_st10:0x14

Best regards,
Tim