1
0
Fork 0
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-01-22 07:53:11 -05:00
linux/drivers
Linus Torvalds 4c551165e7 Updates for the interrupt subsystem:
- Consolidation of the machine_kexec_mask_interrupts() by providing a
     generic implementation and replacing the copy & pasta orgy in the
     relevant architectures.
 
   - Prevent unconditional operations on interrupt chips during kexec
     shutdown, which can trigger warnings in certain cases when the
     underlying interrupt has been shut down before.
 
   - Make the enforcement of interrupt handling in interrupt context
     unconditionally available, so that it actually works for non x86
     related interrupt chips. The earlier enablement for ARM GIC chips set
     the required chip flag, but did not notice that the check was hidden
     behind a config switch which is not selected by ARM[64].
 
   - Decrapify the handling of deferred interrupt affinity setting. Some
     interrupt chips require that affinity changes are made from the context
     of handling an interrupt to avoid certain race conditions. For x86 this
     was the default, but with interrupt remapping this requirement was
     lifted and a flag was introduced which tells the core code that
     affinity changes can be done in any context. Unrestricted affinity
     changes are the default for the majority of interrupt chips. RISCV has
     the requirement to add the deferred mode to one of it's interrupt
     controllers, but with the original implementation this would require to
     add the any context flag to all other RISC-V interrupt chips. That's
     backwards, so reverse the logic and require that chips, which need the
     deferred mode have to be marked accordingly. That avoids chasing the
     'sane' chips and marking them.
 
   - Add multi-node support to the Loongarch AVEC interrupt controller
     driver.
 
   - The usual tiny cleanups, fixes and improvements all over the place.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmePkVITHHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYoRbQD/9bHVph/V9Ekl7JAX3aY4gG4JbRhOc7
 dp1VAcHRhktRfoTztYRbjsbMu2nvZ58GKA8bkOS2jHSF/m3PbkIJfOhwk0YdIAoa
 +kdy5yDgqCGfkqW43DN4Cr+CnzGjWMitw67tFp3fhwehMDpDjdt2L28IjtanSS0f
 hO6FV7o65MWeJwxk4Isb2/nvkO+X23Lrp6RrWS8SXBnF9FFXxiPIg/fiOPTizhCh
 1W/bSGxLLb9WwsVzmlGAKVFlXDij0QGaIUug2fdVZ63OsELXD7tJrLSPG133yk92
 ppIa0s6BT4IBsfM00us4hG15PkLuJmP3yWWcoquG0rP8Wq58VOXiN6+rcJIyvB+5
 mWceTH6IKfZGoRQKwXC7BxeBAIb147reiJtb06meq1/8ADIvzafiNy0c8x9i/UaV
 QiyhPVENjaGCGDomZmJQqN7Yb02Wge1k8InQnodDrHxZNl/bX/B1Z8Bxd0n6hPHg
 NSJXYif2AxgaddpohsdygqRDbT6SNyQdj7YjJFY5qAGJ3yFyJ4JB6WTqkWW4o1vH
 3FVqdAnJmejAmmYSkah0Hkem2T5QASQmTWb93PLxiV6q+d0NM8stWAujjyVdIV/B
 W4Uj9mQ20cz54TjLtxqX+A1k6KcqOWRgh1l2QbUlFsgsOP3V8yz47yqYdR9qMWlO
 9kNEjI3sw+G/IQ==
 =q4rj
 -----END PGP SIGNATURE-----

Merge tag 'irq-core-2025-01-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull interrupt subsystem updates from Thomas Gleixner:

 - Consolidate the machine_kexec_mask_interrupts() by providing a
   generic implementation and replacing the copy & pasta orgy in the
   relevant architectures.

 - Prevent unconditional operations on interrupt chips during kexec
   shutdown, which can trigger warnings in certain cases when the
   underlying interrupt has been shut down before.

 - Make the enforcement of interrupt handling in interrupt context
   unconditionally available, so that it actually works for non x86
   related interrupt chips. The earlier enablement for ARM GIC chips set
   the required chip flag, but did not notice that the check was hidden
   behind a config switch which is not selected by ARM[64].

 - Decrapify the handling of deferred interrupt affinity setting.

   Some interrupt chips require that affinity changes are made from the
   context of handling an interrupt to avoid certain race conditions.
   For x86 this was the default, but with interrupt remapping this
   requirement was lifted and a flag was introduced which tells the core
   code that affinity changes can be done in any context. Unrestricted
   affinity changes are the default for the majority of interrupt chips.

   RISCV has the requirement to add the deferred mode to one of it's
   interrupt controllers, but with the original implementation this
   would require to add the any context flag to all other RISC-V
   interrupt chips. That's backwards, so reverse the logic and require
   that chips, which need the deferred mode have to be marked
   accordingly. That avoids chasing the 'sane' chips and marking them.

 - Add multi-node support to the Loongarch AVEC interrupt controller
   driver.

 - The usual tiny cleanups, fixes and improvements all over the place.

