-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vc4 / HDMI fixes for 6.12 #6485
Conversation
If you disable HDR metadata, then the hardware should stop sending the infoframe, and that is implemented by the clear_infoframe hook which wasn't implemented. Add it. Signed-off-by: Dave Stevenson <[email protected]>
Can confirm this fixes issue where HDR is left enabled after disabling (clear infoframe). I now get 8 bit mode for 1080p60 which are all as expected. |
As @HiassofT has reported, I am also still seeing the default max_bpc being 12. I'm just investigating.... |
bpc limiting doesn't seem to work here, I'm still getting 1920x1200@60-12bpc here with my monitor, both in LibreELEC and also in RPiOS with
I've attached full dmesg with drm.debug=0x06 and base64 encoded edid of my monitor (same one as posted on LE slack) |
Using increased bit depth for no reason increases power consumption, and differs from the behaviour prior to the conversion to use the HDMI helper functions. Initialise the state max_bpc and requested_max_bpc to the minimum value supported. This only affects Raspberry Pi, as the other users of the helpers (rockchip/inno_hdmi and sunx4i) only support a bit depth of 8. Signed-off-by: Dave Stevenson <[email protected]>
If an infoframe was ever enabled, duplicate_state would memcpy the infoframe including the "set" flag. The infoframe functions then never cleared it, so once set it was always set. This was most obvious with the HDR infoframe as it resulted in bad colour rendering. Signed-off-by: Dave Stevenson <[email protected]>
Drop from RGB to YUV422 output if RGB couldn't be supported within the defined max_bpc and TMDS rates, and then try dropping max_bpc. Signed-off-by: Dave Stevenson <[email protected]>
PR updated so that |
I also noticed the Output format connector property seems to be gone in 6.12. kmsprint -p on RPiOS 6.6.62:
|
Yes it has for the time being. This is the fun with upstream changing, and then downstream patches won't apply. I have all my 2712 patches now reviewed for upstream, so I'm likely to revert all the downstream patches, apply those upstream ones, and then reimplement any features that haven't been upstreamed (hopefully not too many, and in a form that can be upstreamed where acceptable). |
thanks, pulling in upstream-next changes and basing on them sounds like a very good idea to me, too |
Thanks a lot, bpc and YCC422 switching seems to work fine now, and it's also nice that YCC422 can now get selected with max bpc 10 |
kernel: Set pcie link speed before unreset, not after See: raspberrypi/linux#6487 kernel: vc4 / HDMI fixes for 6.12 See: raspberrypi/linux#6485
kernel: Set pcie link speed before unreset, not after See: raspberrypi/linux#6487 kernel: vc4 / HDMI fixes for 6.12 See: raspberrypi/linux#6485
Still doesn't support YUV422, but better than before.Now has YUV422 support too.
@popcornmix @HiassofT