1. 23 Jul, 2024 38 commits
  2. 22 Jul, 2024 2 commits
    • Linus Torvalds's avatar
      Merge tag 'irq-msi-2024-07-22' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 66ebbdfd
      Linus Torvalds authored
      Pull MSI interrupt updates from Thomas Gleixner:
       "Switch ARM/ARM64 over to the modern per device MSI domains.
      
        This simplifies the handling of platform MSI and wire to MSI
        controllers and removes about 500 lines of legacy code.
      
        Aside of that it paves the way for ARM/ARM64 to utilize the dynamic
        allocation of PCI/MSI interrupts and to support the upcoming non
        standard IMS (Interrupt Message Store) mechanism on PCIe devices"
      
      * tag 'irq-msi-2024-07-22' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits)
        irqchip/gic-v3-its: Correctly fish out the DID for platform MSI
        irqchip/gic-v3-its: Correctly honor the RID remapping
        genirq/msi: Move msi_device_data to core
        genirq/msi: Remove platform MSI leftovers
        irqchip/irq-mvebu-icu: Remove platform MSI leftovers
        irqchip/irq-mvebu-sei: Switch to MSI parent
        irqchip/mvebu-odmi: Switch to parent MSI
        irqchip/mvebu-gicp: Switch to MSI parent
        irqchip/irq-mvebu-icu: Prepare for real per device MSI
        irqchip/imx-mu-msi: Switch to MSI parent
        irqchip/gic-v2m: Switch to device MSI
        irqchip/gic_v3_mbi: Switch over to parent domain
        genirq/msi: Remove platform_msi_create_device_domain()
        irqchip/mbigen: Remove platform_msi_create_device_domain() fallback
        irqchip/gic-v3-its: Switch platform MSI to MSI parent
        irqchip/irq-msi-lib: Prepare for DOMAIN_BUS_WIRED_TO_MSI
        irqchip/mbigen: Prepare for real per device MSI
        irqchip/irq-msi-lib: Prepare for DEVICE MSI to replace platform MSI
        irqchip/gic-v3-its: Provide MSI parent for PCI/MSI[-X]
        irqchip/irq-msi-lib: Prepare for PCI MSI/MSIX
        ...
      66ebbdfd
    • Linus Torvalds's avatar
      Merge tag 'irq-core-2024-07-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ac7473a1
      Linus Torvalds authored
      Pull interrupt subsystem updates from Thomas Gleixner:
       "Core:
      
         - Provide a new mechanism to create interrupt domains. The existing
           interfaces have already too many parameters and it's a pain to
           expand any of this for new required functionality.
      
           The new function takes a pointer to a data structure as argument.
           The data structure combines all existing parameters and allows for
           easy extension.
      
           The first extension for this is to handle the instantiation of
           generic interrupt chips at the core level and to allow drivers to
           provide extra init/exit callbacks.
      
           This is necessary to do the full interrupt chip initialization
           before the new domain is published, so that concurrent usage sites
           won't see a half initialized interrupt domain. Similar problems
           exist on teardown.
      
           This has turned out to be a real problem due to the deferred and
           parallel probing which was added in recent years.
      
           Handling this at the core level allows to remove quite some accrued
           boilerplate code in existing drivers and avoids horrible
           workarounds at the driver level.
      
         - The usual small improvements all over the place
      
        Drivers:
      
         - Add support for LAN966x OIC and RZ/Five SoC
      
         - Split the STM ExtI driver into a microcontroller and a SMP version
           to allow building the latter as a module for multi-platform
           kernels
      
         - Enable MSI support for Armada 370XP on platforms which do not
           support IPIs
      
         - The usual small fixes and enhancements all over the place"
      
      * tag 'irq-core-2024-07-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (59 commits)
        irqdomain: Fix the kernel-doc and plug it into Documentation
        genirq: Set IRQF_COND_ONESHOT in request_irq()
        irqchip/imx-irqsteer: Handle runtime power management correctly
        irqchip/gic-v3: Pass #redistributor-regions to gic_of_setup_kvm_info()
        irqchip/bcm2835: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND
        irqchip/gic-v4: Make sure a VPE is locked when VMAPP is issued
        irqchip/gic-v4: Substitute vmovp_lock for a per-VM lock
        irqchip/gic-v4: Always configure affinity on VPE activation
        Revert "irqchip/dw-apb-ictl: Support building as module"
        Revert "Loongarch: Support loongarch avec"
        arm64: Kconfig: Allow build irq-stm32mp-exti driver as module
        ARM: stm32: Allow build irq-stm32mp-exti driver as module
        irqchip/stm32mp-exti: Allow building as module
        irqchip/stm32mp-exti: Rename internal symbols
        irqchip/stm32-exti: Split MCU and MPU code
        arm64: Kconfig: Select STM32MP_EXTI on STM32 platforms
        ARM: stm32: Use different EXTI driver on ARMv7m and ARMv7a
        irqchip/stm32-exti: Add CONFIG_STM32MP_EXTI
        irqchip/dw-apb-ictl: Support building as module
        irqchip/riscv-aplic: Simplify the initialization code
        ...
      ac7473a1