Skip to content

Commit d83763f

Browse files
committed
Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull final round of SCSI updates from James Bottomley: "Sorry for the delay in this patch which was mostly caused by getting the merger of the mpt2/mpt3sas driver, which was seen as an essential item of maintenance work to do before the drivers diverge too much. Unfortunately, this caused a compile failure (detected by linux-next), which then had to be fixed up and incubated. In addition to the mpt2/3sas rework, there are updates from pm80xx, lpfc, bnx2fc, hpsa, ipr, aacraid, megaraid_sas, storvsc and ufs plus an assortment of changes including some year 2038 issues, a fix for a remove before detach issue in some drivers and a couple of other minor issues" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (141 commits) mpt3sas: fix inline markers on non inline function declarations sd: Clear PS bit before Mode Select. ibmvscsi: set max_lun to 32 ibmvscsi: display default value for max_id, max_lun and max_channel. mptfusion: don't allow negative bytes in kbuf_alloc_2_sgl() scsi: pmcraid: replace struct timeval with ktime_get_real_seconds() mvumi: 64bit value for seconds_since1970 be2iscsi: Fix bogus WARN_ON length check scsi_scan: don't dump trace when scsi_prep_async_scan() is called twice mpt3sas: Bump mpt3sas driver version to 09.102.00.00 mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs mpt2sas, mpt3sas: Update the driver versions mpt3sas: setpci reset kernel oops fix mpt3sas: Added OEM Gen2 PnP ID branding names mpt3sas: Refcount fw_events and fix unsafe list usage mpt3sas: Refcount sas_device objects and fix unsafe list usage mpt3sas: sysfs attribute to report Backup Rail Monitor Status mpt3sas: Ported WarpDrive product SSS6200 support mpt3sas: fix for driver fails EEH, recovery from injected pci bus error mpt3sas: Manage MSI-X vectors according to HBA device type ...
2 parents 9aa3d65 + 0a5149b commit d83763f

File tree

121 files changed

+6584
-32724
lines changed

Some content is hidden

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

121 files changed

+6584
-32724
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
What: /sys/bus/scsi/drivers/st/debug_flag
2+
Date: October 2015
3+
Kernel Version: ?.?
4+
Contact: shane.seymour@hpe.com
5+
Description:
6+
This file allows you to turn debug output from the st driver
7+
off if you write a '0' to the file or on if you write a '1'.
8+
Note that debug output requires that the module be compiled
9+
with the #define DEBUG set to a non-zero value (this is the
10+
default). If DEBUG is set to 0 then this file will not
11+
appear in sysfs as its presence is conditional upon debug
12+
output support being compiled into the module.
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
* Qualcomm Technologies Inc Universal Flash Storage (UFS) PHY
2+
3+
UFSPHY nodes are defined to describe on-chip UFS PHY hardware macro.
4+
Each UFS PHY node should have its own node.
5+
6+
To bind UFS PHY with UFS host controller, the controller node should
7+
contain a phandle reference to UFS PHY node.
8+
9+
Required properties:
10+
- compatible : compatible list, contains "qcom,ufs-phy-qmp-20nm"
11+
or "qcom,ufs-phy-qmp-14nm" according to the relevant phy in use.
12+
- reg : should contain PHY register address space (mandatory),
13+
- reg-names : indicates various resources passed to driver (via reg proptery) by name.
14+
Required "reg-names" is "phy_mem".
15+
- #phy-cells : This property shall be set to 0
16+
- vdda-phy-supply : phandle to main PHY supply for analog domain
17+
- vdda-pll-supply : phandle to PHY PLL and Power-Gen block power supply
18+
- clocks : List of phandle and clock specifier pairs
19+
- clock-names : List of clock input name strings sorted in the same
20+
order as the clocks property. "ref_clk_src", "ref_clk",
21+
"tx_iface_clk" & "rx_iface_clk" are mandatory but
22+
"ref_clk_parent" is optional
23+
24+
Optional properties:
25+
- vdda-phy-max-microamp : specifies max. load that can be drawn from phy supply
26+
- vdda-pll-max-microamp : specifies max. load that can be drawn from pll supply
27+
- vddp-ref-clk-supply : phandle to UFS device ref_clk pad power supply
28+
- vddp-ref-clk-max-microamp : specifies max. load that can be drawn from this supply
29+
- vddp-ref-clk-always-on : specifies if this supply needs to be kept always on
30+
31+
Example:
32+
33+
ufsphy1: ufsphy@0xfc597000 {
34+
compatible = "qcom,ufs-phy-qmp-20nm";
35+
reg = <0xfc597000 0x800>;
36+
reg-names = "phy_mem";
37+
#phy-cells = <0>;
38+
vdda-phy-supply = <&pma8084_l4>;
39+
vdda-pll-supply = <&pma8084_l12>;
40+
vdda-phy-max-microamp = <50000>;
41+
vdda-pll-max-microamp = <1000>;
42+
clock-names = "ref_clk_src",
43+
"ref_clk_parent",
44+
"ref_clk",
45+
"tx_iface_clk",
46+
"rx_iface_clk";
47+
clocks = <&clock_rpm clk_ln_bb_clk>,
48+
<&clock_gcc clk_pcie_1_phy_ldo >,
49+
<&clock_gcc clk_ufs_phy_ldo>,
50+
<&clock_gcc clk_gcc_ufs_tx_cfg_clk>,
51+
<&clock_gcc clk_gcc_ufs_rx_cfg_clk>;
52+
};
53+
54+
ufshc@0xfc598000 {
55+
...
56+
phys = <&ufsphy1>;
57+
phy-names = "ufsphy";
58+
};

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,18 @@ UFSHC nodes are defined to describe on-chip UFS host controllers.
44
Each UFS controller instance should have its own node.
55

