forked from gregkh/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/lin…
…ux/kernel/git/tip/tip Pull irq updates from Thomas Gleixner: "The irq department delivers: - Expand the generic infrastructure handling the irq migration on CPU hotplug and convert X86 over to it. (Thomas Gleixner) Aside of consolidating code this is a preparatory change for: - Finalizing the affinity management for multi-queue devices. The main change here is to shut down interrupts which are affine to a outgoing CPU and reenabling them when the CPU comes online again. That avoids moving interrupts pointlessly around and breaking and reestablishing affinities for no value. (Christoph Hellwig) Note: This contains also the BLOCK-MQ and NVME changes which depend on the rework of the irq core infrastructure. Jens acked them and agreed that they should go with the irq changes. - Consolidation of irq domain code (Marc Zyngier) - State tracking consolidation in the core code (Jeffy Chen) - Add debug infrastructure for hierarchical irq domains (Thomas Gleixner) - Infrastructure enhancement for managing generic interrupt chips via devmem (Bartosz Golaszewski) - Constification work all over the place (Tobias Klauser) - Two new interrupt controller drivers for MVEBU (Thomas Petazzoni) - The usual set of fixes, updates and enhancements all over the place" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (112 commits) irqchip/or1k-pic: Fix interrupt acknowledgement irqchip/irq-mvebu-gicp: Allocate enough memory for spi_bitmap irqchip/gic-v3: Fix out-of-bound access in gic_set_affinity nvme: Allocate queues for all possible CPUs blk-mq: Create hctx for each present CPU blk-mq: Include all present CPUs in the default queue mapping genirq: Avoid unnecessary low level irq function calls genirq: Set irq masked state when initializing irq_desc genirq/timings: Add infrastructure for estimating the next interrupt arrival time genirq/timings: Add infrastructure to track the interrupt timings genirq/debugfs: Remove pointless NULL pointer check irqchip/gic-v3-its: Don't assume GICv3 hardware supports 16bit INTID irqchip/gic-v3-its: Add ACPI NUMA node mapping irqchip/gic-v3-its-platform-msi: Make of_device_ids const irqchip/gic-v3-its: Make of_device_ids const irqchip/irq-mvebu-icu: Add new driver for Marvell ICU irqchip/irq-mvebu-gicp: Add new driver for Marvell GICP dt-bindings/interrupt-controller: Add DT binding for the Marvell ICU genirq/irqdomain: Remove auto-recursive hierarchy support irqchip/MSI: Use irq_domain_update_bus_token instead of an open coded access ...
- Loading branch information
Showing
86 changed files
with
3,342 additions
and
709 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
25 changes: 25 additions & 0 deletions
25
Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2400-i2c-ic.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
Device tree configuration for the I2C Interrupt Controller on the AST24XX and | ||
AST25XX SoCs. | ||
|
||
Required Properties: | ||
- #address-cells : should be 1 | ||
- #size-cells : should be 1 | ||
- #interrupt-cells : should be 1 | ||
- compatible : should be "aspeed,ast2400-i2c-ic" | ||
or "aspeed,ast2500-i2c-ic" | ||
- reg : address start and range of controller | ||
- interrupts : interrupt number | ||
- interrupt-controller : denotes that the controller receives and fires | ||
new interrupts for child busses | ||
|
||
Example: | ||
|
||
i2c_ic: interrupt-controller@0 { | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
#interrupt-cells = <1>; | ||
compatible = "aspeed,ast2400-i2c-ic"; | ||
reg = <0x0 0x40>; | ||
interrupts = <12>; | ||
interrupt-controller; | ||
}; |
9 changes: 5 additions & 4 deletions
9
Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2400-vic.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
27 changes: 27 additions & 0 deletions
27
Documentation/devicetree/bindings/interrupt-controller/marvell,gicp.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
Marvell GICP Controller | ||
----------------------- | ||
|
||
GICP is a Marvell extension of the GIC that allows to trigger GIC SPI | ||
interrupts by doing a memory transaction. It is used by the ICU | ||
located in the Marvell CP110 to turn wired interrupts inside the CP | ||
into GIC SPI interrupts. | ||
|
||
Required properties: | ||
|
||
- compatible: Must be "marvell,ap806-gicp" | ||
|
||
- reg: Must be the address and size of the GICP SPI registers | ||
|
||
- marvell,spi-ranges: tuples of GIC SPI interrupts ranges available | ||
for this GICP | ||
|
||
- msi-controller: indicates that this is an MSI controller | ||
|
||
Example: | ||
|
||
gicp_spi: gicp-spi@3f0040 { | ||
compatible = "marvell,ap806-gicp"; | ||
reg = <0x3f0040 0x10>; | ||
marvell,spi-ranges = <64 64>, <288 64>; | ||
msi-controller; | ||
}; |
51 changes: 51 additions & 0 deletions
51
Documentation/devicetree/bindings/interrupt-controller/marvell,icu.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
Marvell ICU Interrupt Controller | ||
-------------------------------- | ||
|
||
The Marvell ICU (Interrupt Consolidation Unit) controller is | ||
responsible for collecting all wired-interrupt sources in the CP and | ||
communicating them to the GIC in the AP, the unit translates interrupt | ||
requests on input wires to MSG memory mapped transactions to the GIC. | ||
|
||
Required properties: | ||
|
||
- compatible: Should be "marvell,cp110-icu" | ||
|
||
- reg: Should contain ICU registers location and length. | ||
|
||
- #interrupt-cells: Specifies the number of cells needed to encode an | ||
interrupt source. The value shall be 3. | ||
|
||
The 1st cell is the group type of the ICU interrupt. Possible group | ||
types are: | ||
|
||
ICU_GRP_NSR (0x0) : Shared peripheral interrupt, non-secure | ||
ICU_GRP_SR (0x1) : Shared peripheral interrupt, secure | ||
ICU_GRP_SEI (0x4) : System error interrupt | ||
ICU_GRP_REI (0x5) : RAM error interrupt | ||
|
||
The 2nd cell is the index of the interrupt in the ICU unit. | ||
|
||
The 3rd cell is the type of the interrupt. See arm,gic.txt for | ||
details. | ||
|
||
- interrupt-controller: Identifies the node as an interrupt | ||
controller. | ||
|
||
- msi-parent: Should point to the GICP controller, the GIC extension | ||
that allows to trigger interrupts using MSG memory mapped | ||
transactions. | ||
|
||
Example: | ||
|
||
icu: interrupt-controller@1e0000 { | ||
compatible = "marvell,cp110-icu"; | ||
reg = <0x1e0000 0x10>; | ||
#interrupt-cells = <3>; | ||
interrupt-controller; | ||
msi-parent = <&gicp>; | ||
}; | ||
|
||
usb3h0: usb3@500000 { | ||
interrupt-parent = <&icu>; | ||
interrupts = <ICU_GRP_NSR 106 IRQ_TYPE_LEVEL_HIGH>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.