Updates to the usual drivers (ufs, mpi3mr, mpt3sas, lpfc, fnic, hisi_sas, arcmsr, ) plus the usual assorted minor fixes and updates. This time around there's only a single line update to the core, so nothing major and barely anything minor. The patch is available here: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-misc The short changelog is: Abhinav Singh (1): scsi: dc395x: Fix warning using plain integer as NULL Akinobu Mita (1): scsi: ufs: core: Make fault injection dynamically configurable per HBA Arnd Bergmann (1): scsi: mpi3mr: Fix printk() format strings Artem Chernyshev (2): scsi: isci: Remove redundant check in isci_task_request_build() scsi: fnic: Return error if vmalloc() failed Bao D. Nguyen (1): scsi: ufs: ufs-qcom: Add support for UFS device version detection Bart Van Assche (5): scsi: ufs: core: Simplify ufshcd_auto_hibern8_update() scsi: ufs: core: Rename ufshcd_auto_hibern8_enable() and make it static scsi: ufs: core: Warn if the request tag is truncated scsi: core: Add a precondition check in scsi_eh_scmd_add() scsi: bfa: Use the proper data type for BLIST flags Bean Huo (3): scsi: ufs: core: Add sysfs node for UFS RTC update scsi: ufs: core: Add UFS RTC support scsi: ufs: core: Add ufshcd_is_ufs_dev_busy() Benjamin Coddington (1): scsi: target: Enable READ CAPACITY for PR EARO Can Guo (8): scsi: ufs: ufs-qcom: Check return value of phy_set_mode_ext() scsi: ufs: ufs-qcom: Set initial PHY gear to max HS gear for HW ver 4 and newer scsi: ufs: ufs-qcom: Limit HS-G5 Rate-A to hosts with HW version 5 scsi: ufs: ufs-qcom: Allow the first init start with the maximum supported gear scsi: ufs: ufs-qcom: Setup host power mode during init scsi: ufs: ufs-qcom: No need to set hs_rate after ufshcd_init_host_param() scsi: ufs: host: Rename structure ufs_dev_params to ufs_host_params scsi: ufs: ufs-sysfs: Expose UFS power info Chandrakanth patil (8): scsi: mpi3mr: Update driver version to 8.5.1.0.0 scsi: mpi3mr: Support for preallocation of SGL BSG data buffers part-3 scsi: mpi3mr: Support for preallocation of SGL BSG data buffers part-2 scsi: mpi3mr: Support for preallocation of SGL BSG data buffers part-1 scsi: mpi3mr: Fetch correct device dev handle for status reply descriptor scsi: mpi3mr: Block PEL Enable Command on Controller Reset and Unrecoverable State scsi: mpi3mr: Clean up block devices post controller reset scsi: mpi3mr: Refresh sdev queue depth after controller reset Hannes Reinecke (3): scsi: libfc: Map FC_TIMED_OUT to DID_TIME_OUT scsi: libfc: Fix up timeout error in fc_fcp_rec_error() scsi: libfc: Don't schedule abort twice James Seo (12): scsi: mpt3sas: Replace dynamic allocations with local variables scsi: mpt3sas: Replace a dynamic allocation with a local variable scsi: mpt3sas: Fix typo of "TRIGGER" scsi: mpt3sas: Fix an outdated comment scsi: mpt3sas: Remove the iounit_pg8 member of the per-adapter struct scsi: mpt3sas: Use struct_size() for struct size calculations scsi: mpt3sas: Make MPI26_CONFIG_PAGE_PIOUNIT_1::PhyData[] a flexible array scsi: mpt3sas: Make MPI2_CONFIG_PAGE_SASIOUNIT_1::PhyData[] a flexible array scsi: mpt3sas: Make MPI2_CONFIG_PAGE_SASIOUNIT_0::PhyData[] a flexible array scsi: mpt3sas: Make MPI2_CONFIG_PAGE_RAID_VOL_0::PhysDisk[] a flexible array scsi: mpt3sas: Make MPI2_CONFIG_PAGE_IO_UNIT_8::Sensor[] a flexible array scsi: mpt3sas: Use flexible arrays when obviously possible Justin Stitt (8): scsi: fcoe: Use sysfs_match_string() over fcoe_parse_mode() scsi: ibmvscsi: Replace deprecated strncpy() with strscpy() scsi: ibmvfc: Replace deprecated strncpy() with strscpy() scsi: elx: libefc: Replace deprecated strncpy() with strscpy_pad()/memcpy() scsi: csiostor: Replace deprecated strncpy() with strscpy() scsi: ch: Replace deprecated strncpy() with strscpy() scsi: bnx2fc: Replace deprecated strncpy() with strscpy() scsi: 3w-sas: Replace deprecated strncpy() with strscpy() Justin Tee (13): scsi: lpfc: Update lpfc version to 14.2.0.17 scsi: lpfc: Move determination of vmid_flag after VMID reinitialization completes scsi: lpfc: Reinitialize an NPIV's VMID data structures after FDISC scsi: lpfc: Change VMID driver load time parameters to read only scsi: lpfc: Copyright updates for 14.2.0.16 patches scsi: lpfc: Update lpfc version to 14.2.0.16 scsi: lpfc: Enhance driver logging for selected discovery events scsi: lpfc: Refactor and clean up mailbox command memory free scsi: lpfc: Return early in lpfc_poll_eratt() when the driver is unloading scsi: lpfc: Eliminate unnecessary relocking in lpfc_check_nlp_post_devloss() scsi: lpfc: Fix list_entry null check warning in lpfc_cmpl_els_plogi() scsi: lpfc: Fix possible file string name overflow when updating firmware scsi: lpfc: Correct maximum PCI function value for RAS fw logging Karan Tilak Kumar (13): scsi: fnic: Increment driver version scsi: fnic: Improve logs and add support for multiqueue (MQ) scsi: fnic: Add support for multiqueue (MQ) in fnic driver scsi: fnic: Add support for multiqueue (MQ) in fnic_main.c scsi: fnic: Remove usage of host_lock scsi: fnic: Define stats to track multiqueue (MQ) IOs scsi: fnic: Modify ISRs to support multiqueue (MQ) scsi: fnic: Refactor and redefine fnic.h for multiqueue scsi: fnic: Get copy workqueue count and interrupt mode from config scsi: fnic: Rename wq_copy to hw_copy_wq scsi: fnic: Add and improve log messages scsi: fnic: Add and use fnic number scsi: fnic: Modify definitions to sync with VIC firmware Kees Cook (1): scsi: zfcp: Replace strlcpy() with strscpy() Manivannan Sadhasivam (18): scsi: ufs: qcom: Fix ESI vector mask scsi: ufs: qcom: Remove unused definitions scsi: ufs: qcom: Use ufshcd_rmwl() where applicable scsi: ufs: qcom: Remove support for host controllers older than v2.0 scsi: ufs: qcom: Simplify ufs_qcom_{assert/deassert}_reset scsi: ufs: qcom: Initialize cycles_in_1us variable in ufs_qcom_set_core_clk_ctrl() scsi: ufs: qcom: Sort includes alphabetically scsi: ufs: qcom: Remove unused ufs_qcom_hosts struct array scsi: ufs: qcom: Use dev_err_probe() to simplify error handling of devm_gpiod_get_optional() scsi: ufs: qcom: Remove redundant error print for devm_kzalloc() failure scsi: ufs: qcom: Check the return value of ufs_qcom_power_up_sequence() scsi: ufs: qcom: Fail ufs_qcom_power_up_sequence() when core_reset fails scsi: ufs: qcom: Export ufshcd_{enable/disable}_irq helpers and make use of them scsi: ufs: qcom: Remove the warning message when core_reset is not available scsi: ufs: qcom: Remove superfluous variable assignments scsi: ufs: qcom: Fix the return value when platform_get_resource_byname() fails scsi: ufs: qcom: Fix the return value of ufs_qcom_ice_program_key() scsi: ufs: qcom: Use clk_bulk APIs for managing lane clocks Martin K. Petersen (1): scsi: ufs: host: Fix kernel-doc warning Michael Ellerman (1): scsi: ipr: Remove obsolete check for old CPUs Nitin Rawat (1): scsi: ufs: qcom: dt-bindings: Add SC7280 compatible string Stanley Jhu (1): scsi: ufs: mediatek: Change the maintainer for MediaTek UFS hooks Su Hui (3): scsi: aic7xxx: Return negative error codes in aic7770_probe() scsi: aic7xxx: Return ahc_linux_register_host()'s value rather than zero scsi: aic7xxx: Return negative error codes in ahc_linux_register_host() Sumit Saxena (5): scsi: mpi3mr: driver version upgrade to 8.5.0.0.50 scsi: mpi3mr: Add support for status reply descriptor scsi: mpi3mr: Increase maximum number of PHYs to 64 from 32 scsi: mpi3mr: Add PCI checks where SAS5116 diverges from SAS4116 scsi: mpi3mr: Add support for SAS5116 PCI IDs Tomas Henzl (1): scsi: mpt3sas: Suppress a warning in debug kernel Uwe Kleine-König (14): scsi: sun_esp: Convert to platform remove callback returning void scsi: sun3x_esp: Convert to platform remove callback returning void scsi: sun3: Convert to platform remove callback returning void scsi: sni_53c710: Convert to platform remove callback returning void scsi: sgiwd93: Convert to platform remove callback returning void scsi: qlogicpti: Convert to platform remove callback returning void scsi: mvme16x: Convert to platform remove callback returning void scsi: mac: Convert to platform remove callback returning void scsi: mac_esp: Convert to platform remove callback returning void scsi: jazz_esp: Convert to platform remove callback returning void scsi: bvme6000: Convert to platform remove callback returning void scsi: atari: Convert to platform remove callback returning void scsi: a4000t: Convert to platform remove callback returning void scsi: a3000: Convert to platform remove callback returning void Yihang Li (5): scsi: hisi_sas: Correct the number of global debugfs registers scsi: hisi_sas: Rollback some operations if FLR failed scsi: hisi_sas: Check before using pointer variables scsi: hisi_sas: Replace with standard error code return value scsi: hisi_sas: Set .phy_attached before notifing phyup event HISI_PHYE_PHY_UP_PM Ziqi Chen (1): scsi: ufs: dt-bindings: Add msi-parent for UFS MCQ ching Huang (3): scsi: arcmsr: Update driver version to v1.51.00.14-20230915 scsi: arcmsr: Support new PCI device IDs 1883 and 1886 scsi: arcmsr: Support new RAID controller ARC-1688 And the diffstat: Documentation/ABI/testing/sysfs-driver-ufs | 56 ++ .../devicetree/bindings/ufs/qcom,ufs.yaml | 2 + .../devicetree/bindings/ufs/ufs-common.yaml | 2 + MAINTAINERS | 3 +- drivers/s390/scsi/zfcp_fc.c | 15 +- drivers/scsi/3w-sas.c | 3 +- drivers/scsi/a3000.c | 5 +- drivers/scsi/a4000t.c | 5 +- drivers/scsi/aic7xxx/aic7770_osm.c | 6 +- drivers/scsi/aic7xxx/aic7xxx_osm.c | 2 +- drivers/scsi/aic7xxx/aic7xxx_osm_pci.c | 3 +- drivers/scsi/arcmsr/arcmsr.h | 29 +- drivers/scsi/arcmsr/arcmsr_hba.c | 96 ++- drivers/scsi/atari_scsi.c | 5 +- drivers/scsi/bfa/bfad_bsg.c | 2 +- drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 14 +- drivers/scsi/bvme6000_scsi.c | 6 +- drivers/scsi/ch.c | 12 +- drivers/scsi/csiostor/csio_init.c | 3 +- drivers/scsi/dc395x.c | 2 +- drivers/scsi/elx/libefc/efc_node.h | 12 +- drivers/scsi/fcoe/fcoe_sysfs.c | 26 +- drivers/scsi/fnic/fnic.h | 68 +- drivers/scsi/fnic/fnic_debugfs.c | 3 +- drivers/scsi/fnic/fnic_fcs.c | 63 +- drivers/scsi/fnic/fnic_isr.c | 168 ++-- drivers/scsi/fnic/fnic_main.c | 144 ++-- drivers/scsi/fnic/fnic_res.c | 48 +- drivers/scsi/fnic/fnic_scsi.c | 868 ++++++++++++--------- drivers/scsi/fnic/fnic_stats.h | 3 + drivers/scsi/fnic/fnic_trace.c | 11 + drivers/scsi/fnic/vnic_dev.c | 4 + drivers/scsi/fnic/vnic_scsi.h | 13 +- drivers/scsi/hisi_sas/hisi_sas_main.c | 11 +- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 19 +- drivers/scsi/ibmvscsi/ibmvfc.c | 12 +- drivers/scsi/ibmvscsi/ibmvscsi.c | 2 +- drivers/scsi/ipr.c | 55 -- drivers/scsi/isci/request.c | 5 +- drivers/scsi/isci/request.h | 2 +- drivers/scsi/isci/task.c | 4 +- drivers/scsi/jazz_esp.c | 6 +- drivers/scsi/libfc/fc_fcp.c | 22 +- drivers/scsi/lpfc/lpfc.h | 1 + drivers/scsi/lpfc/lpfc_attr.c | 12 +- drivers/scsi/lpfc/lpfc_els.c | 67 +- drivers/scsi/lpfc/lpfc_hbadisc.c | 2 +- drivers/scsi/lpfc/lpfc_init.c | 4 +- drivers/scsi/lpfc/lpfc_mbox.c | 6 +- drivers/scsi/lpfc/lpfc_mem.c | 47 +- drivers/scsi/lpfc/lpfc_sli.c | 20 +- drivers/scsi/lpfc/lpfc_sli.h | 10 +- drivers/scsi/lpfc/lpfc_version.h | 2 +- drivers/scsi/lpfc/lpfc_vmid.c | 1 + drivers/scsi/mac_esp.c | 6 +- drivers/scsi/mac_scsi.c | 5 +- drivers/scsi/mpi3mr/mpi/mpi30_ioc.h | 1 + drivers/scsi/mpi3mr/mpi3mr.h | 33 +- drivers/scsi/mpi3mr/mpi3mr_app.c | 536 ++++++++++--- drivers/scsi/mpi3mr/mpi3mr_fw.c | 118 ++- drivers/scsi/mpi3mr/mpi3mr_os.c | 33 +- drivers/scsi/mpi3mr/mpi3mr_transport.c | 16 +- drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 231 ++---- drivers/scsi/mpt3sas/mpi/mpi2_image.h | 32 +- drivers/scsi/mpt3sas/mpi/mpi2_ioc.h | 27 +- drivers/scsi/mpt3sas/mpt3sas_base.c | 35 +- drivers/scsi/mpt3sas/mpt3sas_base.h | 3 +- drivers/scsi/mpt3sas/mpt3sas_config.c | 6 +- drivers/scsi/mpt3sas/mpt3sas_ctl.c | 42 +- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 56 +- drivers/scsi/mpt3sas/mpt3sas_transport.c | 9 +- drivers/scsi/mpt3sas/mpt3sas_trigger_pages.h | 44 +- drivers/scsi/mpt3sas/mpt3sas_warpdrive.c | 3 +- drivers/scsi/mvme16x_scsi.c | 6 +- drivers/scsi/qlogicpti.c | 6 +- drivers/scsi/scsi_error.c | 1 + drivers/scsi/sgiwd93.c | 5 +- drivers/scsi/sni_53c710.c | 6 +- drivers/scsi/sun3_scsi.c | 5 +- drivers/scsi/sun3x_esp.c | 6 +- drivers/scsi/sun_esp.c | 6 +- drivers/target/target_core_pr.c | 1 + drivers/ufs/core/ufs-fault-injection.c | 19 +- drivers/ufs/core/ufs-fault-injection.h | 13 +- drivers/ufs/core/ufs-sysfs.c | 151 ++++ drivers/ufs/core/ufshcd.c | 154 +++- drivers/ufs/host/ufs-exynos.c | 7 +- drivers/ufs/host/ufs-hisi.c | 11 +- drivers/ufs/host/ufs-mediatek.c | 12 +- drivers/ufs/host/ufs-qcom.c | 472 +++-------- drivers/ufs/host/ufs-qcom.h | 57 +- drivers/ufs/host/ufshcd-pltfrm.c | 69 +- drivers/ufs/host/ufshcd-pltfrm.h | 10 +- include/uapi/scsi/scsi_bsg_mpi3mr.h | 2 + include/ufs/ufs.h | 14 + include/ufs/ufshcd.h | 12 +- include/ufs/unipro.h | 4 +- 97 files changed, 2567 insertions(+), 1730 deletions(-) James