* tag 'irq-core-2025-01-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  genirq/generic_chip: Export irq_gc_mask_disable_and_ack_set()
  genirq/timings: Add kernel-doc for a function parameter
  genirq: Remove IRQ_MOVE_PCNTXT and related code
  x86/apic: Convert to IRQCHIP_MOVE_DEFERRED
  genirq: Provide IRQCHIP_MOVE_DEFERRED
  hexagon: Remove GENERIC_PENDING_IRQ leftover
  ARC: Remove GENERIC_PENDING_IRQ
  genirq: Remove handle_enforce_irqctx() wrapper
  genirq: Make handle_enforce_irqctx() unconditionally available
  irqchip/loongarch-avec: Add multi-nodes topology support
  irqchip/ts4800: Replace seq_printf() by seq_puts()
  irqchip/ti-sci-inta : Add module build support
  irqchip/ti-sci-intr: Add module build support
  irqchip/irq-brcmstb-l2: Replace brcmstb_l2_mask_and_ack() by generic function
  irqchip: keystone: Use syscon_regmap_lookup_by_phandle_args
  genirq/kexec: Prevent redundant IRQ masking by checking state before shutdown
  kexec: Consolidate machine_kexec_mask_interrupts() implementation
  genirq: Reuse irq_thread_fn() for forced thread case
  genirq: Move irq_thread_fn() further up in the code
2025-01-21 13:51:07 -08:00
..
accel
accessibility
acpi - Remove the less generic CPU matching infra around struct x86_cpu_desc and 2025-01-21 09:30:59 -08:00
amba
android
ata
atm
auxdisplay
base
bcma
block for-6.14/block-20250118 2025-01-20 19:38:46 -08:00
bluetooth
bus
cache
cdrom for-6.14/block-20250118 2025-01-20 19:38:46 -08:00
cdx
char
clk
clocksource
comedi
connector
counter
cpufreq cpufreq: Move endif to the end of Kconfig file 2025-01-14 20:54:04 +01:00
cpuidle cpuidle: teo: Update documentation after previous changes 2025-01-13 20:46:27 +01:00
crypto kernel-6.14-rc1.cred 2025-01-20 10:13:06 -08:00
cxl
dax
dca
devfreq
dio
dma - Remove the less generic CPU matching infra around struct x86_cpu_desc and 2025-01-21 09:30:59 -08:00
dma-buf
dpll
edac - The first part of a restructuring of AMD's representation of a northbridge 2025-01-21 09:38:52 -08:00
eisa
extcon
firewire
firmware
fpga
fsi
gnss
gpio gpio: xilinx: Convert gpio_lock to raw spinlock 2025-01-14 14:04:38 +01:00
gpu drm fixes for 6.13-rc8 2025-01-16 19:49:26 -08:00
greybus
hid
hsi
hte
hv
hwmon - The first part of a restructuring of AMD's representation of a northbridge 2025-01-21 09:38:52 -08:00
hwspinlock
hwtracing
i2c i2c: testunit: on errors, repeat NACK until STOP 2025-01-15 19:44:21 +01:00
i3c
idle
iio
infiniband
input
interconnect
iommu Updates for the interrupt subsystem: 2025-01-21 13:51:07 -08:00
ipack
irqchip Updates for the interrupt subsystem: 2025-01-21 13:51:07 -08:00
isdn
leds
macintosh powerpc updates for 6.14 2025-01-20 21:40:19 -08:00
mailbox
mcb
md for-6.14/block-20250118 2025-01-20 19:38:46 -08:00
media
memory
memstick
message
mfd
misc powerpc updates for 6.14 2025-01-20 21:40:19 -08:00
mmc for-6.14/block-20250118 2025-01-20 19:38:46 -08:00
most
mtd for-6.14/block-20250118 2025-01-20 19:38:46 -08:00
mux
net net/mlx5e: Always start IPsec sequence number from 1 2025-01-16 12:45:47 +01:00
nfc
ntb
nubus
nvdimm
nvme for-6.14/io_uring-20250119 2025-01-20 20:27:33 -08:00
nvmem
of Devicetree fixes for 6.13, part 2: 2025-01-17 15:01:24 -08:00
opp
parisc
parport
pci Updates for the interrupt subsystem: 2025-01-21 13:51:07 -08:00
pcmcia
peci
perf arm64 updates for 6.14 2025-01-20 21:21:49 -08:00
phy
pinctrl
platform - The first part of a restructuring of AMD's representation of a northbridge 2025-01-21 09:38:52 -08:00
pmdomain pmdomain: imx8mp-blk-ctrl: add missing loop break condition 2025-01-16 16:10:32 +01:00
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset Reset controller fixes for v6.13 2025-01-15 14:58:22 +01:00
rpmsg
rtc
s390 s390 updates for 6.14 merge window 2025-01-20 21:14:49 -08:00
sbus
scsi powerpc updates for 6.14 2025-01-20 21:40:19 -08:00
sh
siox
slimbus
soc
soundwire
spi
spmi
ssb
staging
target
tc
tee
thermal
thunderbolt
tty
ufs for-6.14/block-20250118 2025-01-20 19:38:46 -08:00
uio
usb for-6.14/block-20250118 2025-01-20 19:38:46 -08:00
vdpa
vfio
vhost
video
virt - A segmented Reverse Map table (RMP) is a across-nodes distributed 2025-01-21 09:00:31 -08:00
virtio
w1
watchdog
xen Updates for the interrupt subsystem: 2025-01-21 13:51:07 -08:00
zorro
Kconfig
Makefile