Skip to content

Commit ef2cc88

Browse files
committed
Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI updates from James Bottomley: "This is mostly update of the usual drivers: aacraid, ufs, zfcp, NCR5380, lpfc, qla2xxx, smartpqi, hisi_sas, target, mpt3sas, pm80xx plus a whole load of minor updates and fixes. The major core changes are Al Viro's reworking of sg's handling of copy to/from user, Ming Lei's removal of the host busy counter to avoid contention in the multiqueue case and Damien Le Moal's fixing of residual tracking across error handling" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (251 commits) scsi: bnx2fc: timeout calculation invalid for bnx2fc_eh_abort() scsi: target: core: Fix a pr_debug() argument scsi: iscsi: Don't send data to unbound connection scsi: target: iscsi: Wait for all commands to finish before freeing a session scsi: target: core: Release SPC-2 reservations when closing a session scsi: target: core: Document target_cmd_size_check() scsi: bnx2i: fix potential use after free Revert "scsi: qla2xxx: Fix memory leak when sending I/O fails" scsi: NCR5380: Add disconnect_mask module parameter scsi: NCR5380: Unconditionally clear ICR after do_abort() scsi: NCR5380: Call scsi_set_resid() on command completion scsi: scsi_debug: num_tgts must be >= 0 scsi: lpfc: use hdwq assigned cpu for allocation scsi: arcmsr: fix indentation issues scsi: qla4xxx: fix double free bug scsi: pm80xx: Modified the logic to collect fatal dump scsi: pm80xx: Tie the interrupt name to the module instance scsi: pm80xx: Controller fatal error through sysfs scsi: pm80xx: Do not request 12G sas speeds scsi: pm80xx: Cleanup command when a reset times out ...
2 parents 937d6ee + 65309ef commit ef2cc88

File tree

163 files changed

+5656
-1987
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

163 files changed

+5656
-1987
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/ufs/ti,j721e-ufs.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: TI J721e UFS Host Controller Glue Driver
8+
9+
maintainers:
10+
- Vignesh Raghavendra <[email protected]>
11+
12+
properties:
13+
compatible:
14+
items:
15+
- const: ti,j721e-ufs
16+
17+
reg:
18+
maxItems: 1
19+
description: address of TI UFS glue registers
20+
21+
clocks:
22+
maxItems: 1
23+
description: phandle to the M-PHY clock
24+
25+
power-domains:
26+
maxItems: 1
27+
28+
required:
29+
- compatible
30+
- reg
31+
- clocks
32+
- power-domains
33+
34+
patternProperties:
35+
"^ufs@[0-9a-f]+$":
36+
type: object
37+
description: |
38+
Cadence UFS controller node must be the child node. Refer
39+
Documentation/devicetree/bindings/ufs/cdns,ufshc.txt for binding
40+
documentation of child node
41+
42+
examples:
43+
- |
44+
#include <dt-bindings/interrupt-controller/irq.h>
45+
#include <dt-bindings/interrupt-controller/arm-gic.h>
46+
47+
ufs_wrapper: ufs-wrapper@4e80000 {
48+
compatible = "ti,j721e-ufs";
49+
reg = <0x0 0x4e80000 0x0 0x100>;
50+
power-domains = <&k3_pds 277>;
51+
clocks = <&k3_clks 277 1>;
52+
assigned-clocks = <&k3_clks 277 1>;
53+
assigned-clock-parents = <&k3_clks 277 4>;
54+
#address-cells = <2>;
55+
#size-cells = <2>;
56+
57+
ufs@4e84000 {
58+
compatible = "cdns,ufshc-m31-16nm", "jedec,ufs-2.0";
59+
reg = <0x0 0x4e84000 0x0 0x10000>;
60+
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
61+
freq-table-hz = <19200000 19200000>;
62+
power-domains = <&k3_pds 277>;
63+
clocks = <&k3_clks 277 1>;
64+
assigned-clocks = <&k3_clks 277 1>;
65+
assigned-clock-parents = <&k3_clks 277 4>;
66+
clock-names = "core_clk";
67+
};
68+
};

Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Required properties:
1313
"qcom,msm8996-ufshc", "qcom,ufshc", "jedec,ufs-2.0"
1414
"qcom,msm8998-ufshc", "qcom,ufshc", "jedec,ufs-2.0"
1515
"qcom,sdm845-ufshc", "qcom,ufshc", "jedec,ufs-2.0"
16+
"qcom,sm8150-ufshc", "qcom,ufshc", "jedec,ufs-2.0"
1617
- interrupts : <interrupt mapping for UFS host controller IRQ>
1718
- reg : <registers mapping>
1819

