From: Thomas Gleixner <tglx@linutronix.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Ingo Molnar <mingo@kernel.org>, "H. Peter Anvin" <hpa@zytor.com>
Subject: [GIT pull] irq updates for 4.13
Date: Mon, 3 Jul 2017 09:42:55 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.20.1707030923220.2188@nanos> (raw)
Linus,
please pull the latest irq-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq-core-for-linus
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.
Thanks,
tglx
------------------>
Andrew Jeffery (1):
irqchip/aspeed-vic: Add AST2500 compatible string
Arvind Yadav (2):
irqchip/gic-v3-its: Make of_device_ids const
irqchip/gic-v3-its-platform-msi: Make of_device_ids const
Bartosz Golaszewski (5):
irq/generic-chip: Provide irq_free_generic_chip()
irq/generic-chip: Provide irq_destroy_generic_chip()
irq/generic-chip: Export irq_init_generic_chip() locally
irq/generic-chip: Provide devm_irq_alloc_generic_chip()
irq/generic-chip: Provide devm_irq_setup_generic_chip()
Brendan Higgins (2):
irqchip/aspeed-i2c-ic: Add binding docs for Aspeed I2C Interrupt Controller
irqchip/aspeed-i2c-ic: Add I2C IRQ controller for Aspeed
Chen-Yu Tsai (6):
irqchip/sunxi-nmi: Convert magic numbers to defines
irqchip/sunxi-nmi: Document interrupt disabling and clearing at probe time
irqchip/sunxi-nmi: Reorder sunxi_sc_nmi_reg_offs' in ascending order
irqchip/sunxi-nmi: Const-ify sunxi_sc_nmi_reg_offs structures
dt-bindings/interrupt-controller: sunxi-nmi: Add compatible for A31 R_INTC
irqchip/sunxi-nmi: Support sun6i-a31-r-intc compatible
Christoph Hellwig (5):
genirq: Move pending helpers to internal.h
genirq/affinity: Assign vectors to all present CPUs
blk-mq: Include all present CPUs in the default queue mapping
blk-mq: Create hctx for each present CPU
nvme: Allocate queues for all possible CPUs
Dan Carpenter (1):
irqchip/irq-mvebu-gicp: Allocate enough memory for spi_bitmap
Daniel Lezcano (2):
genirq/timings: Add infrastructure to track the interrupt timings
genirq/timings: Add infrastructure for estimating the next interrupt arrival time
Ganapatrao Kulkarni (1):
irqchip/gic-v3-its: Add ACPI NUMA node mapping
Jeffy Chen (2):
genirq: Set irq masked state when initializing irq_desc
genirq: Avoid unnecessary low level irq function calls
MaJun (1):
irqchip/gicv3-its: Skip irq affinity setting when target cpu is the same as current setting
Marc Zyngier (7):
irqdomain: Let irq_domain_mapping display hierarchical domains
irqdomain: Let irq_domain_mapping display ACPI fwnode attributes
genirq/msi: Populate the domain name if provided by the irqchip
Documentation: Update IRQ-domain.txt to document irq_domain_mapping
genirq/irqdomain: Add irq_domain_update_bus_token helper
irqchip/MSI: Use irq_domain_update_bus_token instead of an open coded access
genirq/irqdomain: Remove auto-recursive hierarchy support
Pedro H. Penna (1):
irqchip/or1k-pic: Fix interrupt acknowledgement
Robin Murphy (1):
irqchip/gic-v3-its: Fix MSI alias accounting
Shanker Donthineni (1):
irqchip/gic-v3-its: Don't assume GICv3 hardware supports 16bit INTID
Suzuki K Poulose (1):
irqchip/gic-v3: Fix out-of-bound access in gic_set_affinity
Thomas Gleixner (56):
genirq: Handle NOAUTOEN interrupt setup proper
genirq: Warn when IRQ_NOAUTOEN is used with shared interrupts
x86/apic: Add name to irq chip
iommu/amd: Add name to irq chip
iommu/vt-d: Add name to irq chip
genirq/msi: Prevent overwriting domain name
genirq: Allow fwnode to carry name information only
x86/vector: Create named irq domain
x86/ioapic: Create named irq domain
x86/htirq: Create named domain
x86/uv: Create named irq domain
x86/msi: Provide new iommu irqdomain interface
iommu/vt-d: Use named irq domain interface
iommu/amd: Use named irq domain interface
x86/msi: Remove unused remap irq domain interface
x86/msi: Create named irq domains
PCI/vmd: Create named irq domain
genirq/irqdomain: Add map counter
genirq/debugfs: Add proper debugfs interface
genirq: Add missing comment for IRQD_STARTED
genirq: Provide irq_fixup_move_pending()
x86/irq: Cleanup pending irq move in fixup_irqs()
genirq: Remove mask argument from setup_affinity()
genirq: Rename setup_affinity() to irq_setup_affinity()
genirq: Move initial affinity setup to irq_startup()
genirq/cpuhotplug: Remove irq disabling logic
genirq/cpuhotplug: Dont claim success on error
genirq/cpuhotplug: Reorder check logic
genirq/cpuhotplug: Do not migrated shutdown irqs
genirq/cpuhotplug: Add support for cleaning up move in progress
genirq/cpuhotplug: Add support for conditional masking
genirq/cpuhotplug: Set force affinity flag on hotplug migration
x86/irq: Restructure fixup_irqs()
x86/irq: Use irq_migrate_all_off_this_cpu()
genirq: Move irq_fixup_move_pending() to core
genirq: Remove pointless arg from show_irq_affinity
genirq: Remove pointless gfp argument
genirq/proc: Replace ever repeating type cast
genirq: Introduce effective affinity mask
genirq/cpuhotplug: Use effective affinity mask
x86/apic: Move flat_cpu_mask_to_apicid_and() into C source
x86/uv: Use default_cpu_mask_to_apicid_and()
x86/apic: Move online masking to core code
x86/apic: Move cpumask and to core code
x86/apic: Add irq_data argument to apic->cpu_mask_to_apicid()
xen/events: Add support for effective affinity mask
x86/apic: Implement effective irq mask update
genirq: Introduce IRQD_MANAGED_SHUTDOWN
genirq: Split out irq_startup() code
genirq: Add force argument to irq_startup()
genirq: Handle managed irqs gracefully in irq_startup()
genirq/cpuhotplug: Handle managed IRQs on CPU hotplug
genirq: Introduce IRQD_SINGLE_TARGET flag
genirq/cpuhotplug: Avoid irq affinity setting for single targets
x86/apic: Mark single target interrupts
genirq/debugfs: Remove pointless NULL pointer check
Thomas Petazzoni (8):
irqchip/armada-370-xp: Re-order register definitions
irqchip/armada-370-xp: Document the overall driver logic
irqchip/armada-370-xp: Re-enable per-CPU interrupts at resume time
Revert "irqchip/armada-370-xp: Fix regression by clearing IRQ_NOAUTOEN"
dt-bindings/interrupt-controller: Add DT binding for the Marvell GICP
dt-bindings/interrupt-controller: Add DT binding for the Marvell ICU
irqchip/irq-mvebu-gicp: Add new driver for Marvell GICP
irqchip/irq-mvebu-icu: Add new driver for Marvell ICU
Tobias Klauser (7):
irqchip/i8259: Constify irq_domain_ops
irqchip/irq-imx-gpcv2: Constify irq_domain_ops
irqchip/irq-mbigen: Constify irq_domain_ops
irqchip/irq-mips-gic: Constify irq_domain_ops
irqchip/irq-renesas-h8300h: Constify irq_domain_ops
irqchip/irq-renesas-h8s: Constify irq_domain_ops
irqchip/aspeed-vic: Constify irq_domain_ops
Vincent Legoll (1):
genirq: Make early_irq_init() print out more informative
Wei Yongjun (1):
irqchip/qcom: Use builtin_platform_driver to simplify the code
Patch omitted for size reasons
Documentation/IRQ-domain.txt | 41 ++-
.../interrupt-controller/allwinner,sunxi-nmi.txt | 7 +-
.../interrupt-controller/aspeed,ast2400-i2c-ic.txt | 25 ++
.../interrupt-controller/aspeed,ast2400-vic.txt | 9 +-
.../bindings/interrupt-controller/marvell,gicp.txt | 27 ++
.../bindings/interrupt-controller/marvell,icu.txt | 51 +++
Documentation/driver-model/devres.txt | 2 +
arch/x86/Kconfig | 2 +
arch/x86/include/asm/apic.h | 36 +-
arch/x86/include/asm/irq.h | 1 -
arch/x86/include/asm/irq_remapping.h | 3 +-
arch/x86/kernel/apic/apic.c | 35 +-
arch/x86/kernel/apic/apic_flat_64.c | 4 +-
arch/x86/kernel/apic/apic_noop.c | 2 +-
arch/x86/kernel/apic/apic_numachip.c | 4 +-
arch/x86/kernel/apic/bigsmp_32.c | 2 +-
arch/x86/kernel/apic/htirq.c | 21 +-
arch/x86/kernel/apic/io_apic.c | 22 +-
arch/x86/kernel/apic/msi.c | 55 ++-
arch/x86/kernel/apic/probe_32.c | 2 +-
arch/x86/kernel/apic/vector.c | 49 ++-
arch/x86/kernel/apic/x2apic_cluster.c | 36 +-
arch/x86/kernel/apic/x2apic_phys.c | 2 +-
arch/x86/kernel/apic/x2apic_uv_x.c | 26 +-
arch/x86/kernel/irq.c | 78 +----
arch/x86/platform/uv/uv_irq.c | 18 +-
arch/x86/xen/apic.c | 2 +-
block/blk-mq-cpumap.c | 5 +-
block/blk-mq.c | 120 +------
block/blk-mq.h | 5 -
drivers/base/platform-msi.c | 2 +-
drivers/iommu/amd_iommu.c | 22 +-
drivers/iommu/intel_irq_remapping.c | 31 +-
drivers/irqchip/Kconfig | 6 +
drivers/irqchip/Makefile | 4 +-
drivers/irqchip/irq-armada-370-xp.c | 148 ++++++++-
drivers/irqchip/irq-aspeed-i2c-ic.c | 115 +++++++
drivers/irqchip/irq-aspeed-vic.c | 5 +-
drivers/irqchip/irq-gic-v2m.c | 2 +-
drivers/irqchip/irq-gic-v3-its-pci-msi.c | 35 +-
drivers/irqchip/irq-gic-v3-its-platform-msi.c | 2 +-
drivers/irqchip/irq-gic-v3-its.c | 113 +++++--
drivers/irqchip/irq-gic-v3.c | 3 +
drivers/irqchip/irq-i8259.c | 2 +-
drivers/irqchip/irq-imx-gpcv2.c | 2 +-
drivers/irqchip/irq-mbigen.c | 2 +-
drivers/irqchip/irq-mips-cpu.c | 2 +-
drivers/irqchip/irq-mips-gic.c | 4 +-
drivers/irqchip/irq-mvebu-gicp.c | 279 ++++++++++++++++
drivers/irqchip/irq-mvebu-gicp.h | 11 +
drivers/irqchip/irq-mvebu-icu.c | 289 ++++++++++++++++
drivers/irqchip/irq-or1k-pic.c | 2 +-
drivers/irqchip/irq-renesas-h8300h.c | 2 +-
drivers/irqchip/irq-renesas-h8s.c | 2 +-
drivers/irqchip/irq-sunxi-nmi.c | 68 +++-
drivers/irqchip/qcom-irq-combiner.c | 7 +-
drivers/nvme/host/pci.c | 2 +-
drivers/pci/host/vmd.c | 8 +-
drivers/pci/msi.c | 2 +-
drivers/staging/fsl-mc/bus/fsl-mc-msi.c | 2 +-
drivers/xen/events/events_base.c | 6 +-
.../dt-bindings/interrupt-controller/mvebu-icu.h | 15 +
include/linux/cpuhotplug.h | 2 +-
include/linux/interrupt.h | 6 +
include/linux/irq.h | 89 +++++
include/linux/irqdesc.h | 4 +
include/linux/irqdomain.h | 43 ++-
kernel/cpu.c | 5 +
kernel/irq/Kconfig | 18 +
kernel/irq/Makefile | 2 +
kernel/irq/affinity.c | 76 ++++-
kernel/irq/autoprobe.c | 4 +-
kernel/irq/chip.c | 195 ++++++++---
kernel/irq/cpuhotplug.c | 150 +++++++--
kernel/irq/debugfs.c | 213 ++++++++++++
kernel/irq/devres.c | 86 +++++
kernel/irq/generic-chip.c | 7 +-
kernel/irq/handle.c | 2 +
kernel/irq/internals.h | 225 ++++++++++++-
kernel/irq/irqdesc.c | 36 +-
kernel/irq/irqdomain.c | 359 +++++++++++++++-----
kernel/irq/manage.c | 119 +++----
kernel/irq/migration.c | 30 ++
kernel/irq/msi.c | 13 +-
kernel/irq/proc.c | 110 +++++-
kernel/irq/timings.c | 369 +++++++++++++++++++++
86 files changed, 3342 insertions(+), 708 deletions(-)
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2400-i2c-ic.txt
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/marvell,gicp.txt
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/marvell,icu.txt
create mode 100644 drivers/irqchip/irq-aspeed-i2c-ic.c
create mode 100644 drivers/irqchip/irq-mvebu-gicp.c
create mode 100644 drivers/irqchip/irq-mvebu-gicp.h
create mode 100644 drivers/irqchip/irq-mvebu-icu.c
create mode 100644 include/dt-bindings/interrupt-controller/mvebu-icu.h
create mode 100644 kernel/irq/debugfs.c
create mode 100644 kernel/irq/timings.c
next reply other threads:[~2017-07-03 7:42 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-03 7:42 Thomas Gleixner [this message]
2017-07-04 0:00 ` Linus Torvalds
2017-07-04 8:12 ` Thomas Gleixner
2017-07-04 10:29 ` Thomas Gleixner
2017-07-04 15:17 ` Jens Axboe
2017-07-04 18:34 ` Linus Torvalds
2017-07-04 19:10 ` Thomas Gleixner
2017-07-04 20:48 ` Max Gurtovoy
2017-07-06 13:58 ` Max Gurtovoy
2017-07-04 21:56 ` Jens Axboe
2017-07-05 15:14 ` Christoph Hellwig
2017-07-09 8:49 Thomas Gleixner
2017-07-10 13:35 ` Sebastian Reichel
2017-07-10 17:01 ` Linus Torvalds
2017-07-10 19:38 ` Pavel Machek
2017-07-10 20:15 ` Sebastian Reichel
2017-07-10 21:29 ` Linus Torvalds
2017-07-11 6:55 ` Thomas Gleixner
2017-07-11 9:26 ` Sebastian Reichel
2017-07-11 9:55 ` Thomas Gleixner
2017-07-11 10:52 ` Thomas Gleixner
2017-07-11 11:21 ` Sebastian Reichel
2017-07-11 13:27 ` Thomas Gleixner
2017-07-11 13:51 ` Marc Zyngier
2017-07-11 14:39 ` Sebastian Reichel
2017-07-11 9:47 ` Thomas Gleixner
2017-07-11 13:51 ` Tony Lindgren
2017-07-11 14:41 ` Thomas Gleixner
2017-07-11 15:07 ` Thomas Gleixner
2017-07-11 15:43 ` Tony Lindgren
2017-07-11 15:39 ` Grygorii Strashko
2017-07-11 16:17 ` Tony Lindgren
2017-07-12 8:00 ` Geert Uytterhoeven
2017-07-11 15:40 ` Linus Torvalds
2017-07-11 16:14 ` Sebastian Reichel
2017-07-11 16:15 ` Tony Lindgren
2017-07-11 17:17 ` Thomas Gleixner
2017-07-11 17:39 ` Tony Lindgren
2017-07-11 16:19 ` Thomas Gleixner
2017-07-11 16:31 ` Linus Torvalds
2017-07-11 17:52 ` Thomas Gleixner
2017-07-11 18:16 ` Linus Torvalds
2017-07-11 21:30 ` Sebastian Reichel
2017-07-11 21:41 ` Thomas Gleixner
2017-07-11 22:04 ` Linus Torvalds
2017-07-11 22:51 ` Sebastian Reichel
2017-07-12 5:29 ` Tony Lindgren
2017-07-15 20:24 ` Pavel Machek
2017-07-17 6:21 ` Tony Lindgren
2017-07-17 20:01 ` Linus Torvalds
2017-07-17 21:33 ` Pavel Machek
2017-07-11 16:34 ` Tony Lindgren
2017-07-11 14:41 ` Sebastian Reichel
2017-07-11 16:20 ` Tony Lindgren
2017-07-11 16:34 ` Sebastian Reichel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.20.1707030923220.2188@nanos \
--to=tglx@linutronix.de \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®