提交 dcb4ea86 编写于 作者: M Magnus Damm 提交者: Paul Mundt

ARM: mach-shmobile: Kota2 GIC Sparse IRQ fix

Fix IRQ support on the Kota2 board. The sh73a0 and the Kota2
board make use of the ARM GIC hardware block as main interrupt
controller. The following commit changed the default behaviour
for non-device tree platforms and broke Kota2 irq support:

f37a53cc ARM: gic: fix irq_alloc_descs handling for sparse irq

Without this fix the following warning triggers at boot:

NR_IRQS:1024 nr_irqs:1024 1024
------------[ cut here ]------------
WARNING: at arch/arm/common/gic.c:607 gic_init+0x90/0x2e4()
Cannot allocate irq_descs @ IRQ16, assuming pre-allocated
[<c000c868>] (unwind_backtrace+0x0/0xe0) from [<c001857c>] (warn_slowpath_commo)
[<c001857c>] (warn_slowpath_common+0x48/0x60) from [<c00185d8>] (warn_slowpath_)
[<c00185d8>] (warn_slowpath_fmt+0x2c/0x3c) from [<c029ee08>] (gic_init+0x90/0x2)
[<c029ee08>] (gic_init+0x90/0x2e4) from [<c029f278>] (sh73a0_init_irq+0x30/0x18)
[<c029f278>] (sh73a0_init_irq+0x30/0x184) from [<c029c0b4>] (init_IRQ+0x14/0x1c)
[<c029c0b4>] (init_IRQ+0x14/0x1c) from [<c029a5cc>] (start_kernel+0x15c/0x2b8)
[<c029a5cc>] (start_kernel+0x15c/0x2b8) from [<4000803c>] (0x4000803c)
---[ end trace 1b75b31a2719ed1c ]---

With this fix applied interrupts work as expected.
Signed-off-by: NMagnus Damm <damm@opensource.se>
Acked-by: NRob Herring <rob.herring@calxeda.com>
Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
上级 1b6cec8a
...@@ -435,6 +435,7 @@ struct sys_timer kota2_timer = { ...@@ -435,6 +435,7 @@ struct sys_timer kota2_timer = {
MACHINE_START(KOTA2, "kota2") MACHINE_START(KOTA2, "kota2")
.map_io = kota2_map_io, .map_io = kota2_map_io,
.nr_irqs = NR_IRQS_LEGACY,
.init_irq = sh73a0_init_irq, .init_irq = sh73a0_init_irq,
.handle_irq = shmobile_handle_irq_gic, .handle_irq = shmobile_handle_irq_gic,
.init_machine = kota2_init, .init_machine = kota2_init,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册