linux_dsm_epyc7002/arch/powerpc/platforms/cell
Michael Ellerman 51e0eaf98d powerpc/cell: Only iterate over online nodes in cbe_init_pm_irq()
None of the cell platforms support CPU hotplug, so we should iterate
only over online nodes when setting PMU interrupts.

This also fixes a warning during boot when NODES_SHIFT is large enough:

WARNING: at /scratch/michael/src/kmk/linus/kernel/irq/irqdomain.c:766
...
NIP [c0000000000db278] .irq_linear_revmap+0x30/0x58
LR [c0000000000dc2a0] .irq_create_mapping+0x38/0x1a8
Call Trace:
[c0000003fc9c3af0] [c0000000000dc2a0] .irq_create_mapping+0x38/0x1a8 (unreliable)
[c0000003fc9c3b80] [c000000000655c1c] .__machine_initcall_cell_cbe_init_pm_irq+0x84/0x158
[c0000003fc9c3c20] [c00000000000afb4] .do_one_initcall+0x5c/0x1e0
[c0000003fc9c3cd0] [c000000000644580] .kernel_init_freeable+0x238/0x328
[c0000003fc9c3db0] [c00000000000b784] .kernel_init+0x1c/0x120
[c0000003fc9c3e30] [c000000000009fb8] .ret_from_kernel_thread+0x64/0xac

This is caused by us overflowing our linear revmap because we're
requesting too many interrupts.

Reported-by: Dennis Schridde <devurandom@gmx.net>
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-04-24 14:22:30 +10:00
..
spufs fs: Limit sys_mount to only request filesystem modules. 2013-03-03 19:36:31 -08:00
axon_msi.c powerpc/irqdomain: Fix broken NR_IRQ references 2012-04-30 10:45:26 +10:00
beat_htab.c powerpc/mm: Convert virtual address to vpn 2012-09-17 16:31:49 +10:00
beat_hvCall.S powerpc: Merge STK_REG/PARAM/FRAMESIZE 2012-07-10 19:18:03 +10:00
beat_interrupt.c powerpc/irqdomain: Fix broken NR_IRQ references 2012-04-30 10:45:26 +10:00
beat_interrupt.h powerpc: Remove stubbed beat smp support 2011-05-19 15:30:59 +10:00
beat_iommu.c powerpc/cell: Beat dma ops cleanup 2010-11-29 15:48:20 +11:00
beat_spu_priv1.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
beat_syscall.h [POWERPC] celleb: Move files for Beat hvcall interfaces 2008-04-24 21:08:13 +10:00
beat_udbg.c powerpc/cell: Use correct types in beat files 2009-01-08 16:25:16 +11:00
beat_wrapper.h powerpc: cell/beat_wrapper.h is implicitly using memcpy functions 2011-10-31 19:30:40 -04:00
beat.c powerpc: Rework set_dabr so it can take a DABRX value as well 2012-09-10 09:59:10 +10:00
beat.h powerpc: Rework set_dabr so it can take a DABRX value as well 2012-09-10 09:59:10 +10:00
cbe_cpufreq_pervasive.c powerpc/cell: local_irq_save takes an unsigned long 2009-01-08 16:25:13 +11:00
cbe_cpufreq_pmi.c powerpc: Fix up modules that should be including module.h 2011-10-31 19:30:38 -04:00
cbe_cpufreq.c powerpc: Fix up modules that should be including module.h 2011-10-31 19:30:38 -04:00
cbe_cpufreq.h [CELL] cbe_cpufreq: reorganize code 2007-07-20 21:41:38 +02:00
cbe_powerbutton.c powerpc: Fix up modules that should be including module.h 2011-10-31 19:30:38 -04:00
cbe_regs.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
cbe_thermal.c cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem 2011-12-21 14:29:42 -08:00
celleb_pci.c bootmem: fix wrong call parameter for free_bootmem() 2012-12-11 17:22:28 -08:00
celleb_pci.h powerpc/pci: Move IO workarounds to the common kernel dir 2011-04-27 14:18:29 +10:00
celleb_scc_epci.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
celleb_scc_pciex.c powerpc/irq: Remove IRQF_DISABLED 2011-11-08 14:51:46 +11:00
celleb_scc_sio.c powerpc/celleb: Use for_each_compatible_node() macro 2013-01-10 17:00:48 +11:00
celleb_scc_uhc.c [POWERPC] celleb: Move the SCC related code for celleb 2008-04-24 21:08:13 +10:00
celleb_scc.h [POWERPC] celleb: Add support for PCI Express 2008-04-24 21:08:14 +10:00
celleb_setup.c powerpc: add export.h to files making use of EXPORT_SYMBOL 2011-10-31 19:30:37 -04:00
cpufreq_spudemand.c workqueue: make deferrable delayed_work initializer names consistent 2012-08-21 13:18:23 -07:00
interrupt.c irq_domain/powerpc: constify irq_domain_ops 2012-02-16 06:11:24 -07:00
interrupt.h powerpc/cell: Rename ipi functions to match current abstractions 2011-05-26 13:38:58 +10:00
iommu.c Fix misspellings of "whether" in comments. 2012-11-19 14:31:35 +01:00
Kconfig arch/powerpc/platforms/cell: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:43:13 -08:00
Makefile powerpc: Remove stubbed beat smp support 2011-05-19 15:30:59 +10:00
pervasive.c powerpc: More fixes for lazy IRQ vs. idle 2012-07-10 19:16:07 +10:00
pervasive.h powerpc/cell: Cleanup sysreset_hack for IBM cell blades 2008-07-22 10:39:31 +10:00
pmu.c powerpc/cell: Only iterate over online nodes in cbe_init_pm_irq() 2013-04-24 14:22:30 +10:00
qpace_setup.c powerpc: Mark const init data with __initconst instead of __initdata 2012-04-02 14:00:03 +10:00
ras.c powerpc/cell: Add of_node_put to avoid memory leak 2010-09-02 14:07:33 +10:00
ras.h [POWERPC] cell: add RAS support 2006-06-21 15:01:29 +10:00
setup.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
smp.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
spider-pci.c powerpc/pci: Move IO workarounds to the common kernel dir 2011-04-27 14:18:29 +10:00
spider-pic.c Fix misspellings of "whether" in comments. 2012-11-19 14:31:35 +01:00
spu_base.c Merge branch 'driver-core-next' into Linux 3.2 2012-01-06 11:42:52 -08:00
spu_callbacks.c powerpc: Convert print_symbol to %pSR 2013-01-10 17:01:16 +11:00
spu_fault.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
spu_manage.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
spu_notify.c powerpc: fix implicit notifier use in converting to export.h 2011-10-31 19:30:41 -04:00
spu_priv1_mmio.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
spu_priv1_mmio.h [POWERPC] cell: abstract spu management routines 2006-12-04 20:40:39 +11:00
spu_syscalls.c switch simple cases of fget_light to fdget 2012-09-26 22:20:08 -04:00