mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
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
...
This commit is contained in:
commit
17e6b00ac4
161 changed files with 2211 additions and 852 deletions
|
|
@ -610,9 +610,9 @@ register_intr (unsigned int gsi, int irq, unsigned char delivery,
|
|||
chip->name, irq_type->name);
|
||||
chip = irq_type;
|
||||
}
|
||||
__irq_set_chip_handler_name_locked(irq, chip, trigger == IOSAPIC_EDGE ?
|
||||
handle_edge_irq : handle_level_irq,
|
||||
NULL);
|
||||
irq_set_chip_handler_name_locked(irq_get_irq_data(irq), chip,
|
||||
trigger == IOSAPIC_EDGE ? handle_edge_irq : handle_level_irq,
|
||||
NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -838,7 +838,7 @@ iosapic_unregister_intr (unsigned int gsi)
|
|||
if (iosapic_intr_info[irq].count == 0) {
|
||||
#ifdef CONFIG_SMP
|
||||
/* Clear affinity */
|
||||
cpumask_setall(irq_get_irq_data(irq)->affinity);
|
||||
cpumask_setall(irq_get_affinity_mask(irq));
|
||||
#endif
|
||||
/* Clear the interrupt information */
|
||||
iosapic_intr_info[irq].dest = 0;
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ static char irq_redir [NR_IRQS]; // = { [0 ... NR_IRQS-1] = 1 };
|
|||
void set_irq_affinity_info (unsigned int irq, int hwid, int redir)
|
||||
{
|
||||
if (irq < NR_IRQS) {
|
||||
cpumask_copy(irq_get_irq_data(irq)->affinity,
|
||||
cpumask_copy(irq_get_affinity_mask(irq),
|
||||
cpumask_of(cpu_logical_id(hwid)));
|
||||
irq_redir[irq] = (char) (redir & 0xff);
|
||||
}
|
||||
|
|
@ -119,8 +119,8 @@ static void migrate_irqs(void)
|
|||
if (irqd_is_per_cpu(data))
|
||||
continue;
|
||||
|
||||
if (cpumask_any_and(data->affinity, cpu_online_mask)
|
||||
>= nr_cpu_ids) {
|
||||
if (cpumask_any_and(irq_data_get_affinity_mask(data),
|
||||
cpu_online_mask) >= nr_cpu_ids) {
|
||||
/*
|
||||
* Save it for phase 2 processing
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ static int ia64_set_msi_irq_affinity(struct irq_data *idata,
|
|||
if (irq_prepare_move(irq, cpu))
|
||||
return -1;
|
||||
|
||||
__get_cached_msi_msg(idata->msi_desc, &msg);
|
||||
__get_cached_msi_msg(irq_data_get_msi_desc(idata), &msg);
|
||||
|
||||
addr = msg.address_lo;
|
||||
addr &= MSI_ADDR_DEST_ID_MASK;
|
||||
|
|
@ -36,7 +36,7 @@ static int ia64_set_msi_irq_affinity(struct irq_data *idata,
|
|||
msg.data = data;
|
||||
|
||||
pci_write_msi_msg(irq, &msg);
|
||||
cpumask_copy(idata->affinity, cpumask_of(cpu));
|
||||
cpumask_copy(irq_data_get_affinity_mask(idata), cpumask_of(cpu));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -148,7 +148,7 @@ static int dmar_msi_set_affinity(struct irq_data *data,
|
|||
msg.address_lo |= MSI_ADDR_DEST_ID_CPU(cpu_physical_id(cpu));
|
||||
|
||||
dmar_msi_write(irq, &msg);
|
||||
cpumask_copy(data->affinity, mask);
|
||||
cpumask_copy(irq_data_get_affinity_mask(data), mask);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ static int sn_set_msi_irq_affinity(struct irq_data *data,
|
|||
* Release XIO resources for the old MSI PCI address
|
||||
*/
|
||||
|
||||
__get_cached_msi_msg(data->msi_desc, &msg);
|
||||
__get_cached_msi_msg(irq_data_get_msi_desc(data), &msg);
|
||||
sn_pdev = (struct pcidev_info *)sn_irq_info->irq_pciioinfo;
|
||||
pdev = sn_pdev->pdi_linux_pcidev;
|
||||
provider = SN_PCIDEV_BUSPROVIDER(pdev);
|
||||
|
|
@ -206,7 +206,7 @@ static int sn_set_msi_irq_affinity(struct irq_data *data,
|
|||
msg.address_lo = (u32)(bus_addr & 0x00000000ffffffff);
|
||||
|
||||
pci_write_msi_msg(irq, &msg);
|
||||
cpumask_copy(data->affinity, cpu_mask);
|
||||
cpumask_copy(irq_data_get_affinity_mask(data), cpu_mask);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue