linux/drivers/scsi
Linus Torvalds 5c2b050848 A set of updates for the interrupt subsystem:
- Tree wide:
 
     * Make nr_irqs static to the core code and provide accessor functions
       to remove existing and prevent future aliasing problems with local
       variables or function arguments of the same name.
 
   - Core code:
 
     * Prevent freeing an interrupt in the devres code which is not managed
       by devres in the first place.
 
     * Use seq_put_decimal_ull_width() for decimal values output in
       /proc/interrupts which increases performance significantly as it
       avoids parsing the format strings over and over.
 
     * Optimize raising the timer and hrtimer soft interrupts by using the
       'set bit only' variants instead of the combined version which checks
       whether ksoftirqd should be woken up. The latter is a pointless
       exercise as both soft interrupts are raised in the context of the
       timer interrupt and therefore never wake up ksoftirqd.
 
     * Delegate timer/hrtimer soft interrupt processing to a dedicated thread
       on RT.
 
       Timer and hrtimer soft interrupts are always processed in ksoftirqd
       on RT enabled kernels. This can lead to high latencies when other
       soft interrupts are delegated to ksoftirqd as well.
 
       The separate thread allows to run them seperately under a RT
       scheduling policy to reduce the latency overhead.
 
   - Drivers:
 
     * New drivers or extensions of existing drivers to support Renesas
       RZ/V2H(P), Aspeed AST27XX, T-HEAD C900 and ATMEL sam9x7 interrupt
       chips
 
     * Support for multi-cluster GICs on MIPS.
 
       MIPS CPUs can come with multiple CPU clusters, where each CPU cluster
       has its own GIC (Generic Interrupt Controller). This requires to
       access the GIC of a remote cluster through a redirect register block.
 
       This is encapsulated into a set of helper functions to keep the
       complexity out of the actual code paths which handle the GIC details.
 
     * Support for encrypted guests in the ARM GICV3 ITS driver
 
       The ITS page needs to be shared with the hypervisor and therefore
       must be decrypted.
 
     * Small cleanups and fixes all over the place
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmc7ggcTHHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYoaf7D/9G6FgJXx/60zqnpnOr9Yx0hxjaI47x
 PFyCd3P05qyVMBYXfI99vrSKuVdMZXJ/fH5L83y+sOaTASyLTzg37igZycIDJzLI
 FnHh/m/+UA8k2aIC5VUiNAjne2RLaTZiRN15uEHFVjByC5Y+YTlCNUE4BBhg5RfQ
 hKmskeffWdtui3ou13CSNvbFn+pmqi4g6n1ysUuLhiwM2E5b1rZMprcCOnun/cGP
 IdUQsODNWTTv9eqPJez985M6A1x2SCGNv7Z73h58B9N0pBRPEC1xnhUnCJ1sA0cJ
 pnfde2C1lztEjYbwDngy0wgq0P6LINjQ5Ma2YY2F2hTMsXGJxGPDZm24/u5uR46x
 N/gsOQMXqw6f5yvbiS7Asx9WzR6ry8rJl70QRgTyozz7xxJTaiNm2HqVFe2wc+et
 Q/BzaKdhmUJj1GMZmqD2rrgwYeDcb4wWYNtwjM4PVHHxYlJVq0mEF1kLLS8YDyjf
 HuGPVqtSkt3E0+Br3FKcv5ltUQP8clXbudc6L1u98YBfNK12hW8L+c3YSvIiFoYM
 ZOAeANPM7VtQbP2Jg2q81Dd3CShImt5jqL2um+l8g7+mUE7l9gyuO/w/a5dQ57+b
 kx7mHHIW2zCeHrkZZbRUYzI2BJfMCCOVN4Ax5OZxTLnLsL9VEehy8NM8QYT4TS8R
 XmTOYW3U9XR3gw==
 =JqxC
 -----END PGP SIGNATURE-----

Merge tag 'irq-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull interrupt subsystem updates from Thomas Gleixner:
 "Tree wide:

   - Make nr_irqs static to the core code and provide accessor functions
     to remove existing and prevent future aliasing problems with local
     variables or function arguments of the same name.

  Core code:

   - Prevent freeing an interrupt in the devres code which is not
     managed by devres in the first place.

   - Use seq_put_decimal_ull_width() for decimal values output in
     /proc/interrupts which increases performance significantly as it
     avoids parsing the format strings over and over.

   - Optimize raising the timer and hrtimer soft interrupts by using the
     'set bit only' variants instead of the combined version which
     checks whether ksoftirqd should be woken up. The latter is a
     pointless exercise as both soft interrupts are raised in the
     context of the timer interrupt and therefore never wake up
     ksoftirqd.

   - Delegate timer/hrtimer soft interrupt processing to a dedicated
     thread on RT.

     Timer and hrtimer soft interrupts are always processed in ksoftirqd
     on RT enabled kernels. This can lead to high latencies when other
     soft interrupts are delegated to ksoftirqd as well.

     The separate thread allows to run them seperately under a RT
     scheduling policy to reduce the latency overhead.

  Drivers:

   - New drivers or extensions of existing drivers to support Renesas
     RZ/V2H(P), Aspeed AST27XX, T-HEAD C900 and ATMEL sam9x7 interrupt
     chips

   - Support for multi-cluster GICs on MIPS.

     MIPS CPUs can come with multiple CPU clusters, where each CPU
     cluster has its own GIC (Generic Interrupt Controller). This
     requires to access the GIC of a remote cluster through a redirect
     register block.

     This is encapsulated into a set of helper functions to keep the
     complexity out of the actual code paths which handle the GIC
     details.

   - Support for encrypted guests in the ARM GICV3 ITS driver

     The ITS page needs to be shared with the hypervisor and therefore
     must be decrypted.

   - Small cleanups and fixes all over the place"

* tag 'irq-core-2024-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (50 commits)
  irqchip/riscv-aplic: Prevent crash when MSI domain is missing
  genirq/proc: Use seq_put_decimal_ull_width() for decimal values
  softirq: Use a dedicated thread for timer wakeups on PREEMPT_RT.
  timers: Use __raise_softirq_irqoff() to raise the softirq.
  hrtimer: Use __raise_softirq_irqoff() to raise the softirq
  riscv: defconfig: Enable T-HEAD C900 ACLINT SSWI drivers
  irqchip: Add T-HEAD C900 ACLINT SSWI driver
  dt-bindings: interrupt-controller: Add T-HEAD C900 ACLINT SSWI device
  irqchip/stm32mp-exti: Use of_property_present() for non-boolean properties
  irqchip/mips-gic: Fix selection of GENERIC_IRQ_EFFECTIVE_AFF_MASK
  irqchip/mips-gic: Prevent indirect access to clusters without CPU cores
  irqchip/mips-gic: Multi-cluster support
  irqchip/mips-gic: Setup defaults in each cluster
  irqchip/mips-gic: Support multi-cluster in for_each_online_cpu_gic()
  irqchip/mips-gic: Replace open coded online CPU iterations
  genirq/irqdesc: Use str_enabled_disabled() helper in wakeup_show()
  genirq/devres: Don't free interrupt which is not managed by devres
  irqchip/gic-v3-its: Fix over allocation in itt_alloc_pool()
  irqchip/aspeed-intc: Add AST27XX INTC support
  dt-bindings: interrupt-controller: Add support for ASPEED AST27XX INTC
  ...
2024-11-19 15:54:19 -08:00
..
aacraid move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
aic7xxx Kbuild updates for v6.10 2024-05-18 12:39:20 -07:00
aic94xx Merge patch series "Add LIBSAS_SHT_BASE for libsas" 2024-03-25 16:09:36 -04:00
arcmsr scsi: arcmsr: Use PCI_IRQ_INTX instead of PCI_IRQ_LEGACY 2024-05-16 14:35:08 -05:00
arm scsi: powertec: Declare local function static 2024-06-04 22:21:50 -04:00
be2iscsi scsi: be2iscsi: Simplify an alloc_workqueue() invocation 2024-08-22 21:28:55 -04:00
bfa Many singleton patches - please see the various changelogs for details. 2024-09-21 08:20:50 -07:00
bnx2fc scsi: bnx2fc: Remove some unused fields in struct bnx2fc_rport 2024-08-28 21:33:21 -04:00
bnx2i scsi: bnx2i: Remove unused declarations 2024-08-28 20:58:47 -04:00
csiostor move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
cxgbi scsi: libcxgbi: Remove an unused field in struct cxgbi_device 2024-09-12 20:20:14 -04:00
cxlflash move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
device_handler move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
elx Merge patch series "Simplify multiple create*_workqueue() invocations" 2024-08-22 21:30:06 -04:00
esas2r scsi: esas2r: Simplify an alloc_ordered_workqueue() invocation 2024-08-22 21:28:55 -04:00
fcoe SCSI misc on 20240919 2024-09-19 11:28:51 +02:00
fnic scsi: fnic: Move flush_work initialization out of if block 2024-10-03 21:45:11 -04:00
hisi_sas scsi: hisi_sas: Remove trailing space after \n newline 2024-09-12 20:28:58 -04:00
ibmvscsi scsi: ibmvfc: Add max_sectors module parameter 2024-09-12 20:18:30 -04:00
ibmvscsi_tgt scsi: ibmvscsi_tgt: Simplify an alloc_workqueue() invocation 2024-08-22 21:28:56 -04:00
isci minmax: make generic MIN() and MAX() macros available everywhere 2024-07-28 15:49:18 -07:00
libfc move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
libsas move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
lpfc move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
megaraid move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
mpi3mr SCSI fixes on 20241019 2024-10-19 12:52:19 -07:00
mpt3sas move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
mvsas move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
pcmcia scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
pm8001 scsi: pm8001: Do not overwrite PCI queue mapping 2024-09-12 20:52:00 -04:00
qedf scsi: qedf: Remove trailing space after \n newline 2024-09-12 20:28:58 -04:00
qedi scsi: qedi: Simplify an alloc_workqueue() invocation 2024-08-22 21:28:56 -04:00
qla2xxx move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
qla4xxx scsi: Expand all create*_workqueue() invocations 2024-08-22 21:28:55 -04:00
smartpqi move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
snic Merge patch series "Simplify multiple create*_workqueue() invocations" 2024-08-22 21:30:06 -04:00
sym53c8xx_2
.gitignore
3w-9xxx.c scsi: 3w-9xxx: Remove snprintf() from sysfs call-backs and replace with sysfs_emit() 2024-01-29 20:34:52 -05:00
3w-9xxx.h
3w-sas.c scsi: 3w-sas: Remove snprintf() from sysfs call-backs and replace with sysfs_emit() 2024-01-29 20:34:52 -05:00
3w-sas.h
3w-xxxx.c scsi: 3w-xxxx: Remove snprintf() from sysfs call-backs and replace with sysfs_emit() 2024-01-29 20:34:52 -05:00
3w-xxxx.h
53c700_d.h_shipped
53c700.c scsi: 53c700: Remove snprintf() from sysfs call-backs and replace with sysfs_emit() 2024-01-29 20:34:52 -05:00
53c700.h
53c700.scr
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c scsi: a3000: Mark driver struct with __refdata to prevent section mismatch 2024-04-05 21:11:44 -04:00
a3000.h
a4000t.c scsi: a4000t: Mark driver struct with __refdata to prevent section mismatch 2024-04-05 21:11:44 -04:00
advansys.c scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
aha152x.c scsi: aha152x: Switch to irq_get_nr_irqs() 2024-10-16 21:56:58 +02:00
aha152x.h
aha1542.c scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
aha1542.h
aha1740.c scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
aha1740.h
am53c974.c
atari_scsi.c scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
atp870u.c scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
atp870u.h
BusLogic.c scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
BusLogic.h
bvme6000_scsi.c
ch.c scsi: ch: Make ch_sysfs_class constant 2024-03-10 18:15:48 -04:00
constants.c
dc395x.c
dc395x.h
dmx3191d.c
esp_scsi.c Normalise "name (ad@dr)" MODULE_AUTHORs to "name <ad@dr>" 2024-03-06 13:07:39 -08:00
esp_scsi.h
fdomain_isa.c
fdomain_pci.c
fdomain.c
fdomain.h
FlashPoint.c scsi: FlashPoint: Remove redundant assignment to pointer currTar_Info 2024-04-08 22:01:19 -04:00
g_NCR5380.c scsi: Add missing MODULE_DESCRIPTION() macros 2024-06-11 21:33:58 -04:00
gvp11.c
gvp11.h
hosts.c scsi: core: Simplify an alloc_workqueue() invocation 2024-08-22 21:28:57 -04:00
hpsa_cmd.h
hpsa.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hpsa.h
hptiop.c scsi: hptiop: Switch to using ->device_configure 2024-04-11 21:37:49 -04:00
hptiop.h
imm.c Char/Misc and other driver changes for 6.11-rc1 2024-07-19 15:55:08 -07:00
imm.h
initio.c
initio.h
ipr.c pci-v6.10-changes 2024-05-21 10:09:28 -07:00
ipr.h move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ips.c
ips.h
iscsi_boot_sysfs.c
iscsi_tcp.c block: move the stable_writes flag to queue_limits 2024-06-19 07:58:28 -06:00
iscsi_tcp.h
jazz_esp.c Normalise "name (ad@dr)" MODULE_AUTHORs to "name <ad@dr>" 2024-03-06 13:07:39 -08:00
Kconfig block: remove the blk_integrity_profile structure 2024-06-14 10:20:06 -06:00
lasi700.c
libiscsi_tcp.c
libiscsi.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
mac53c94.c powerpc/macio: Make remove callback of macio driver void returned 2024-03-07 23:06:19 +11:00
mac53c94.h
mac_esp.c
mac_scsi.c scsi: mac_scsi: Enable scatter/gather by default 2024-08-12 22:05:49 -04:00
Makefile scsi: scsi_proto: Add structures and constants related to I/O groups and streams 2024-02-26 21:37:26 -05:00
megaraid.c scsi: megaraid: Remove redundant assignment to variable 'retval' 2024-01-23 21:38:18 -05:00
megaraid.h
mesh.c powerpc updates for 6.9 2024-03-15 17:53:48 -07:00
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
mvumi.c
mvumi.h
myrb.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
myrb.h scsi: myrb: Simplify an alloc_ordered_workqueue() invocation 2024-08-22 21:28:56 -04:00
myrs.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
myrs.h scsi: myrs: Simplify an alloc_ordered_workqueue() invocation 2024-08-22 21:28:56 -04:00
ncr53c8xx.c
ncr53c8xx.h
NCR5380.c scsi: NCR5380: Clean up indentation 2024-08-12 22:05:50 -04:00
NCR5380.h scsi: NCR5380: Clean up indentation 2024-08-12 22:05:50 -04:00
nsp32_debug.c
nsp32_io.h
nsp32.c
nsp32.h
pmcraid.c SCSI misc on 20240928 2024-09-29 09:22:34 -07:00
pmcraid.h
ppa.c Char/Misc and other driver changes for 6.11-rc1 2024-07-19 15:55:08 -07:00
ppa.h
ps3rom.c
qla1280.c scsi: qla1280: Remove redundant assignment to variable 'mr' 2024-02-15 15:09:09 -05:00
qla1280.h
qlogicfas408.c
qlogicfas408.h
qlogicfas.c
qlogicpti.c Normalise "name (ad@dr)" MODULE_AUTHORs to "name <ad@dr>" 2024-03-06 13:07:39 -08:00
qlogicpti.h
raid_class.c
script_asm.pl
scsi_bsg.c
scsi_common.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
scsi_debug.c SCSI fixes on 20241030 2024-10-30 08:16:23 -10:00
scsi_debugfs.c scsi: core: Improve the code for showing commands in debugfs 2024-04-08 22:12:33 -04:00
scsi_debugfs.h
scsi_devinfo.c scsi: core: Fix an incorrect comment 2024-06-13 15:21:24 -04:00
scsi_dh.c
scsi_error.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
scsi_ioctl.c
scsi_lib_dma.c
scsi_lib_test.c scsi: core: Add kunit tests for scsi_check_passthrough() 2024-01-29 21:20:55 -05:00
scsi_lib.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
scsi_logging.c
scsi_logging.h
scsi_netlink.c
scsi_pm.c
scsi_priv.h SCSI misc on 20240316 2024-03-16 16:31:12 -07:00
scsi_proc.c
scsi_proto_test.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
scsi_sas_internal.h
scsi_scan.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
scsi_sysctl.c
scsi_sysfs.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
scsi_trace.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
scsi_transport_api.h
scsi_transport_fc.c scsi: scsi_transport_fc: Allow setting rport state to current state 2024-10-03 22:01:34 -04:00
scsi_transport_iscsi.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
scsi_transport_sas.c scsi: mpi3mr: Fix ATA NCQ priority support 2024-06-11 21:40:23 -04:00
scsi_transport_spi.c scsi: spi: Have midlayer retry spi_execute() UAs 2024-01-29 21:20:53 -05:00
scsi_transport_srp.c
scsi.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
scsicam.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
sd_dif.c block: move integrity information into queue_limits 2024-06-14 10:20:07 -06:00
sd_trace.h
sd_zbc.c for-6.13/block-20241118 2024-11-18 16:50:08 -08:00
sd.c block: remove the write_hint field from struct request 2024-11-12 14:42:02 -07:00
sd.h scsi: sd: Atomic write support 2024-06-20 15:19:17 -06:00
sense_codes.h
ses.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
sg.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
sgiwd93.c
sim710.c
sni_53c710.c
sr_ioctl.c minmax: scsi: fix mis-use of 'clamp()' in sr.c 2024-07-28 17:06:20 -07:00
sr_vendor.c
sr.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
sr.h scsi: sr: Fix unintentional arithmetic wraparound 2024-05-15 10:05:24 -04:00
st_options.h
st.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
st.h
stex.c scsi: stex: Simplify an alloc_ordered_workqueue() invocation 2024-08-22 21:28:57 -04:00
storvsc_drv.c scsi: storvsc: Fix ring buffer size calculation 2024-01-23 21:27:28 -05:00
sun3_scsi_vme.c
sun3_scsi.c scsi: NCR5380: Clean up indentation 2024-08-12 22:05:50 -04:00
sun3x_esp.c Normalise "name (ad@dr)" MODULE_AUTHORs to "name <ad@dr>" 2024-03-06 13:07:39 -08:00
sun_esp.c Normalise "name (ad@dr)" MODULE_AUTHORs to "name <ad@dr>" 2024-03-06 13:07:39 -08:00
virtio_scsi.c virtio: rename virtio_find_vqs_info() to virtio_find_vqs() 2024-07-17 05:20:58 -04:00
vmw_pvscsi.c scsi: Expand all create*_workqueue() invocations 2024-08-22 21:28:55 -04:00
vmw_pvscsi.h
wd33c93.c scsi: wd33c93: Don't use stale scsi_pointer value 2024-10-03 21:48:08 -04:00
wd33c93.h
wd719x.c
wd719x.h
xen-scsifront.c
zalon.c scsi: zalon: Remove trailing space after \n newline 2024-09-12 20:25:43 -04:00
zorro7xx.c
zorro_esp.c