summaryrefslogtreecommitdiffstats
path: root/arch/ia64
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-09-01 17:33:35 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-09-01 17:33:35 -0400
commit17e6b00ac422b49d44a0b8d98402a211f726282d (patch)
treec7e9143030d20625a0bd94e12ddaf9421890c375 /arch/ia64
parent5e359bf2219d8622eb0931701e45af55db323228 (diff)
parente324c4dc4a5991d5b1171f434884a4026345e4b4 (diff)
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq updates from Thomas Gleixner: "This updated pull request does not contain the last few GIC related patches which were reported to cause a regression. There is a fix available, but I let it breed for a couple of days first. The irq departement provides: - new infrastructure to support non PCI based MSI interrupts - a couple of new irq chip drivers - the usual pile of fixlets and updates to irq chip drivers - preparatory changes for removal of the irq argument from interrupt flow handlers - preparatory changes to remove IRQF_VALID" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (129 commits) irqchip/imx-gpcv2: IMX GPCv2 driver for wakeup sources irqchip: Add bcm2836 interrupt controller for Raspberry Pi 2 irqchip: Add documentation for the bcm2836 interrupt controller irqchip/bcm2835: Add support for being used as a second level controller irqchip/bcm2835: Refactor handle_IRQ() calls out of MAKE_HWIRQ PCI: xilinx: Fix typo in function name irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance irqchip/gic: Only allow the primary GIC to set the CPU map PCI/MSI: pci-xgene-msi: Consolidate chained IRQ handler install/remove unicore32/irq: Prepare puv3_gpio_handler for irq argument removal tile/pci_gx: Prepare trio_handle_level_irq for irq argument removal m68k/irq: Prepare irq handlers for irq argument removal C6X/megamode-pic: Prepare megamod_irq_cascade for irq argument removal blackfin: Prepare irq handlers for irq argument removal arc/irq: Prepare idu_cascade_isr for irq argument removal sparc/irq: Use access helper irq_data_get_affinity_mask() sparc/irq: Use helper irq_data_get_irq_handler_data() parisc/irq: Use access helper irq_data_get_affinity_mask() mn10300/irq: Use access helper irq_data_get_affinity_mask() irqchip/i8259: Prepare i8259_irq_dispatch for irq argument removal ...
Diffstat (limited to 'arch/ia64')
-rw-r--r--arch/ia64/kernel/iosapic.c8
-rw-r--r--arch/ia64/kernel/irq.c6
-rw-r--r--arch/ia64/kernel/msi_ia64.c6
-rw-r--r--arch/ia64/sn/kernel/msi_sn.c4
4 files changed, 12 insertions, 12 deletions
diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c
index bc9501e36e77..d2fae054d988 100644
--- a/arch/ia64/kernel/iosapic.c
+++ b/arch/ia64/kernel/iosapic.c
@@ -610,9 +610,9 @@ register_intr (unsigned int gsi, int irq, unsigned char delivery,
610 chip->name, irq_type->name); 610 chip->name, irq_type->name);
611 chip = irq_type; 611 chip = irq_type;
612 } 612 }
613 __irq_set_chip_handler_name_locked(irq, chip, trigger == IOSAPIC_EDGE ? 613 irq_set_chip_handler_name_locked(irq_get_irq_data(irq), chip,
614 handle_edge_irq : handle_level_irq, 614 trigger == IOSAPIC_EDGE ? handle_edge_irq : handle_level_irq,
615 NULL); 615 NULL);
616 return 0; 616 return 0;
617} 617}
618 618
@@ -838,7 +838,7 @@ iosapic_unregister_intr (unsigned int gsi)
838 if (iosapic_intr_info[irq].count == 0) { 838 if (iosapic_intr_info[irq].count == 0) {
839#ifdef CONFIG_SMP 839#ifdef CONFIG_SMP
840 /* Clear affinity */ 840 /* Clear affinity */
841 cpumask_setall(irq_get_irq_data(irq)->affinity); 841 cpumask_setall(irq_get_affinity_mask(irq));
842#endif 842#endif
843 /* Clear the interrupt information */ 843 /* Clear the interrupt information */
844 iosapic_intr_info[irq].dest = 0; 844 iosapic_intr_info[irq].dest = 0;
diff --git a/arch/ia64/kernel/irq.c b/arch/ia64/kernel/irq.c
index 812a1e6b3179..de4fc00dea98 100644
--- a/arch/ia64/kernel/irq.c
+++ b/arch/ia64/kernel/irq.c
@@ -67,7 +67,7 @@ static char irq_redir [NR_IRQS]; // = { [0 ... NR_IRQS-1] = 1 };
67void set_irq_affinity_info (unsigned int irq, int hwid, int redir) 67void set_irq_affinity_info (unsigned int irq, int hwid, int redir)
68{ 68{
69 if (irq < NR_IRQS) { 69 if (irq < NR_IRQS) {
70 cpumask_copy(irq_get_irq_data(irq)->affinity, 70 cpumask_copy(irq_get_affinity_mask(irq),
71 cpumask_of(cpu_logical_id(hwid))); 71 cpumask_of(cpu_logical_id(hwid)));
72 irq_redir[irq] = (char) (redir & 0xff); 72 irq_redir[irq] = (char) (redir & 0xff);
73 } 73 }
@@ -119,8 +119,8 @@ static void migrate_irqs(void)
119 if (irqd_is_per_cpu(data)) 119 if (irqd_is_per_cpu(data))
120 continue; 120 continue;
121 121
122 if (cpumask_any_and(data->affinity, cpu_online_mask) 122 if (cpumask_any_and(irq_data_get_affinity_mask(data),
123 >= nr_cpu_ids) { 123 cpu_online_mask) >= nr_cpu_ids) {
124 /* 124 /*
125 * Save it for phase 2 processing 125 * Save it for phase 2 processing
126 */ 126 */
diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c
index d70bf15c690a..af4eaec0f7c3 100644
--- a/arch/ia64/kernel/msi_ia64.c
+++ b/arch/ia64/kernel/msi_ia64.c
@@ -23,7 +23,7 @@ static int ia64_set_msi_irq_affinity(struct irq_data *idata,
23 if (irq_prepare_move(irq, cpu)) 23 if (irq_prepare_move(irq, cpu))
24 return -1; 24 return -1;
25 25
26 __get_cached_msi_msg(idata->msi_desc, &msg); 26 __get_cached_msi_msg(irq_data_get_msi_desc(idata), &msg);
27 27
28 addr = msg.address_lo; 28 addr = msg.address_lo;
29 addr &= MSI_ADDR_DEST_ID_MASK; 29 addr &= MSI_ADDR_DEST_ID_MASK;
@@ -36,7 +36,7 @@ static int ia64_set_msi_irq_affinity(struct irq_data *idata,
36 msg.data = data; 36 msg.data = data;
37 37
38 pci_write_msi_msg(irq, &msg); 38 pci_write_msi_msg(irq, &msg);
39 cpumask_copy(idata->affinity, cpumask_of(cpu)); 39 cpumask_copy(irq_data_get_affinity_mask(idata), cpumask_of(cpu));
40 40
41 return 0; 41 return 0;
42} 42}
@@ -148,7 +148,7 @@ static int dmar_msi_set_affinity(struct irq_data *data,
148 msg.address_lo |= MSI_ADDR_DEST_ID_CPU(cpu_physical_id(cpu)); 148 msg.address_lo |= MSI_ADDR_DEST_ID_CPU(cpu_physical_id(cpu));
149 149
150 dmar_msi_write(irq, &msg); 150 dmar_msi_write(irq, &msg);
151 cpumask_copy(data->affinity, mask); 151 cpumask_copy(irq_data_get_affinity_mask(data), mask);
152 152
153 return 0; 153 return 0;
154} 154}
diff --git a/arch/ia64/sn/kernel/msi_sn.c b/arch/ia64/sn/kernel/msi_sn.c
index a0eb27b66d13..fb25065b22c6 100644
--- a/arch/ia64/sn/kernel/msi_sn.c
+++ b/arch/ia64/sn/kernel/msi_sn.c
@@ -175,7 +175,7 @@ static int sn_set_msi_irq_affinity(struct irq_data *data,
175 * Release XIO resources for the old MSI PCI address 175 * Release XIO resources for the old MSI PCI address
176 */ 176 */
177 177
178 __get_cached_msi_msg(data->msi_desc, &msg); 178 __get_cached_msi_msg(irq_data_get_msi_desc(data), &msg);
179 sn_pdev = (struct pcidev_info *)sn_irq_info->irq_pciioinfo; 179 sn_pdev = (struct pcidev_info *)sn_irq_info->irq_pciioinfo;
180 pdev = sn_pdev->pdi_linux_pcidev; 180 pdev = sn_pdev->pdi_linux_pcidev;
181 provider = SN_PCIDEV_BUSPROVIDER(pdev); 181 provider = SN_PCIDEV_BUSPROVIDER(pdev);
@@ -206,7 +206,7 @@ static int sn_set_msi_irq_affinity(struct irq_data *data,
206 msg.address_lo = (u32)(bus_addr & 0x00000000ffffffff); 206 msg.address_lo = (u32)(bus_addr & 0x00000000ffffffff);
207 207
208 pci_write_msi_msg(irq, &msg); 208 pci_write_msi_msg(irq, &msg);
209 cpumask_copy(data->affinity, cpu_mask); 209 cpumask_copy(irq_data_get_affinity_mask(data), cpu_mask);
210 210
211 return 0; 211 return 0;
212} 212}