66
Required properties:
7-
- compatible : compatible list, contains "jedec,ufs-1.1"
7+
- compatible : must contain "jedec,ufs-1.1", may also list one or more
8+
of the following:
9+
"qcom,msm8994-ufshc"
10+
"qcom,msm8996-ufshc"
11+
"qcom,ufshc"
812
- interrupts : <interrupt mapping for UFS host controller IRQ>
913
- reg : <registers mapping>
1014

1115
Optional properties:
16+
- phys : phandle to UFS PHY node
17+
- phy-names : the string "ufsphy" when is found in a node, along
18+
with "phys" attribute, provides phandle to UFS PHY node
1219
- vdd-hba-supply : phandle to UFS host controller supply regulator node
1320
- vcc-supply : phandle to VCC supply regulator node
1421
- vccq-supply : phandle to VCCQ supply regulator node
@@ -54,4 +61,6 @@ Example:
5461
clocks = <&core 0>, <&ref 0>, <&iface 0>;
5562
clock-names = "core_clk", "ref_clk", "iface_clk";
5663
freq-table-hz = <100000000 200000000>, <0 0>, <0 0>;
64+
phys = <&ufsphy1>;
65+
phy-names = "ufsphy";
5766
};

Documentation/scsi/st.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -569,7 +569,9 @@ Debugging code is now compiled in by default but debugging is turned off
569569
with the kernel module parameter debug_flag defaulting to 0. Debugging
570570
can still be switched on and off with an ioctl. To enable debug at
571571
module load time add debug_flag=1 to the module load options, the
572-
debugging output is not voluminous.
572+
debugging output is not voluminous. Debugging can also be enabled
573+
and disabled by writing a '0' (disable) or '1' (enable) to the sysfs
574+
file /sys/bus/scsi/drivers/st/debug_flag.
573575

574576
If the tape seems to hang, I would be very interested to hear where
575577
the driver is waiting. With the command 'ps -l' you can see the state

drivers/ata/libata-scsi.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3696,9 +3696,6 @@ int ata_scsi_add_hosts(struct ata_host *host, struct scsi_host_template *sht)
36963696
*/
36973697
shost->max_host_blocked = 1;
36983698

3699-
if (scsi_init_shared_tag_map(shost, host->n_tags))
3700-
goto err_add;
3701-
37023699
rc = scsi_add_host_with_dma(ap->scsi_host,
37033700
&ap->tdev, ap->host->dev);
37043701
if (rc)

drivers/infiniband/ulp/srp/ib_srp.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2798,7 +2798,6 @@ static struct scsi_host_template srp_template = {
27982798
.cmd_per_lun = SRP_DEFAULT_CMD_SQ_SIZE,
27992799
.use_clustering = ENABLE_CLUSTERING,
28002800
.shost_attrs = srp_host_attrs,
2801-
.use_blk_tags = 1,
28022801
.track_queue_depth = 1,
28032802
};
28042803

