Re: [PATCH v1 00/35] drm: Analog TV Improvements

From: Noralf Trønnes
Date: Sat Aug 27 2022 - 12:11:57 EST




Den 26.08.2022 16.56, skrev Dom Cobley:
> On Fri, 26 Aug 2022 at 05:08, Mateusz Kwiatkowski <kfyatek@xxxxxxxxx> wrote:
>> - Commenting out the pm_runtime_put() / pm_runtime_get_sync() calls in vc4_vec.c
>> - Reverting this PR by Dom Cobley a.k.a. popcornmix:
>> https://github.com/raspberrypi/linux/pull/4639
>>
>> Either of these approaches makes VEC mode switching work again. Obviously
>> neither is appropriate for a permanent solution.
>
> Might be worth trying the latest rpi-update firmware.
> There was a change that affects restoring PIXEL/VEC clocks after a
> power domain cycle.
> There is also a fix for a USB boot breakage.
>

That firmware gives me firmware timeout references in the 5 attempts
I've done.

My first attempt gave me this:

[ 112.454982] WARNING: CPU: 2 PID: 855 at
drivers/firmware/raspberrypi.c:63 rpi_firmware_property_list+0x204/0x270
[ 112.466985] Firmware transaction timeout
...
[ 112.533740] warn_slowpath_fmt from
rpi_firmware_property_list+0x204/0x270
[ 112.541449] rpi_firmware_property_list from
rpi_firmware_property+0x68/0x94
[ 112.549326] rpi_firmware_property from
raspberrypi_clock_property+0x50/0x84
[ 112.557197] raspberrypi_clock_property from
raspberrypi_fw_set_rate+0x4c/0xc4
[ 112.565242] raspberrypi_fw_set_rate from clk_change_rate+0x16c/0x6f8
[ 112.572502] clk_change_rate from clk_core_set_rate_nolock+0x1c4/0x2a4
[ 112.579857] clk_core_set_rate_nolock from
clk_set_rate_range.part.0+0x128/0x2ac
[ 112.588091] clk_set_rate_range.part.0 from
vc4_atomic_commit_tail+0x2b4/0x854 [vc4]
[ 112.596832] vc4_atomic_commit_tail [vc4] from commit_tail+0xa4/0x19c
[ 112.604269] commit_tail from drm_atomic_helper_commit+0x16c/0x194
[ 112.611279] drm_atomic_helper_commit from drm_atomic_commit+0xb4/0xec
[ 112.618625] drm_atomic_commit from drm_mode_atomic_ioctl+0x8f0/0xb6c
[ 112.625877] drm_mode_atomic_ioctl from drm_ioctl_kernel+0xcc/0x170
[ 112.632950] drm_ioctl_kernel from drm_ioctl+0x1d8/0x374
[ 112.639056] drm_ioctl from sys_ioctl+0xe4/0xbac
[ 112.644462] sys_ioctl from ret_fast_syscall+0x0/0x1c
...
[ 112.726171] raspberrypi-clk soc:firmware:clocks: Failed to change
fw-clk-core frequency: -110

I've also done one with drm debug enabled.
Kernel messages:
https://gist.github.com/notro/53afe9fdc3d0afbf0fb12678be1ab377

Dom, in case you want to debug this I've uploaded a rpi-update'able
archive plus config.txt and cmdline.txt.
There are some custom overlays in there that are needed.

Kernel: tronnes.org/downloads/vec-kernel-2022-08-27.gz
Build/setup info from another post:
https://gist.github.com/notro/41c59d77c3022dc6d931d4f9547c4ea6

I've tried this on another Pi4 (same revision: c03111) as well to rule
out any hw issues. The first attempt also gave me an mmc fault (no dmesg
-w) and the second one (dmesg -w) gave me the timeout.

Noralf.