lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <09de6683eea499cfd83ab0c67e0cdca2@kernel.org>
Date:   Tue, 17 Nov 2020 09:19:48 +0000
From:   Marc Zyngier <maz@...nel.org>
To:     Neil Armstrong <narmstrong@...libre.com>
Cc:     Kevin Hilman <khilman@...libre.com>,
        Jerome Brunet <jbrunet@...libre.com>,
        Martin Blumenstingl <martin.blumenstingl@...glemail.com>,
        kernel-team@...roid.com, dri-devel@...ts.freedesktop.org,
        linux-amlogic@...ts.infradead.org,
        linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
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...

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