vc4: HDMI Sink doesn't support RGB, something's wrong.

Stefan Wahren wahrenst at gmx.net
Thu Oct 17 15:26:46 UTC 2024


Am 17.10.24 um 16:27 schrieb Maxime Ripard:
> On Wed, Oct 16, 2024 at 07:16:43PM GMT, Dave Stevenson wrote:
>> Hi Stefan
>>
>> On Tue, 15 Oct 2024 at 22:13, Stefan Wahren <wahrenst at gmx.net> wrote:
>>> Hi Dave,
...
>>> i prepared a branch for you, which contains the latest suspend2idle patches:
>>>
>>> https://github.com/lategoodbye/linux-dev/commits/v6.12-pm/
>>>
>>> Steps:
>>> 1. Flash latest Raspberry Pi OS (32 bit) on SD card
>>> 2. Build Kernel from repo above with arm/multi_v7_defconfig
>>> 3. Replace Kernel, modules + DTB on SD card with build ones
>>> 4. add the following to confix.txt
>>> device_tree=bcm2837-rpi-3-b-plus.dtb
>>> enable_uart=1
>>> 5. change/add the following to cmdline.txt
>>> console=ttyS1,115200
>>> no_console_suspend=1
>>> 6. connect the following devices to Raspberry Pi 3 B+ :
>>> USB mouse
>>> USB keyboard
>>> HDMI monitor
>>> Debug UART adapter (USB side to PC)
>>> 7. Power on board and boot into X11
>>> 8. Change to root
>>> 9. Enable wakeup for ttyS1
>> So I remember for next time
>> echo enabled > /sys/class/tty/ttyS1/power/wakeup
>>
>>> 10. Trigger suspend to idle via X11 (echo freeze > /sys/power/state)
>>> 11. Wakeup Raspberry Pi via Debug UART
>> I don't get the error you are seeing, but I also don't get the display resuming.
>> pm has obviously killed the power to the HDMI block, and it has the
>> reset values in as can be seen via /sys/kernel/debug/dri/0/hdmi_regs.
>> Nothing in the driver restores these registers, and I'm not sure if it
>> is meant to do so.
>> Run kmstest or similar from this state and the change of mode
>> reprogrammes the blocks so we get the display back again.
>>
>> I've also enabled CONFIG_DRM_LOAD_EDID_FIRMWARE so that I can use your
>> EDID, and get the same results.
>>
>> Knee-capping the HDMI block on suspend seems an unlikely mechanism to
>> work reliably. On the more recent Pis there is a need to be quite
>> careful in disabling the pipeline to avoid getting data stuck in
>> FIFOs.
>> I feel I must be missing something here.
> I think we're probably missing calls to drm_mode_config_helper_suspend and
> drm_mode_config_helper_resume.
Okay, i tried this and it works better (HDMI resumes fast), but it also
triggers a lot of WARN and the "doesn't support RGB ..." warnings are
still there.

I pushed my changes to the branch and attached the dmesg output.

Regards
>
> Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dmesg_s2idle.log
Type: text/x-log
Size: 90554 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20241017/35914a0b/attachment-0001.bin>


More information about the dri-devel mailing list