Skip to content

Commit

Permalink
Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/gi…
Browse files Browse the repository at this point in the history
…t/jejb/scsi

Pull SCSI updates from James Bottomley:
 "Updates to the usual drivers (ufs, qla2xx, target, lpfc, smartpqi,
  mpi3mr).

  The main driver change that might cause issues on down the road is the
  conversion of some of our oldest surviving drivers to the DMA API
  (should only affect m68k).

  The only major core change is the rework of async resume; the rest are
  either completely trivial or for updating deprecated APIs"

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (195 commits)
  scsi: target: Remove XDWRITEREAD emulated support
  scsi: megaraid: Remove the static variable initialisation
  scsi: ch: Do not initialise statics to 0
  scsi: ufs: core: Fix spelling mistake "Cannnot" -> "Cannot"
  scsi: target: iscsi: Do not require target authentication
  scsi: target: iscsi: Allow AuthMethod=None
  scsi: target: iscsi: Support base64 in CHAP
  scsi: target: iscsi: Add support for extended CDB AHS
  scsi: ufs: dt-bindings: Add SC8280XP binding
  scsi: target: iscsi: Fix clang -Wformat warnings
  scsi: ufs: core: Read device property for ref clock
  scsi: libsas: Resume SAS host for phy reset or enable via sysfs
  scsi: hisi_sas: Modify v3 HW SATA completion error processing
  scsi: hisi_sas: Relocate DMA unmap of SMP task
  scsi: hisi_sas: Remove unnecessary variable to hold DMA map elements
  scsi: hisi_sas: Call hisi_sas_slave_configure() from slave_configure_v3_hw()
  scsi: mpi3mr: Delete a stray tab
  scsi: mpi3mr: Unlock on error path
  scsi: mpi3mr: Reduce VD queue depth on detecting throttling
  scsi: mpi3mr: Resource Based Metering
  ...
  • Loading branch information
Linus Torvalds committed Aug 5, 2022
2 parents 328141e + 8fcdc23 commit 746fc76
Showing 146 changed files with 4,429 additions and 7,663 deletions.
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/ufs/qcom,ufs.yaml
Original file line number Diff line number Diff line change
@@ -26,6 +26,7 @@ properties:
- qcom,msm8994-ufshc
- qcom,msm8996-ufshc
- qcom,msm8998-ufshc
- qcom,sc8280xp-ufshc
- qcom,sdm845-ufshc
- qcom,sm6350-ufshc
- qcom,sm8150-ufshc
@@ -98,6 +99,7 @@ allOf:
contains:
enum:
- qcom,msm8998-ufshc
- qcom,sc8280xp-ufshc
- qcom,sm8250-ufshc
- qcom,sm8350-ufshc
- qcom,sm8450-ufshc
61 changes: 61 additions & 0 deletions Documentation/devicetree/bindings/ufs/renesas,ufs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/ufs/renesas,ufs.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas R-Car UFS Host Controller

maintainers:
- Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

allOf:
- $ref: ufs-common.yaml

properties:
compatible:
const: renesas,r8a779f0-ufs

reg:
maxItems: 1

clocks:
maxItems: 2

clock-names:
items:
- const: fck
- const: ref_clk

power-domains:
maxItems: 1

resets:
maxItems: 1

required:
- compatible
- reg
- clocks
- clock-names
- power-domains
- resets

unevaluatedProperties: false

examples:
- |
#include <dt-bindings/clock/r8a779f0-cpg-mssr.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/power/r8a779f0-sysc.h>
ufs: ufs@e686000 {
compatible = "renesas,r8a779f0-ufs";
reg = <0xe6860000 0x100>;
interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 1514>, <&ufs30_clk>;
clock-names = "fck", "ref_clk";
freq-table-hz = <200000000 200000000>, <38400000 38400000>;
power-domains = <&sysc R8A779F0_PD_ALWAYS_ON>;
resets = <&cpg 1514>;
};
Original file line number Diff line number Diff line change
@@ -21,6 +21,7 @@ properties:
- samsung,exynos7-ufs
- samsung,exynosautov9-ufs
- samsung,exynosautov9-ufs-vh
- tesla,fsd-ufs

