[BUG] bcm2711: bad_chained_irq in brcmstb_l2_intc_irq_handle
Maxime Ripard
maxime at cerno.tech
Thu Jan 20 07:54:05 PST 2022
Hi Florian,
On Sun, Jan 16, 2022 at 08:59:15PM -0800, Florian Fainelli wrote:
> > > 12: 130322 26028 27670 135225 GICv2 30 Level
> > > arch_timer
> > > 13: 0 0 0 0 GICv2 27 Level
> > > kvm guest vtimer
> > > 19: 0 0 0 0 GICv2 107 Level
> > > fe004000.txp
> > > 20: 7450 0 0 0 GICv2 65 Level
> > > fe00b880.mailbox
> > > 25: 6525 0 0 0 GICv2 153 Level
> > > uart-pl011
> > > 26: 0 0 0 0 GICv2 149 Level
> > > fe205000.i2c, fe804000.i2c
> > > 27: 9 0 0 0 GICv2 125 Level
> > > ttyS1
> > > 28: 36999 0 0 0 GICv2 158 Level
> > > mmc0, mmc1
> > > 29: 1 0 0 0 GICv2 129 Level
> > > vc4 hvs
> > > 30: 0 0 0 0 GICv2 105 Level
> > > fe980000.usb, fe980000.usb
> > > 31: 0 0 0 0 GICv2 112 Level
> > > DMA IRQ
> > > 33: 0 0 0 0 GICv2 114 Level
> > > DMA IRQ
> > > 40: 0 0 0 0 GICv2 141 Level
> > > vc4 crtc
> > > 41: 0 0 0 0 GICv2 142 Level
> > > vc4 crtc, vc4 crtc
> > > 42: 10 0 0 0 GICv2 133 Level
> > > vc4 crtc
> > > 43: 1 0 0 0
> > > interrupt-controller at 7ef00100 0 Edge vc4 hdmi cec tx
> > > 44: 0 0 0 0
> > > interrupt-controller at 7ef00100 1 Edge vc4 hdmi cec rx
> > > 47: 0 0 0 0
> > > interrupt-controller at 7ef00100 4 Edge vc4 hdmi hpd connected
> > > 48: 1 0 0 0
> > > interrupt-controller at 7ef00100 5 Edge vc4 hdmi hpd disconnected
> > > 49: 0 0 0 0
> > > interrupt-controller at 7ef00100 8 Edge vc4 hdmi cec tx
> > > 50: 0 0 0 0
> > > interrupt-controller at 7ef00100 7 Edge vc4 hdmi cec rx
> > > 53: 0 0 0 0
> > > interrupt-controller at 7ef00100 10 Edge vc4 hdmi hpd connected
> > > 54: 0 0 0 0
> > > interrupt-controller at 7ef00100 11 Edge vc4 hdmi hpd disconnected
> > > 55: 7 0 0 0 GICv2 66 Level
> > > VCHIQ doorbell
> > > 56: 0 0 0 0 GICv2 48 Level
> > > arm-pmu
> > > 57: 0 0 0 0 GICv2 49 Level
> > > arm-pmu
> > > 58: 0 0 0 0 GICv2 50 Level
> > > arm-pmu
> > > 59: 0 0 0 0 GICv2 51 Level
> > > arm-pmu
> > > 62: 47599 0 0 0 GICv2 189 Level
> > > eth0
> > > 63: 4681 0 0 0 GICv2 190 Level
> > > eth0
> > > 64: 0 0 0 0 GICv2 175 Level
> > > PCIe PME, aerdrv
> > > 65: 326 0 0 0 BRCM STB PCIe MSI
> > > 524288 Edge xhci_hcd
> > > IPI0: 2442 5185 7195 18290 Rescheduling
> > > interrupts
> > > IPI1: 481 383 518 533 Function call
> > > interrupts
> > > IPI2: 0 0 0 0 CPU stop
> > > interrupts
> > > IPI3: 0 0 0 0 CPU stop (for
> > > crash dump) interrupts
> > > IPI4: 0 0 0 0 Timer broadcast
> > > interrupts
> > > IPI5: 1 0 0 0 IRQ work
> > > interrupts
> > > IPI6: 0 0 0 0 CPU wake-up
> > > interrupts
> > > Err: 1
> > >
> > > Comparing the vendor & mainline DTS, i noticed differences at hdmi0/1.
> > > The vendor DTS has an additional register to access the same space as
> > > aon_intr (interrupt parent), which looks ugly [2].
> >
> > OK, so while I do see how we set external_irq_controller to let the
> > interrupt be managed externally from vc4_hdmi.c else do it internally, I
> > don't see the code that tries to map the "intr2" register space, let
> > alone fetch its resource, do you know where that is?
>
> Downstream appears to be setting the 'aon_intr' Device Tree node with a
> status = disabled property, still leaves me wondering whether the "intr2"
> register space is used.
It's not used, its last (and only) user was reverted in:
https://github.com/raspberrypi/linux/commit/07170fdd6daffb3fb276a9dc814d6d02d82b055f
> I think it would be prudent to change the hpd_con, hpd_rm variables in
> vc4_hdmi.c to be signed integers instead of unsigned integers, if nothing
> else such that -EPROBE_DEFER might be returned.
Yeah, that would make sense.
Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20220120/16ebd7eb/attachment-0001.sig>
More information about the linux-arm-kernel
mailing list