Skip to content
Commit da191355 authored by Quanyang Wang's avatar Quanyang Wang Committed by Bruce Ashfield
Browse files

arm-ccn: disable HN-I node reporting error to MN node



The ARM's ccn-504 consists of MN/DT/HN-I/SBSX/HN-F/RN-I/XP components.
And HN-I/SBSX/HN-F/RN-F/XP will report error event to MN component.

But in ccn driver arm-ccn.c, it only registers 2 handlers to handle
events from DT(pmu) and HN-F(l3 cache edac). So when there is an error
from HN-I component, the irq handler for ccn won't handle it and it
becomes a "nobody cared" irq.

[ 0.184044] irq 15: nobody cared (try booting with the "irqpoll" option)
[ 0.184049] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.10.57-rt47-yocto-preempt-rt #1
[ 0.184054] Hardware name: AXM56xx Victoria (DT)
[ 0.184057] Call trace:
[ 0.184058] dump_backtrace+0x0/0x1a0
[ 0.184069] show_stack+0x24/0x30
[ 0.184075] dump_stack+0xcc/0x108
[ 0.184081] __report_bad_irq+0x54/0xe4
[ 0.184087] note_interrupt+0x2b4/0x300
[ 0.184093] handle_irq_event_percpu+0xb8/0xc0
[ 0.184098] handle_irq_event+0x88/0xf0
[ 0.184102] handle_fasteoi_irq+0xc8/0x2a0
[ 0.184107] __handle_domain_irq+0xbc/0x140
[ 0.184111] gic_handle_irq+0x94/0x160
[ 0.184115] el1_irq+0xcc/0x180

For now I can't figure out why this HN-I error happens and there are
some clues as below:
1) The value in HN-I Error Syndrome 0 register is 0x80000de88111291 and the
value in HN-I Error Syndrome 1 register is 0x80310232c0. It means that the
error happens when some CPU want to access 0x80310232c0.
2) The error happens when kernel call psci_ops.cpu_on, so root cause
should be in atf.

For this I make a workaround that disable HN-I node reporting error to
MN mode.

Signed-off-by: default avatarQuanyang Wang <quanyang.wang@windriver.com>
Signed-off-by: default avatarBruce Ashfield <bruce.ashfield@gmail.com>
parent 192d4d0c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment