aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/sysdev/mpic.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-11-06 02:38:43 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-11-06 02:38:43 -0500
commit2f4bf528eca5b2d9eef12b6d323c040254f8f67c (patch)
tree3642d6c1623be0ad1cc991343eb4e0845d77de7a /arch/powerpc/sysdev/mpic.c
parent2e3078af2c67730c479f1d183af5b367f5d95337 (diff)
parent8bdf2023e238ce2262d0cf1aca78785dc46e15db (diff)
Merge tag 'powerpc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
Pull powerpc updates from Michael Ellerman: - Kconfig: remove BE-only platforms from LE kernel build from Boqun Feng - Refresh ps3_defconfig from Geoff Levand - Emit GNU & SysV hashes for the vdso from Michael Ellerman - Define an enum for the bolted SLB indexes from Anshuman Khandual - Use a local to avoid multiple calls to get_slb_shadow() from Michael Ellerman - Add gettimeofday() benchmark from Michael Neuling - Avoid link stack corruption in __get_datapage() from Michael Neuling - Add virt_to_pfn and use this instead of opencoding from Aneesh Kumar K.V - Add ppc64le_defconfig from Michael Ellerman - pseries: extract of_helpers module from Andy Shevchenko - Correct string length in pseries_of_derive_parent() from Nathan Fontenot - Free the MSI bitmap if it was slab allocated from Denis Kirjanov - Shorten irq_chip name for the SIU from Christophe Leroy - Wait 1s for secondaries to enter OPAL during kexec from Samuel Mendoza-Jonas - Fix _ALIGN_* errors due to type difference, from Aneesh Kumar K.V - powerpc/pseries/hvcserver: don't memset pi_buff if it is null from Colin Ian King - Disable hugepd for 64K page size, from Aneesh Kumar K.V - Differentiate between hugetlb and THP during page walk from Aneesh Kumar K.V - Make PCI non-optional for pseries from Michael Ellerman - Individual System V IPC system calls from Sam bobroff - Add selftest of unmuxed IPC calls from Michael Ellerman - discard .exit.data at runtime from Stephen Rothwell - Delete old orphaned PrPMC 280/2800 DTS and boot file, from Paul Gortmaker - Use of_get_next_parent to simplify code from Christophe Jaillet - Paginate some xmon output from Sam bobroff - Add some more elements to the xmon PACA dump from Michael Ellerman - Allow the tm-syscall selftest to build with old headers from Michael Ellerman - Run EBB selftests only on POWER8 from Denis Kirjanov - Drop CONFIG_TUNE_CELL in favour of CONFIG_CELL_CPU from Michael Ellerman - Avoid reference to potentially freed memory in prom.c from Christophe Jaillet - Quieten boot wrapper output with run_cmd from Geoff Levand - EEH fixes and cleanups from Gavin Shan - Fix recursive fenced PHB on Broadcom shiner adapter from Gavin Shan - Use of_get_next_parent() in of_get_ibm_chip_id() from Michael Ellerman - Fix section mismatch warning in msi_bitmap_alloc() from Denis Kirjanov - Fix ps3-lpm white space from Rudhresh Kumar J - Fix ps3-vuart null dereference from Colin King - nvram: Add missing kfree in error path from Christophe Jaillet - nvram: Fix function name in some errors messages, from Christophe Jaillet - drivers/macintosh: adb: fix misleading Kconfig help text from Aaro Koskinen - agp/uninorth: fix a memleak in create_gatt_table from Denis Kirjanov - cxl: Free virtual PHB when removing from Andrew Donnellan - scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target from Michael Ellerman - scripts/kconfig/Makefile: Fix KBUILD_DEFCONFIG check when building with O= from Michael Ellerman - Freescale updates from Scott: Highlights include 64-bit book3e kexec/kdump support, a rework of the qoriq clock driver, device tree changes including qoriq fman nodes, support for a new 85xx board, and some fixes. - MPC5xxx updates from Anatolij: Highlights include a driver for MPC512x LocalPlus Bus FIFO with its device tree binding documentation, mpc512x device tree updates and some minor fixes. * tag 'powerpc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (106 commits) powerpc/msi: Fix section mismatch warning in msi_bitmap_alloc() powerpc/prom: Use of_get_next_parent() in of_get_ibm_chip_id() powerpc/pseries: Correct string length in pseries_of_derive_parent() powerpc/e6500: hw tablewalk: make sure we invalidate and write to the same tlb entry powerpc/mpc85xx: Add FSL QorIQ DPAA FMan support to the SoC device tree(s) powerpc/mpc85xx: Create dts components for the FSL QorIQ DPAA FMan powerpc/fsl: Add #clock-cells and clockgen label to clockgen nodes powerpc: handle error case in cpm_muram_alloc() powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake powerpc/book3e-64: Enable kexec powerpc/book3e-64/kexec: Set "r4 = 0" when entering spinloop powerpc/booke: Only use VIRT_PHYS_OFFSET on booke32 powerpc/book3e-64/kexec: Enable SMP release powerpc/book3e-64/kexec: create an identity TLB mapping powerpc/book3e-64: Don't limit paca to 256 MiB powerpc/book3e/kdump: Enable crash_kexec_wait_realmode powerpc/book3e: support CONFIG_RELOCATABLE powerpc/booke64: Fix args to copy_and_flush powerpc/book3e-64: rename interrupt_end_book3e with __end_interrupts powerpc/e6500: kexec: Handle hardware threads ...
Diffstat (limited to 'arch/powerpc/sysdev/mpic.c')
-rw-r--r--arch/powerpc/sysdev/mpic.c23
1 files changed, 4 insertions, 19 deletions
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index cecd1156c185..2a0452e364ba 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -924,22 +924,6 @@ int mpic_set_irq_type(struct irq_data *d, unsigned int flow_type)
924 return IRQ_SET_MASK_OK_NOCOPY; 924 return IRQ_SET_MASK_OK_NOCOPY;
925} 925}
926 926
927static int mpic_irq_set_wake(struct irq_data *d, unsigned int on)
928{
929 struct irq_desc *desc = container_of(d, struct irq_desc, irq_data);
930 struct mpic *mpic = mpic_from_irq_data(d);
931
932 if (!(mpic->flags & MPIC_FSL))
933 return -ENXIO;
934
935 if (on)
936 desc->action->flags |= IRQF_NO_SUSPEND;
937 else
938 desc->action->flags &= ~IRQF_NO_SUSPEND;
939
940 return 0;
941}
942
943void mpic_set_vector(unsigned int virq, unsigned int vector) 927void mpic_set_vector(unsigned int virq, unsigned int vector)
944{ 928{
945 struct mpic *mpic = mpic_from_irq(virq); 929 struct mpic *mpic = mpic_from_irq(virq);
@@ -977,7 +961,6 @@ static struct irq_chip mpic_irq_chip = {
977 .irq_unmask = mpic_unmask_irq, 961 .irq_unmask = mpic_unmask_irq,
978 .irq_eoi = mpic_end_irq, 962 .irq_eoi = mpic_end_irq,
979 .irq_set_type = mpic_set_irq_type, 963 .irq_set_type = mpic_set_irq_type,
980 .irq_set_wake = mpic_irq_set_wake,
981}; 964};
982 965
983#ifdef CONFIG_SMP 966#ifdef CONFIG_SMP
@@ -992,7 +975,6 @@ static struct irq_chip mpic_tm_chip = {
992 .irq_mask = mpic_mask_tm, 975 .irq_mask = mpic_mask_tm,
993 .irq_unmask = mpic_unmask_tm, 976 .irq_unmask = mpic_unmask_tm,
994 .irq_eoi = mpic_end_irq, 977 .irq_eoi = mpic_end_irq,
995 .irq_set_wake = mpic_irq_set_wake,
996}; 978};
997 979
998#ifdef CONFIG_MPIC_U3_HT_IRQS 980#ifdef CONFIG_MPIC_U3_HT_IRQS
@@ -1284,8 +1266,11 @@ struct mpic * __init mpic_alloc(struct device_node *node,
1284 flags |= MPIC_NO_RESET; 1266 flags |= MPIC_NO_RESET;
1285 if (of_get_property(node, "single-cpu-affinity", NULL)) 1267 if (of_get_property(node, "single-cpu-affinity", NULL))
1286 flags |= MPIC_SINGLE_DEST_CPU; 1268 flags |= MPIC_SINGLE_DEST_CPU;
1287 if (of_device_is_compatible(node, "fsl,mpic")) 1269 if (of_device_is_compatible(node, "fsl,mpic")) {
1288 flags |= MPIC_FSL | MPIC_LARGE_VECTORS; 1270 flags |= MPIC_FSL | MPIC_LARGE_VECTORS;
1271 mpic_irq_chip.flags |= IRQCHIP_SKIP_SET_WAKE;
1272 mpic_tm_chip.flags |= IRQCHIP_SKIP_SET_WAKE;
1273 }
1289 1274
1290 mpic = kzalloc(sizeof(struct mpic), GFP_KERNEL); 1275 mpic = kzalloc(sizeof(struct mpic), GFP_KERNEL);
1291 if (mpic == NULL) 1276 if (mpic == NULL)