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
torvalds committed Aug 5, 2022
2 parents 328141e + 8fcdc23 commit 746fc76
Show file tree
Hide file tree
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
Expand Up @@ -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
Expand Down Expand Up @@ -98,6 +99,7 @@ allOf:
contains:
enum:
- qcom,msm8998-ufshc
- qcom,sc8280xp-ufshc
- qcom,sm8250-ufshc
- qcom,sm8350-ufshc
- qcom,sm8450-ufshc
Expand Down
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 <[email protected]>

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
Expand Up @@ -21,6 +21,7 @@ properties:
- samsung,exynos7-ufs
- samsung,exynosautov9-ufs
- samsung,exynosautov9-ufs-vh
- tesla,fsd-ufs

reg:
items:
Expand Down
15 changes: 15 additions & 0 deletions Documentation/scsi/ufs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Up @@ -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!
Expand Down
19 changes: 9 additions & 10 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -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: [email protected]
S: Supported
W: http://www.chelsio.com
Expand Down Expand Up @@ -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: [email protected]
S: Supported
W: http://www.chelsio.com
Expand Down Expand Up @@ -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 <[email protected]>
L: [email protected]
S: Maintained
W: http://www.adaptec.com/
F: drivers/scsi/dpt*
F: drivers/scsi/dpt/

DRBD DRIVER
M: Philipp Reisner <[email protected]>
M: Lars Ellenberg <[email protected]>
Expand Down Expand Up @@ -20811,6 +20803,13 @@ L: [email protected] (moderated for non-subscribers)
S: Maintained
F: drivers/ufs/host/ufs-mediatek*

UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER RENESAS HOOKS
M: Yoshihiro Shimoda <[email protected]>
L: [email protected]
L: [email protected]
S: Maintained
F: drivers/ufs/host/ufs-renesas.c

UNSORTED BLOCK IMAGES (UBI)
M: Richard Weinberger <[email protected]>
L: [email protected]
Expand Down
4 changes: 2 additions & 2 deletions block/bsg.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand All @@ -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");
Expand Down
4 changes: 2 additions & 2 deletions drivers/infiniband/ulp/iser/iscsi_iser.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion drivers/message/fusion/mptspi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion drivers/s390/scsi/zfcp_diag.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
*/
Expand Down
2 changes: 1 addition & 1 deletion drivers/s390/scsi/zfcp_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
35 changes: 23 additions & 12 deletions drivers/scsi/BusLogic.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
/*
Expand All @@ -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) {
/*
Expand Down
13 changes: 1 addition & 12 deletions drivers/scsi/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
1 change: 0 additions & 1 deletion drivers/scsi/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading

0 comments on commit 746fc76

Please sign in to comment.