@@ -3229,10 +3228,6 @@ static ssize_t srp_create_target(struct device *dev,
32293228
if (ret)
32303229
goto out;
32313230

3232-
ret = scsi_init_shared_tag_map(target_host, target_host->can_queue);
3233-
if (ret)
3234-
goto out;
3235-
32363231
target->req_ring_size = target->queue_size - SRP_TSK_MGMT_SQ_SIZE;
32373232

32383233
if (!srp_conn_unique(target->srp_host, target)) {

drivers/message/fusion/mptctl.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1038,6 +1038,10 @@ kbuf_alloc_2_sgl(int bytes, u32 sgdir, int sge_offset, int *frags,
10381038
int i, buflist_ent;
10391039
int sg_spill = MAX_FRAGS_SPILL1;
10401040
int dir;
1041+
1042+
if (bytes < 0)
1043+
return NULL;
1044+
10411045
/* initialization */
10421046
*frags = 0;
10431047
*blp = NULL;

drivers/message/fusion/mptsas.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1994,7 +1994,6 @@ static struct scsi_host_template mptsas_driver_template = {
19941994
.cmd_per_lun = 7,
19951995
.use_clustering = ENABLE_CLUSTERING,
19961996
.shost_attrs = mptscsih_host_attrs,
1997-
.use_blk_tags = 1,
19981997
};
19991998

20001999
static int mptsas_get_linkerrors(struct sas_phy *phy)

drivers/scsi/53c700.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,6 @@ NCR_700_detect(struct scsi_host_template *tpnt,
325325
tpnt->slave_destroy = NCR_700_slave_destroy;
326326
tpnt->slave_alloc = NCR_700_slave_alloc;
327327
tpnt->change_queue_depth = NCR_700_change_queue_depth;
328-
tpnt->use_blk_tags = 1;
329328

330329
if(tpnt->name == NULL)
331330
tpnt->name = "53c700";
@@ -1107,7 +1106,9 @@ process_script_interrupt(__u32 dsps, __u32 dsp, struct scsi_cmnd *SCp,
11071106
BUG();
11081107
}
11091108
if(hostdata->msgin[1] == A_SIMPLE_TAG_MSG) {
1110-
struct scsi_cmnd *SCp = scsi_find_tag(SDp, hostdata->msgin[2]);
1109+
struct scsi_cmnd *SCp;
1110+
1111+
SCp = scsi_host_find_tag(SDp->host, hostdata->msgin[2]);
11111112
if(unlikely(SCp == NULL)) {
11121113
printk(KERN_ERR "scsi%d: (%d:%d) no saved request for tag %d\n",
11131114
host->host_no, reselection_id, lun, hostdata->msgin[2]);
@@ -1119,7 +1120,9 @@ process_script_interrupt(__u32 dsps, __u32 dsp, struct scsi_cmnd *SCp,
11191120
"reselection is tag %d, slot %p(%d)\n",
11201121
hostdata->msgin[2], slot, slot->tag);
11211122
} else {
1122-
struct scsi_cmnd *SCp = scsi_find_tag(SDp, SCSI_NO_TAG);
1123+
struct scsi_cmnd *SCp;
1124+
1125+
SCp = scsi_host_find_tag(SDp->host, SCSI_NO_TAG);
11231126
if(unlikely(SCp == NULL)) {
11241127
sdev_printk(KERN_ERR, SDp,
11251128
"no saved request for untagged cmd\n");
@@ -1823,7 +1826,7 @@ NCR_700_queuecommand_lck(struct scsi_cmnd *SCp, void (*done)(struct scsi_cmnd *)
18231826
slot->tag, slot);
18241827
} else {
18251828
slot->tag = SCSI_NO_TAG;
1826-
/* must populate current_cmnd for scsi_find_tag to work */
1829+
/* must populate current_cmnd for scsi_host_find_tag to work */
18271830
SCp->device->current_cmnd = SCp;
18281831
}
18291832
/* sanity check: some of the commands generated by the mid-layer

drivers/scsi/FlashPoint.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2136,7 +2136,7 @@ static unsigned char FPT_SccbMgr_bad_isr(u32 p_port, unsigned char p_card,
21362136
*
21372137
*---------------------------------------------------------------------*/
21382138

2139-
static void FPT_SccbMgrTableInitAll()
2139+
static void FPT_SccbMgrTableInitAll(void)
21402140
{
21412141
unsigned char thisCard;
21422142

drivers/scsi/Kconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,6 @@ config SCSI_ARCMSR
534534

535535
source "drivers/scsi/esas2r/Kconfig"
536536
source "drivers/scsi/megaraid/Kconfig.megaraid"
537-
source "drivers/scsi/mpt2sas/Kconfig"
538537
source "drivers/scsi/mpt3sas/Kconfig"
539538
source "drivers/scsi/ufs/Kconfig"
540539

drivers/scsi/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@ obj-$(CONFIG_CXLFLASH) += cxlflash/
106106
obj-$(CONFIG_MEGARAID_LEGACY) += megaraid.o
107107
obj-$(CONFIG_MEGARAID_NEWGEN) += megaraid/
108108
obj-$(CONFIG_MEGARAID_SAS) += megaraid/
109-
obj-$(CONFIG_SCSI_MPT2SAS) += mpt2sas/
110109
obj-$(CONFIG_SCSI_MPT3SAS) += mpt3sas/
111110
obj-$(CONFIG_SCSI_UFSHCD) += ufs/
112111
obj-$(CONFIG_SCSI_ACARD) += atp870u.o

0 commit comments

Comments
 (0)