Skip to content

Commit 2e3fcbc

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: "Updates to the usual drivers (scsi_debug, ufs, lpfc, st, fnic, mpi3mr, mpt3sas) and the removal of cxlflash. The only non-trivial core change is an addition to unit attention handling to recognize UAs for power on/reset and new media so the tape driver can use it" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (107 commits) scsi: st: Tighten the page format heuristics with MODE SELECT scsi: st: ERASE does not change tape location scsi: st: Fix array overflow in st_setup() scsi: target: tcm_loop: Fix wrong abort tag scsi: lpfc: Restore clearing of NLP_UNREG_INP in ndlp->nlp_flag scsi: hisi_sas: Fixed failure to issue vendor specific commands scsi: fnic: Remove unnecessary NUL-terminations scsi: fnic: Remove redundant flush_workqueue() calls scsi: core: Use a switch statement when attaching VPD pages scsi: ufs: renesas: Add initialization code for R-Car S4-8 ES1.2 scsi: ufs: renesas: Add reusable functions scsi: ufs: renesas: Refactor 0x10ad/0x10af PHY settings scsi: ufs: renesas: Remove register control helper function scsi: ufs: renesas: Add register read to remove save/set/restore scsi: ufs: renesas: Replace init data by init code scsi: ufs: dt-bindings: renesas,ufs: Add calibration data scsi: mpi3mr: Task Abort EH Support scsi: storvsc: Don't report the host packet status as the hv status scsi: isci: Make most module parameters static scsi: megaraid_sas: Make most module parameters static ...
2 parents 2209399 + 8db816c commit 2e3fcbc

File tree

126 files changed

+3510
-12679
lines changed

Some content is hidden

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

126 files changed

+3510
-12679
lines changed