Documentation/scsi/scsi_mid_low_api.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1084,7 +1084,8 @@ of interest:
10841084
commands to the adapter.
10851085
this_id - scsi id of host (scsi initiator) or -1 if not known
10861086
sg_tablesize - maximum scatter gather elements allowed by host.
1087-
0 implies scatter gather not supported by host
1087+
Set this to SG_ALL or less to avoid chained SG lists.
1088+
Must be at least 1.
10881089
max_sectors - maximum number of sectors (usually 512 bytes) allowed
10891090
in a single SCSI command. The default value of 0 leads
10901091
to a setting of SCSI_DEFAULT_MAX_SECTORS (defined in

drivers/ata/pata_arasan_cf.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,6 @@ struct arasan_cf_dev {
219219

220220
static struct scsi_host_template arasan_cf_sht = {
221221
ATA_BASE_SHT(DRIVER_NAME),
222-
.sg_tablesize = SG_NONE,
223222
.dma_boundary = 0xFFFFFFFFUL,
224223
};
225224

drivers/s390/scsi/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55

66
zfcp-objs := zfcp_aux.o zfcp_ccw.o zfcp_dbf.o zfcp_erp.o \
77
zfcp_fc.o zfcp_fsf.o zfcp_qdio.o zfcp_scsi.o zfcp_sysfs.o \
8-
zfcp_unit.o
8+
zfcp_unit.o zfcp_diag.o
99

1010
obj-$(CONFIG_ZFCP) += zfcp.o

drivers/s390/scsi/zfcp_aux.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*
55
* Module interface and handling of zfcp data structures.
66
*
7-
* Copyright IBM Corp. 2002, 2017
7+
* Copyright IBM Corp. 2002, 2018
88
*/
99

1010
/*
@@ -25,6 +25,7 @@
2525
* Martin Petermann
2626
* Sven Schuetz
2727
* Steffen Maier
28+
* Benjamin Block
2829
*/
2930

3031
#define KMSG_COMPONENT "zfcp"
@@ -36,6 +37,7 @@
3637
#include "zfcp_ext.h"
3738
#include "zfcp_fc.h"
3839
#include "zfcp_reqlist.h"
40+
#include "zfcp_diag.h"
3941

4042
#define ZFCP_BUS_ID_SIZE 20
4143

@@ -356,6 +358,9 @@ struct zfcp_adapter *zfcp_adapter_enqueue(struct ccw_device *ccw_device)
356358

357359
adapter->erp_action.adapter = adapter;
358360

361+
if (zfcp_diag_adapter_setup(adapter))
362+
goto failed;
363+
359364
if (zfcp_qdio_setup(adapter))
360365
goto failed;
361366

@@ -402,6 +407,9 @@ struct zfcp_adapter *zfcp_adapter_enqueue(struct ccw_device *ccw_device)
402407
&zfcp_sysfs_adapter_attrs))
403408
goto failed;
404409

410+
if (zfcp_diag_sysfs_setup(adapter))
411+
goto failed;
412+
405413
/* report size limit per scatter-gather segment */
406414
adapter->ccw_device->dev.dma_parms = &adapter->dma_parms;
407415

@@ -426,6 +434,7 @@ void zfcp_adapter_unregister(struct zfcp_adapter *adapter)
426434

427435
zfcp_fc_wka_ports_force_offline(adapter->gs);
428436
zfcp_scsi_adapter_unregister(adapter);
437+
zfcp_diag_sysfs_destroy(adapter);
429438
sysfs_remove_group(&cdev->dev.kobj, &zfcp_sysfs_adapter_attrs);
430439

431440
zfcp_erp_thread_kill(adapter);
@@ -449,6 +458,7 @@ void zfcp_adapter_release(struct kref *ref)
449458
dev_set_drvdata(&adapter->ccw_device->dev, NULL);
450459
zfcp_fc_gs_destroy(adapter);
451460
zfcp_free_low_mem_buffers(adapter);
461+
zfcp_diag_adapter_free(adapter);
452462
kfree(adapter->req_list);
453463
kfree(adapter->fc_stats);
454464
kfree(adapter->stats_reset_data);

drivers/s390/scsi/zfcp_dbf.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,9 @@ void zfcp_dbf_hba_fsf_res(char *tag, int level, struct zfcp_fsf_req *req)
9595
memcpy(rec->u.res.fsf_status_qual, &q_head->fsf_status_qual,
9696
FSF_STATUS_QUALIFIER_SIZE);
9797

98-
if (q_head->fsf_command != FSF_QTCB_FCP_CMND) {
99-
rec->pl_len = q_head->log_length;
100-
zfcp_dbf_pl_write(dbf, (char *)q_pref + q_head->log_start,
101-
rec->pl_len, "fsf_res", req->req_id);
102-
}
98+
rec->pl_len = q_head->log_length;
99+
zfcp_dbf_pl_write(dbf, (char *)q_pref + q_head->log_start,
100+
rec->pl_len, "fsf_res", req->req_id);
103101

104102
debug_event(dbf->hba, level, rec, sizeof(*rec));
105103
spin_unlock_irqrestore(&dbf->hba_lock, flags);

drivers/s390/scsi/zfcp_def.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*
55
* Global definitions for the zfcp device driver.
66
*
7-
* Copyright IBM Corp. 2002, 2017
7+
* Copyright IBM Corp. 2002, 2018
88
*/
99

1010
#ifndef ZFCP_DEF_H
@@ -86,6 +86,7 @@
8686
#define ZFCP_STATUS_FSFREQ_ABORTNOTNEEDED 0x00000080
8787
#define ZFCP_STATUS_FSFREQ_TMFUNCFAILED 0x00000200
8888
#define ZFCP_STATUS_FSFREQ_DISMISSED 0x00001000
89+
#define ZFCP_STATUS_FSFREQ_XDATAINCOMPLETE 0x00020000
8990

9091
/************************* STRUCTURE DEFINITIONS *****************************/
9192

@@ -197,6 +198,7 @@ struct zfcp_adapter {
197198
struct device_dma_parameters dma_parms;
198199
struct zfcp_fc_events events;
199200
unsigned long next_port_scan;
201+
struct zfcp_diag_adapter *diagnostics;
200202
};
201203

202204
struct zfcp_port {

0 commit comments

Comments
 (0)