[PATCH v3 0/2] *** Remove UFS_DEVICE_QUIRK_DELAY_AFTER_LPM quirk ***

Bao D. Nguyen posted 2 patches 2 months ago
drivers/ufs/core/ufshcd.c       | 15 +++++++++++----
drivers/ufs/host/ufs-mediatek.c | 11 ++++-------
drivers/ufs/host/ufs-qcom.c     |  3 ---
include/ufs/ufs_quirks.h        |  7 -------
include/ufs/ufshcd.h            |  2 ++
5 files changed, 17 insertions(+), 21 deletions(-)
[PATCH v3 0/2] *** Remove UFS_DEVICE_QUIRK_DELAY_AFTER_LPM quirk ***
Posted by Bao D. Nguyen 2 months ago
Multiple ufs device manufacturers request support for the
UFS_DEVICE_QUIRK_DELAY_AFTER_LPM quirk in the Qualcomm's platform driver.
After checking further with the major UFS manufacturers engineering teams
such as Samsung, Kioxia, SK Hynix and Micron, all the manufacturers require
this quirk. Since the quirk is needed by all the ufs device manufacturers,
remove the quirk in the ufs core driver and implement a universal delay
for all the ufs devices.

In addition to verifying with the public device's datasheets, the ufs
device manufacturer's engineering teams confirmed the required vcc
power-off time for the devices is a minimum of 1ms before vcc can be
powered on again. The existing 5ms delay implemented in the ufs core
driver seems too conservative, so replace the hard coded 5ms delay with a
variable default to 2ms setting to improve the system resume latency.
The platform drivers can override this setting as needed.

v2 -> v3:
        - Rename sleep_post_vcc_off to vcc_off_delay_us and change the
          default setting for this variable from 5ms to 2ms (Peter's comment).

v1 -> v2:
        - Added a check for vcc's always_on to skip the delay if the vcc
          is an always-on regulator (Peter's comment)
        - Added a sleep_post_vcc_off variable to allow platform drivers to
          override the default core driver's setting as needed (Bart and Peter's comments)

Bao D. Nguyen (2):
  scsi: ufs: core: Remove UFS_DEVICE_QUIRK_DELAY_AFTER_LPM quirk
  scsi: ufs: core: Replace hard coded vcc-off delay with a variable

 drivers/ufs/core/ufshcd.c       | 15 +++++++++++----
 drivers/ufs/host/ufs-mediatek.c | 11 ++++-------
 drivers/ufs/host/ufs-qcom.c     |  3 ---
 include/ufs/ufs_quirks.h        |  7 -------
 include/ufs/ufshcd.h            |  2 ++
 5 files changed, 17 insertions(+), 21 deletions(-)

-- 
2.7.4
Re: [PATCH v3 0/2] *** Remove UFS_DEVICE_QUIRK_DELAY_AFTER_LPM quirk ***
Posted by Martin K. Petersen 1 month, 4 weeks ago
Bao,

> Multiple ufs device manufacturers request support for the
> UFS_DEVICE_QUIRK_DELAY_AFTER_LPM quirk in the Qualcomm's platform
> driver. After checking further with the major UFS manufacturers
> engineering teams such as Samsung, Kioxia, SK Hynix and Micron, all
> the manufacturers require this quirk. Since the quirk is needed by all
> the ufs device manufacturers, remove the quirk in the ufs core driver
> and implement a universal delay for all the ufs devices.
>
> In addition to verifying with the public device's datasheets, the ufs
> device manufacturer's engineering teams confirmed the required vcc
> power-off time for the devices is a minimum of 1ms before vcc can be
> powered on again. The existing 5ms delay implemented in the ufs core
> driver seems too conservative, so replace the hard coded 5ms delay
> with a variable default to 2ms setting to improve the system resume
> latency. The platform drivers can override this setting as needed.

Applied to 6.19/scsi-staging, thanks!

-- 
Martin K. Petersen