Thread (128 messages) 128 messages, 9 authors, 2022-09-24

Re: [PATCH v2 00/41] drm: Analog TV Improvements

From: Noralf Trønnes <hidden>
Date: 2022-09-05 15:17:33
Also in: dri-devel, intel-gfx, linux-sunxi, lkml, nouveau


Den 05.09.2022 16.57, skrev Maxime Ripard:
On Fri, Sep 02, 2022 at 01:28:16PM +0200, Noralf Trønnes wrote:
quoted

Den 01.09.2022 21.35, skrev Noralf Trønnes:
quoted

I have finally found a workaround for my kernel hangs.

Dom had a look at my kernel and found that the VideoCore was fine, and
he said this:
quoted
That suggests cause of lockup was on arm side rather than VC side.

But it's hard to diagnose further. Once you've had a peripheral not
respond, the AXI bus locks up and no further operations are possible.
Usual causes of this are required clocks being stopped or domains
disabled and then trying to access the hardware.
So when I got this on my 64-bit build:

[  166.702171] SError Interrupt on CPU1, code 0x00000000bf000002 -- SError
[  166.702187] CPU: 1 PID: 8 Comm: kworker/u8:0 Tainted: G        W
    5.19.0-rc6-00096-gba7973977976-dirty #1
[  166.702200] Hardware name: Raspberry Pi 4 Model B Rev 1.1 (DT)
[  166.702206] Workqueue: events_freezable_power_ thermal_zone_device_check
[  166.702231] pstate: 200000c5 (nzCv daIF -PAN -UAO -TCO -DIT -SSBS
BTYPE=--)
[  166.702242] pc : regmap_mmio_read32le+0x10/0x28
[  166.702261] lr : regmap_mmio_read+0x44/0x70
...
[  166.702606]  bcm2711_get_temp+0x58/0xb0 [bcm2711_thermal]

I wondered if that reg read was stalled due to a clock being stopped.

Lo and behold, disabling runtime pm and keeping the vec clock running
all the time fixed it[1].

I don't know what the problem is, but at least I can now test this patchset.

[1] https://gist.github.com/notro/23b984e7fa05cfbda2db50a421cac065
It turns out I didn't have to disable runtime pm:
https://gist.github.com/notro/0adcfcb12460b54e54458afe11dc8ea2
If the bcm2711_thermal IP needs that clock to be enabled, it should grab
a reference itself, but it looks like even the device tree binding
doesn't ask for one.
The first thing I tried was to unload the bcm2711_thermal module before
running modeset and it still hung, so I don't think that's the problem.

Noralf.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help