reg:
items:
15 changes: 15 additions & 0 deletions Documentation/scsi/ufs.rst
Original file line number Diff line number Diff line change
@@ -17,6 +17,8 @@ Universal Flash Storage
3.2 UTP Transfer requests
3.3 UFS error handling
3.4 SCSI Error handling
4. BSG Support
5. UFS Reference Clock Frequency configuration
1. Overview
@@ -193,3 +195,16 @@ UFS specifications can be found at:

- UFS - http://www.jedec.org/sites/default/files/docs/JESD220.pdf
- UFSHCI - http://www.jedec.org/sites/default/files/docs/JESD223.pdf

5. UFS Reference Clock Frequency configuration
==============================================

Devicetree can define a clock named "ref_clk" under the UFS controller node
to specify the intended reference clock frequency for the UFS storage
parts. ACPI-based system can specify the frequency using ACPI
Device-Specific Data property named "ref-clk-freq". In both ways the value
is interpreted as frequency in Hz and must match one of the values given in
the UFS specification. UFS subsystem will attempt to read the value when
executing common controller initialization. If the value is available, UFS
subsytem will ensure the bRefClkFreq attribute of the UFS storage device is
set accordingly and will modify it if there is a mismatch.
2 changes: 1 addition & 1 deletion Documentation/userspace-api/ioctl/ioctl-number.rst
Original file line number Diff line number Diff line change
@@ -120,7 +120,7 @@ Code Seq# Include File Comments
'C' 01-2F linux/capi.h conflict!
'C' F0-FF drivers/net/wan/cosa.h conflict!
'D' all arch/s390/include/asm/dasd.h
'D' 40-5F drivers/scsi/dpt/dtpi_ioctl.h
'D' 40-5F drivers/scsi/dpt/dtpi_ioctl.h Dead since 2022
'D' 05 drivers/scsi/pmcraid.h
'E' all linux/input.h conflict!
'E' 00-0F xen/evtchn.h conflict!
19 changes: 9 additions & 10 deletions MAINTAINERS
Original file line number Diff line number Diff line change
@@ -5511,7 +5511,7 @@ W: http://www.chelsio.com
F: drivers/net/ethernet/chelsio/cxgb3/

CXGB3 ISCSI DRIVER (CXGB3I)
M: Karen Xie <kxie@chelsio.com>
M: Varun Prakash <varun@chelsio.com>
L: linux-scsi@vger.kernel.org
S: Supported
W: http://www.chelsio.com
@@ -5543,7 +5543,7 @@ W: http://www.chelsio.com
F: drivers/net/ethernet/chelsio/cxgb4/

CXGB4 ISCSI DRIVER (CXGB4I)
M: Karen Xie <kxie@chelsio.com>
M: Varun Prakash <varun@chelsio.com>
L: linux-scsi@vger.kernel.org
S: Supported
W: http://www.chelsio.com
@@ -6275,14 +6275,6 @@ F: Documentation/networking/device_drivers/ethernet/freescale/dpaa2/switch-drive
F: drivers/net/ethernet/freescale/dpaa2/dpaa2-switch*
F: drivers/net/ethernet/freescale/dpaa2/dpsw*

DPT_I2O SCSI RAID DRIVER
M: Adaptec OEM Raid Solutions <aacraid@microsemi.com>
L: linux-scsi@vger.kernel.org
S: Maintained
W: http://www.adaptec.com/
F: drivers/scsi/dpt*
F: drivers/scsi/dpt/

DRBD DRIVER
M: Philipp Reisner <philipp.reisner@linbit.com>
M: Lars Ellenberg <lars.ellenberg@linbit.com>
@@ -20811,6 +20803,13 @@ L: linux-mediatek@lists.infradead.org (moderated for non-subscribers)
S: Maintained
F: drivers/ufs/host/ufs-mediatek*

UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER RENESAS HOOKS
M: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
L: linux-renesas-soc@vger.kernel.org
L: linux-scsi@vger.kernel.org
S: Maintained
F: drivers/ufs/host/ufs-renesas.c

UNSORTED BLOCK IMAGES (UBI)
M: Richard Weinberger <richard@nod.at>
L: linux-mtd@lists.infradead.org
4 changes: 2 additions & 2 deletions block/bsg.c
Original file line number Diff line number Diff line change
@@ -169,7 +169,7 @@ static void bsg_device_release(struct device *dev)
{
struct bsg_device *bd = container_of(dev, struct bsg_device, device);

ida_simple_remove(&bsg_minor_ida, MINOR(bd->device.devt));
ida_free(&bsg_minor_ida, MINOR(bd->device.devt));
kfree(bd);
}

@@ -196,7 +196,7 @@ struct bsg_device *bsg_register_queue(struct request_queue *q,
bd->queue = q;
bd->sg_io_fn = sg_io_fn;

ret = ida_simple_get(&bsg_minor_ida, 0, BSG_MAX_DEVS, GFP_KERNEL);
ret = ida_alloc_max(&bsg_minor_ida, BSG_MAX_DEVS - 1, GFP_KERNEL);
if (ret < 0) {
if (ret == -ENOSPC)
dev_err(parent, "bsg: too many bsg devices\n");
4 changes: 2 additions & 2 deletions drivers/infiniband/ulp/iser/iscsi_iser.c
Original file line number Diff line number Diff line change
@@ -568,7 +568,7 @@ static void iscsi_iser_session_destroy(struct iscsi_cls_session *cls_session)
struct Scsi_Host *shost = iscsi_session_to_shost(cls_session);

iscsi_session_teardown(cls_session);
iscsi_host_remove(shost);
iscsi_host_remove(shost, false);
iscsi_host_free(shost);
}

@@ -685,7 +685,7 @@ iscsi_iser_session_create(struct iscsi_endpoint *ep,
return cls_session;

remove_host:
iscsi_host_remove(shost);
iscsi_host_remove(shost, false);
free_host:
iscsi_host_free(shost);
return NULL;
2 changes: 1 addition & 1 deletion drivers/message/fusion/mptspi.c
Original file line number Diff line number Diff line change
@@ -101,7 +101,7 @@ static u8 mptspiInternalCtx = MPT_MAX_PROTOCOL_DRIVERS; /* Used only for interna
* @target: per target private data
* @sdev: SCSI device
*
* Update the target negotiation parameters based on the the Inquiry
* Update the target negotiation parameters based on the Inquiry
* data, adapter capabilities, and NVRAM settings.
**/
static void
2 changes: 1 addition & 1 deletion drivers/s390/scsi/zfcp_diag.h
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@
/*
* zfcp device driver
*
* Definitions for handling diagnostics in the the zfcp device driver.
* Definitions for handling diagnostics in the zfcp device driver.
*
* Copyright IBM Corp. 2018, 2020
*/
2 changes: 1 addition & 1 deletion drivers/s390/scsi/zfcp_sysfs.c
Original file line number Diff line number Diff line change
@@ -672,7 +672,7 @@ ZFCP_DEFINE_SCSI_ATTR(zfcp_in_recovery, "%d\n",
ZFCP_DEFINE_SCSI_ATTR(zfcp_status, "0x%08x\n",
atomic_read(&zfcp_sdev->status));

struct attribute *zfcp_sdev_attrs[] = {
static struct attribute *zfcp_sdev_attrs[] = {
&dev_attr_fcp_lun.attr,
&dev_attr_wwpn.attr,
&dev_attr_hba_id.attr,
35 changes: 23 additions & 12 deletions drivers/scsi/BusLogic.c
Original file line number Diff line number Diff line change
@@ -2515,12 +2515,26 @@ static int blogic_resultcode(struct blogic_adapter *adapter,
return (hoststatus << 16) | tgt_status;
}

/*
* turn the dma address from an inbox into a ccb pointer
* This is rather inefficient.
*/
static struct blogic_ccb *
blogic_inbox_to_ccb(struct blogic_adapter *adapter, struct blogic_inbox *inbox)
{
struct blogic_ccb *ccb;

for (ccb = adapter->all_ccbs; ccb; ccb = ccb->next_all)
if (inbox->ccb == ccb->dma_handle)
break;

return ccb;
}

/*
blogic_scan_inbox scans the Incoming Mailboxes saving any
Incoming Mailbox entries for completion processing.
*/

static void blogic_scan_inbox(struct blogic_adapter *adapter)
{
/*
@@ -2540,17 +2554,14 @@ static void blogic_scan_inbox(struct blogic_adapter *adapter)
enum blogic_cmplt_code comp_code;

while ((comp_code = next_inbox->comp_code) != BLOGIC_INBOX_FREE) {
/*
We are only allowed to do this because we limit our
architectures we run on to machines where bus_to_virt(
actually works. There *needs* to be a dma_addr_to_virt()
in the new PCI DMA mapping interface to replace
bus_to_virt() or else this code is going to become very
innefficient.
*/
struct blogic_ccb *ccb =
(struct blogic_ccb *) bus_to_virt(next_inbox->ccb);
if (comp_code != BLOGIC_CMD_NOTFOUND) {
struct blogic_ccb *ccb = blogic_inbox_to_ccb(adapter, next_inbox);
if (!ccb) {
/*
* This should never happen, unless the CCB list is
* corrupted in memory.
*/
blogic_warn("Could not find CCB for dma address %x\n", adapter, next_inbox->ccb);
} else if (comp_code != BLOGIC_CMD_NOTFOUND) {
if (ccb->status == BLOGIC_CCB_ACTIVE ||
ccb->status == BLOGIC_CCB_RESET) {
/*
13 changes: 1 addition & 12 deletions drivers/scsi/Kconfig
Original file line number Diff line number Diff line change
@@ -458,17 +458,6 @@ config SCSI_MVUMI
To compile this driver as a module, choose M here: the
module will be called mvumi.

config SCSI_DPT_I2O
tristate "Adaptec I2O RAID support "
depends on SCSI && PCI && VIRT_TO_BUS
help
This driver supports all of Adaptec's I2O based RAID controllers as
well as the DPT SmartRaid V cards. This is an Adaptec maintained
driver by Deanna Bonds. See <file:Documentation/scsi/dpti.rst>.

To compile this driver as a module, choose M here: the
module will be called dpt_i2o.

config SCSI_ADVANSYS
tristate "AdvanSys SCSI support"
depends on SCSI
@@ -513,7 +502,7 @@ config SCSI_HPTIOP

config SCSI_BUSLOGIC
tristate "BusLogic SCSI support"
depends on PCI && SCSI && VIRT_TO_BUS
depends on PCI && SCSI
help
This is support for BusLogic MultiMaster and FlashPoint SCSI Host
Adapters. Consult the SCSI-HOWTO, available from
1 change: 0 additions & 1 deletion drivers/scsi/Makefile
Original file line number Diff line number Diff line change
@@ -63,7 +63,6 @@ obj-$(CONFIG_BVME6000_SCSI) += 53c700.o bvme6000_scsi.o
obj-$(CONFIG_SCSI_SIM710) += 53c700.o sim710.o
obj-$(CONFIG_SCSI_ADVANSYS) += advansys.o
obj-$(CONFIG_SCSI_BUSLOGIC) += BusLogic.o
obj-$(CONFIG_SCSI_DPT_I2O) += dpt_i2o.o
obj-$(CONFIG_SCSI_ARCMSR) += arcmsr/
obj-$(CONFIG_SCSI_AHA152X) += aha152x.o
obj-$(CONFIG_SCSI_AHA1542) += aha1542.o
Loading

0 comments on commit 746fc76

Please sign in to comment.