Documentation/ABI/testing/sysfs-driver-ufs

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1559,3 +1559,48 @@ Description:
15591559
Symbol - HCMID. This file shows the UFSHCD manufacturer id.
15601560
The Manufacturer ID is defined by JEDEC in JEDEC-JEP106.
15611561
The file is read only.
1562+
1563+
What: /sys/bus/platform/drivers/ufshcd/*/critical_health
1564+
What: /sys/bus/platform/devices/*.ufs/critical_health
1565+
Date: February 2025
1566+
Contact: Avri Altman <[email protected]>
1567+
Description: Report the number of times a critical health event has been
1568+
reported by a UFS device. Further insight into the specific
1569+
issue can be gained by reading one of: bPreEOLInfo,
1570+
bDeviceLifeTimeEstA, bDeviceLifeTimeEstB,
1571+
bWriteBoosterBufferLifeTimeEst, and bRPMBLifeTimeEst.
1572+
1573+
The file is read only.
1574+
1575+
What: /sys/bus/platform/drivers/ufshcd/*/clkscale_enable
1576+
What: /sys/bus/platform/devices/*.ufs/clkscale_enable
1577+
Date: January 2025
1578+
Contact: Ziqi Chen <[email protected]>
1579+
Description:
1580+
This attribute shows whether the UFS clock scaling is enabled or not.
1581+
And it can be used to enable/disable the clock scaling by writing
1582+
1 or 0 to this attribute.
1583+
1584+
The attribute is read/write.
1585+
1586+
What: /sys/bus/platform/drivers/ufshcd/*/clkgate_enable
1587+
What: /sys/bus/platform/devices/*.ufs/clkgate_enable
1588+
Date: January 2025
1589+
Contact: Ziqi Chen <[email protected]>
1590+
Description:
1591+
This attribute shows whether the UFS clock gating is enabled or not.
1592+
And it can be used to enable/disable the clock gating by writing
1593+
1 or 0 to this attribute.
1594+
1595+
The attribute is read/write.
1596+
1597+
What: /sys/bus/platform/drivers/ufshcd/*/clkgate_delay_ms
1598+
What: /sys/bus/platform/devices/*.ufs/clkgate_delay_ms
1599+
Date: January 2025
1600+
Contact: Ziqi Chen <[email protected]>
1601+
Description:
1602+
This attribute shows and sets the number of milliseconds of idle time
1603+
before the UFS driver starts to perform clock gating. This can
1604+
prevent the UFS from frequently performing clock gating/ungating.
1605+
1606+
The attribute is read/write.

Documentation/arch/powerpc/cxlflash.rst

Lines changed: 0 additions & 433 deletions
This file was deleted.

Documentation/arch/powerpc/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ powerpc
1313
cpu_families
1414
cpu_features
1515
cxl
16-
cxlflash
1716
dawr-power9
1817
dexcr
1918
dscr

Documentation/devicetree/bindings/ufs/renesas,ufs.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,16 @@ properties:
3333
resets:
3434
maxItems: 1
3535

36+
nvmem-cells:
37+
maxItems: 1
38+
39+
nvmem-cell-names:
40+
items:
41+
- const: calibration
42+
43+
dependencies:
44+
nvmem-cells: [ nvmem-cell-names ]
45+
3646
required:
3747
- compatible
3848
- reg
@@ -58,4 +68,6 @@ examples:
5868
freq-table-hz = <200000000 200000000>, <38400000 38400000>;
5969
power-domains = <&sysc R8A779F0_PD_ALWAYS_ON>;
6070
resets = <&cpg 1514>;
71+
nvmem-cells = <&ufs_tune>;
72+
nvmem-cell-names = "calibration";
6173
};
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/ufs/rockchip,rk3576-ufshc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Rockchip UFS Host Controller
8+
9+
maintainers:
10+
- Shawn Lin <[email protected]>
11+
12+
allOf:
13+
- $ref: ufs-common.yaml
14+
15+
properties:
16+
compatible:
17+
const: rockchip,rk3576-ufshc
18+
19+
reg:
20+
maxItems: 5
21+
22+
reg-names:
23+
items:
24+
- const: hci
25+
- const: mphy
26+
- const: hci_grf
27+
- const: mphy_grf
28+
- const: hci_apb
29+
30+
clocks:
31+
maxItems: 4
32+
33+
clock-names:
34+
items:
35+
- const: core
36+
- const: pclk
37+
- const: pclk_mphy
38+
- const: ref_out
39+
40+
power-domains:
41+
maxItems: 1
42+
43+
resets:
44+
maxItems: 4
45+
46+
reset-names:
47+
items:
48+
- const: biu
49+
- const: sys
50+
- const: ufs
51+
- const: grf
52+
53+
reset-gpios:
54+
maxItems: 1
55+
description: |
56+
GPIO specifiers for host to reset the whole UFS device including PHY and
57+
memory. This gpio is active low and should choose the one whose high output
58+
voltage is lower than 1.5V based on the UFS spec.
59+
60+
required:
61+
- compatible
62+
- reg
63+
- reg-names
64+
- clocks
65+
- clock-names
66+
- interrupts
67+
- power-domains
68+
- resets
69+
- reset-names
70+
- reset-gpios
71+
72+
unevaluatedProperties: false
73+
74+
examples:
75+
- |
76+
#include <dt-bindings/clock/rockchip,rk3576-cru.h>
77+
#include <dt-bindings/reset/rockchip,rk3576-cru.h>
78+
#include <dt-bindings/interrupt-controller/arm-gic.h>
79+
#include <dt-bindings/power/rockchip,rk3576-power.h>
80+
#include <dt-bindings/pinctrl/rockchip.h>
81+
#include <dt-bindings/gpio/gpio.h>
82+
83+
soc {
84+
#address-cells = <2>;
85+
#size-cells = <2>;
86+
87+
ufshc: ufshc@2a2d0000 {
88+
compatible = "rockchip,rk3576-ufshc";
89+
reg = <0x0 0x2a2d0000 0x0 0x10000>,
90+
<0x0 0x2b040000 0x0 0x10000>,
91+
<0x0 0x2601f000 0x0 0x1000>,
92+
<0x0 0x2603c000 0x0 0x1000>,
93+
<0x0 0x2a2e0000 0x0 0x10000>;
94+
reg-names = "hci", "mphy", "hci_grf", "mphy_grf", "hci_apb";
95+
clocks = <&cru ACLK_UFS_SYS>, <&cru PCLK_USB_ROOT>, <&cru PCLK_MPHY>,
96+
<&cru CLK_REF_UFS_CLKOUT>;
97+
clock-names = "core", "pclk", "pclk_mphy", "ref_out";
98+
interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>;
99+
power-domains = <&power RK3576_PD_USB>;
100+
resets = <&cru SRST_A_UFS_BIU>, <&cru SRST_A_UFS_SYS>, <&cru SRST_A_UFS>,
101+
<&cru SRST_P_UFS_GRF>;
102+
reset-names = "biu", "sys", "ufs", "grf";
103+
reset-gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>;
104+
};
105+
};

Documentation/scsi/st.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,11 @@ enabled driver and mode options. The value in the file is a bit mask where the
157157
bit definitions are the same as those used with MTSETDRVBUFFER in setting the
158158
options.
159159

160+
Each directory contains the entry 'position_lost_in_reset'. If this value is
161+
one, reading and writing to the device is blocked after device reset. Most
162+
devices rewind the tape after reset and the writes/read don't access the
163+
tape position the user expects.
164+
160165
A link named 'tape' is made from the SCSI device directory to the class
161166
directory corresponding to the mode 0 auto-rewind device (e.g., st0).
162167

Documentation/userspace-api/ioctl/ioctl-number.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ Code Seq# Include File Comments
377377
0xC0 00-0F linux/usb/iowarrior.h
378378
0xCA 00-0F uapi/misc/cxl.h
379379
0xCA 10-2F uapi/misc/ocxl.h
380-
0xCA 80-BF uapi/scsi/cxlflash_ioctl.h
380+
0xCA 80-BF uapi/scsi/cxlflash_ioctl.h Dead since 6.14
381381
0xCB 00-1F CBM serial IEC bus in development:
382382
383383
0xCC 00-0F drivers/misc/ibmvmc.h pseries VMC driver

MAINTAINERS

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6354,15 +6354,6 @@ F: drivers/misc/cxl/
63546354
F: include/misc/cxl*
63556355
F: include/uapi/misc/cxl.h
63566356

6357-
CXLFLASH (IBM Coherent Accelerator Processor Interface CAPI Flash) SCSI DRIVER
6358-
M: Manoj N. Kumar <[email protected]>
6359-
M: Uma Krishnan <[email protected]>
6360-
6361-
S: Obsolete
6362-
F: Documentation/arch/powerpc/cxlflash.rst
6363-
F: drivers/scsi/cxlflash/
6364-
F: include/uapi/scsi/cxlflash_ioctl.h
6365-
63666357
CYBERPRO FB DRIVER
63676358
M: Russell King <[email protected]>
63686359
L: [email protected] (moderated for non-subscribers)

arch/arm64/boot/dts/rockchip/rk3576.dtsi

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1221,6 +1221,30 @@
12211221
};
12221222
};
12231223

1224+
ufshc: ufshc@2a2d0000 {
1225+
compatible = "rockchip,rk3576-ufshc";
1226+
reg = <0x0 0x2a2d0000 0x0 0x10000>,
1227+
<0x0 0x2b040000 0x0 0x10000>,
1228+
<0x0 0x2601f000 0x0 0x1000>,
1229+
<0x0 0x2603c000 0x0 0x1000>,
1230+
<0x0 0x2a2e0000 0x0 0x10000>;
1231+
reg-names = "hci", "mphy", "hci_grf", "mphy_grf", "hci_apb";
1232+
clocks = <&cru ACLK_UFS_SYS>, <&cru PCLK_USB_ROOT>, <&cru PCLK_MPHY>,
1233+
<&cru CLK_REF_UFS_CLKOUT>;
1234+
clock-names = "core", "pclk", "pclk_mphy", "ref_out";
1235+
assigned-clocks = <&cru CLK_REF_OSC_MPHY>;
1236+
assigned-clock-parents = <&cru CLK_REF_MPHY_26M>;
1237+
interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>;
1238+
power-domains = <&power RK3576_PD_USB>;
1239+
pinctrl-0 = <&ufs_refclk>;
1240+
pinctrl-names = "default";
1241+
resets = <&cru SRST_A_UFS_BIU>, <&cru SRST_A_UFS_SYS>,
1242+
<&cru SRST_A_UFS>, <&cru SRST_P_UFS_GRF>;
1243+
reset-names = "biu", "sys", "ufs", "grf";
1244+
reset-gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>;
1245+
status = "disabled";
1246+
};
1247+
12241248
sdmmc: mmc@2a310000 {
12251249
compatible = "rockchip,rk3576-dw-mshc";
12261250
reg = <0x0 0x2a310000 0x0 0x4000>;

drivers/message/fusion/mptscsih.c

Lines changed: 2 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1843,65 +1843,6 @@ mptscsih_dev_reset(struct scsi_cmnd * SCpnt)
18431843
return FAILED;
18441844
}
18451845

1846-
/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1847-
/**
1848-
* mptscsih_target_reset - Perform a SCSI TARGET_RESET!
1849-
* @SCpnt: Pointer to scsi_cmnd structure, IO which reset is due to
1850-
*
1851-
* (linux scsi_host_template.eh_target_reset_handler routine)
1852-
*
1853-
* Returns SUCCESS or FAILED.
1854-
**/
1855-
int
1856-
mptscsih_target_reset(struct scsi_cmnd * SCpnt)
1857-
{
1858-
MPT_SCSI_HOST *hd;
1859-
int retval;
1860-
VirtDevice *vdevice;
1861-
MPT_ADAPTER *ioc;
1862-
1863-
/* If we can't locate our host adapter structure, return FAILED status.
1864-
*/
1865-
if ((hd = shost_priv(SCpnt->device->host)) == NULL){
1866-
printk(KERN_ERR MYNAM ": target reset: "
1867-
"Can't locate host! (sc=%p)\n", SCpnt);
1868-
return FAILED;
1869-
}
1870-
1871-
ioc = hd->ioc;
1872-
printk(MYIOC_s_INFO_FMT "attempting target reset! (sc=%p)\n",
1873-
ioc->name, SCpnt);
1874-
scsi_print_command(SCpnt);
1875-
1876-
vdevice = SCpnt->device->hostdata;
1877-
if (!vdevice || !vdevice->vtarget) {
1878-
retval = 0;
1879-
goto out;
1880-
}
1881-
1882-
/* Target reset to hidden raid component is not supported
1883-
*/
1884-
if (vdevice->vtarget->tflags & MPT_TARGET_FLAGS_RAID_COMPONENT) {
1885-
retval = FAILED;
1886-
goto out;
1887-
}
1888-
1889-
retval = mptscsih_IssueTaskMgmt(hd,
1890-
MPI_SCSITASKMGMT_TASKTYPE_TARGET_RESET,
1891-
vdevice->vtarget->channel,
1892-
vdevice->vtarget->id, 0, 0,
1893-
mptscsih_get_tm_timeout(ioc));
1894-
1895-
out:
1896-
printk (MYIOC_s_INFO_FMT "target reset: %s (sc=%p)\n",
1897-
ioc->name, ((retval == 0) ? "SUCCESS" : "FAILED" ), SCpnt);
1898-
1899-
if (retval == 0)
1900-
return SUCCESS;
1901-
else
1902-
return FAILED;
1903-
}
1904-
19051846

