On Fri, Aug 26, 2022 at 06:07:47AM +0200, Mateusz Kwiatkowski wrote: > Hi Maxime, Noralf and everyone, > > Just as a quick update. I isolated the issue to the power management subsystem. > Unfortunately I know very little about the power management subsystem so > I don't think I can help. > > There are two alternative dirty ad-hoc hacks that get things working. > > - 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 We don't have that PR upstream, so that might be the explanation to why you're seeing this and I don't. I'll look into this further and will open an issue. I can't see anything wrong with the pm_runtime use though. > Either of these approaches makes VEC mode switching work again. Obviously > neither is appropriate for a permanent solution. > > I tried some random code permutations that came to my mind, like using the > vc4_encoder callbacks (e.g. post_crtc_powerdown) instead of the standard > enable/disable encoder callbacks, but to no avail. > > Since the clocks and power management seem to be delegated to the firmware now, > my guess is that this might be a firmware issue, but I can't really check all > the firmware versions. It certainly crashes on the version currently available > in Raspberry Pi OS repos, and on this one: > https://github.com/raspberrypi/rpi-firmware/commit/4dde751. My Pi4 doesn't boot > using any newer firmware, at least not from USB - I might try some SD card > after the weekend. Thanks for your testing Maxime