History

Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull IRQ chip updates from Ingo Molnar: "A late irqchips update: - New TI INTR/INTA set of drivers - Rewrite of the stm32mp1-exti driver as a platform driver - Update the IOMMU MSI mapping API to be RT friendly - A number of cleanups and other low impact fixes" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (34 commits) iommu/dma-iommu: Remove iommu_dma_map_msi_msg() irqchip/gic-v3-mbi: Don't map the MSI page in mbi_compose_m{b, s}i_msg() irqchip/ls-scfg-msi: Don't map the MSI page in ls_scfg_msi_compose_msg() irqchip/gic-v3-its: Don't map the MSI page in its_irq_compose_msi_msg() irqchip/gicv2m: Don't map the MSI page in gicv2m_compose_msi_msg() iommu/dma-iommu: Split iommu_dma_map_msi_msg() in two parts genirq/msi: Add a new field in msi_desc to store an IOMMU cookie arm64: arch_k3: Enable interrupt controller drivers irqchip/ti-sci-inta: Add msi domain support soc: ti: Add MSI domain bus support for Interrupt Aggregator irqchip/ti-sci-inta: Add support for Interrupt Aggregator driver dt-bindings: irqchip: Introduce TISCI Interrupt Aggregator bindings irqchip/ti-sci-intr: Add support for Interrupt Router driver dt-bindings: irqchip: Introduce TISCI Interrupt router bindings gpio: thunderx: Use the default parent apis for {request,release}_resources genirq: Introduce irq_chip_{request,release}_resource_parent() apis firmware: ti_sci: Add helper apis to manage resources firmware: ti_sci: Add RM mapping table for am654 firmware: ti_sci: Add support for IRQ management firmware: ti_sci: Add support for RM core ops ...

Linus Torvalds committed 7 years ago

Commit d9351ea2 parents 39feaa3 fb4e05938 files · +2511 −229Browse files

Showing the changes to kernel (3 of 38 files). Show all

Unified · Split

3 files
  1. kernel/irq/Kconfig +3 −0
  2. kernel/irq/chip.c +27 −0
  3. kernel/irq/irqdomain.c +1 −1
kernel/irq/Kconfig+3−0
@@ -91,6 +91,9 @@ config GENERIC_MSI_IRQ_DOMAIN · 90 unmodified lines
9191 select IRQ_DOMAIN_HIERARCHY
9292 select GENERIC_MSI_IRQ
9393
94+config IRQ_MSI_IOMMU
95+ bool
96+
9497 config HANDLE_DOMAIN_IRQ
9598 bool
9699
kernel/irq/chip.c+27−0
@@ -1459,6 +1459,33 @@ int irq_chip_set_wake_parent(struct irq_data *data, unsigned int on) · 1458 unmodified lines
14591459 return -ENOSYS;
14601460 }
14611461 EXPORT_SYMBOL_GPL(irq_chip_set_wake_parent);
1462+
1463+/**
1464+ * irq_chip_request_resources_parent - Request resources on the parent interrupt
1465+ * @data: Pointer to interrupt specific data
1466+ */
1467+int irq_chip_request_resources_parent(struct irq_data *data)
1468+{
1469+ data = data->parent_data;
1470+
1471+ if (data->chip->irq_request_resources)
1472+ return data->chip->irq_request_resources(data);
1473+
1474+ return -ENOSYS;
1475+}
1476+EXPORT_SYMBOL_GPL(irq_chip_request_resources_parent);
1477+
1478+/**
1479+ * irq_chip_release_resources_parent - Release resources on the parent interrupt
1480+ * @data: Pointer to interrupt specific data
1481+ */
1482+void irq_chip_release_resources_parent(struct irq_data *data)
1483+{
1484+ data = data->parent_data;
1485+ if (data->chip->irq_release_resources)
1486+ data->chip->irq_release_resources(data);
1487+}
1488+EXPORT_SYMBOL_GPL(irq_chip_release_resources_parent);
14621489 #endif
14631490
14641491 /**
kernel/irq/irqdomain.c+1−1
@@ -1297,7 +1297,7 @@ int irq_domain_alloc_irqs_hierarchy(struct irq_domain *domain, · 1296 unmodified lines
12971297 /**
12981298 * __irq_domain_alloc_irqs - Allocate IRQs from domain
12991299 * @domain: domain to allocate from
1300− * @irq_base: allocate specified IRQ nubmer if irq_base >= 0
1300+ * @irq_base: allocate specified IRQ number if irq_base >= 0
13011301 * @nr_irqs: number of IRQs to allocate
13021302 * @node: NUMA node id for memory allocation
13031303 * @arg: domain specific argument