OpenCloudOS-Kernel/arch/mips/cavium-octeon
David Daney 87161ccdc6 MIPS: Octeon: Fix broken interrupt controller code.
Since 3.6.0-rc1,  We are getting many messages like:

WARNING: at kernel/irq/irqdomain.c:444 irq_domain_associate_many+0x23c/0x260()
Modules linked in:
Call Trace:
[<ffffffff814cb698>] dump_stack+0x8/0x34
[<ffffffff81133d00>] warn_slowpath_common+0x78/0xa8
[<ffffffff81187e44>] irq_domain_associate_many+0x23c/0x260
[<ffffffff81187f38>] irq_create_mapping+0xd0/0x220
[<ffffffff81188104>] irq_create_of_mapping+0x7c/0x158
[<ffffffff813e5f08>] irq_of_parse_and_map+0x28/0x40
.
.
.

Both the CIU and GPIO interrupt domains were somewhat screwed up.

For the CIU domain, we need to call irq_domain_associate() for each of
the preassigned irq numbers.  For the GPIO domain, we were applying
the register bit offset in octeon_irq_gpio_xlat, but it should be done
in octeon_irq_gpio_map instead.

Also: Reserve all 8 'core' irqs for the 'core' irq_chip so that they
don't get used by the other domains.  Remove unused OCTEON_IRQ_*
symbols.

Signed-off-by: David Daney <david.daney@cavium.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/4190/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2012-08-17 10:57:26 +02:00
..
executive MIPS: OCTEON: Remove some unused files. 2012-07-24 16:33:09 +02:00
.gitignore MIPS: Octeon: Add device tree source files. 2012-07-23 13:54:52 +01:00
Kconfig MIPS: Cavium: Fix duplicate ARCH_SPARSEMEM_ENABLE in kconfig. 2012-07-19 11:23:43 +02:00
Makefile MIPS: Octeon: Initialize and fixup device tree. 2012-07-23 13:54:52 +01:00
Platform MIPS: Octeon: Migrate to new platform makefile style. 2010-08-05 13:25:54 +01:00
cpu.c MIPS: Octeon: Place cnmips_cu2_setup in __init memory. 2010-10-04 18:34:00 +01:00
csrc-octeon.c mips: add export.h to files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:30:57 -04:00
dma-octeon.c MIPS: adapt for dma_map_ops changes 2012-03-28 16:36:32 +02:00
flash_setup.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
octeon-irq.c MIPS: Octeon: Fix broken interrupt controller code. 2012-08-17 10:57:26 +02:00
octeon-memcpy.S MIPS: Octeon: Implement Octeon specific __copy_user_inatomic 2012-07-23 13:55:55 +01:00
octeon-platform.c netdev: octeon_mgmt: Convert to use device tree. 2012-07-23 13:54:53 +01:00
octeon_3xxx.dts MIPS: Octeon: Add device tree source files. 2012-07-23 13:54:52 +01:00
octeon_68xx.dts MIPS: Octeon: Add device tree source files. 2012-07-23 13:54:52 +01:00
octeon_boot.h MIPS: Octeon: HOTPLUG_CPU fixes. 2010-08-05 13:26:12 +01:00
serial.c MIPS: Octeon: Use device tree to register serial ports. 2012-07-23 13:54:53 +01:00
setup.c MIPS: Octeon: Initialize and fixup device tree. 2012-07-23 13:54:52 +01:00
smp.c MIPS: Octeon: delay enable irq to ->smp_finish() 2012-07-19 11:23:44 +02:00