19061847
/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
19071848
/**
@@ -2915,14 +2856,14 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *io)
29152856
timeout = 10;
29162857
break;
29172858

2918-
case RESERVE:
2859+
case RESERVE_6:
29192860
cmdLen = 6;
29202861
dir = MPI_SCSIIO_CONTROL_READ;
29212862
CDB[0] = cmd;
29222863
timeout = 10;
29232864
break;
29242865

2925-
case RELEASE:
2866+
case RELEASE_6:
29262867
cmdLen = 6;
29272868
dir = MPI_SCSIIO_CONTROL_READ;
29282869
CDB[0] = cmd;
@@ -3306,7 +3247,6 @@ EXPORT_SYMBOL(mptscsih_sdev_destroy);
33063247
EXPORT_SYMBOL(mptscsih_sdev_configure);
33073248
EXPORT_SYMBOL(mptscsih_abort);
33083249
EXPORT_SYMBOL(mptscsih_dev_reset);
3309-
EXPORT_SYMBOL(mptscsih_target_reset);
33103250
EXPORT_SYMBOL(mptscsih_bus_reset);
33113251
EXPORT_SYMBOL(mptscsih_host_reset);
33123252
EXPORT_SYMBOL(mptscsih_bios_param);

0 commit comments

Comments
 (0)