Messages in this thread | | | Date | Tue, 17 Nov 2020 09:19:48 +0000 | From | Marc Zyngier <> | Subject | Re: [PATCH 0/4] drm/meson: Module removal fixes |
| |
Hi Neil,
On 2020-11-17 08:49, Neil Armstrong wrote: > Hi Marc, > > On 16/11/2020 21:07, Marc Zyngier wrote: >> Hi all, >> >> Having recently moved over to a top-of-the-tree u-boot on one of my >> VIM3L systems in order to benefit from unrelated improvements >> (automatic PCIe detection, EFI...), I faced the issue that my kernel >> would hang like this: >> >> [ OK ] Finished Helper to synchronize boot up for ifupdown. >> [ OK ] Started Rule-based Manager for Device Events and Files. >> [ 7.114516] VDDCPU: supplied by regulator-dummy >> [ OK ] Found device /dev/ttyAML0. >> [ 7.146862] meson-drm ff900000.vpu: Queued 2 outputs on vpu >> [ 7.169630] fb0: switching to meson-drm-fb from simple >> [ 7.169944] Console: switching to colour dummy device 80x25 >> [ 7.179250] meson-drm ff900000.vpu: CVBS Output connector not >> available >> >> and that's it. >> >> After some poking around, I figured out that it is in the >> meson-dw-hdmi module that the CPU was hanging... > > I'll be interested in having your kernel config, I never had such > report > since I enabled HDMI support in U-Boot a few years ago.
Yeah, I was pretty surprised too. I have a hunch that this is caused by u-boot DT exposing an extra MMIO region (dubbed "hhi") that gets picked up by the kernel driver. *Not* having the region in the DT (as in the kernel's version of the same DT) makes the driver work exactly once:
Decompiled u-boot DT:
hdmi-tx@0 { compatible = "amlogic,meson-g12a-dw-hdmi"; reg = <0x00 0x00 0x00 0x10000 0x00 0x3c000 0x00 0x1000>; [...] reg-names = "hdmitx\0hhi";
Decompiled kernel DT:
hdmi-tx@0 { compatible = "amlogic,meson-g12a-dw-hdmi"; reg = <0x00 0x00 0x00 0x10000>;
There seem to be some complex interactions between the HDMI driver and the DRM driver, both using this MMIO region at any given time. But I admit not having tried very hard to follow the DRM maze of intricate callbacks. All I needed was this box to reliably boot with the firmware-provided DT.
You can find a reasonably recent version of my config at [1].
M.
[1] http://www.loen.fr/tmp/Config.full-arm64 -- Jazz is not dead. It just smells funny...
| |