Re: [PATCH V4 1/2] scsi: ufs: Add DeepSleep feature

From: Bean Huo
Date: Wed Nov 04 2020 - 05:57:08 EST


On Tue, 2020-11-03 at 16:14 +0200, Adrian Hunter wrote:
> DeepSleep is a UFS v3.1 feature that achieves the lowest power
> consumption
> of the device, apart from power off.
>
> In DeepSleep mode, no commands are accepted, and the only way to exit
> is
> using a hardware reset or power cycle.
>
> This patch assumes that if a power cycle was an option, then power
> off
> would be preferable, so only exit via a hardware reset is supported.
>
> Drivers that wish to support DeepSleep need to set a new capability
> flag
> UFSHCD_CAP_DEEPSLEEP and provide a hardware reset via the existing
> ->device_reset() callback.
>
> It is assumed that UFS devices with wspecversion >= 0x310 support
> DeepSleep.
>
> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> ---
> Documentation/ABI/testing/sysfs-driver-ufs | 34 +++++++++++--------
> drivers/scsi/ufs/ufs-sysfs.c | 7 ++++
> drivers/scsi/ufs/ufs.h | 1 +
> drivers/scsi/ufs/ufshcd.c | 39
> ++++++++++++++++++++--
> drivers/scsi/ufs/ufshcd.h | 17 +++++++++-
> include/trace/events/ufs.h | 3 +-
> 6 files changed, 83 insertions(+), 18 deletions(-)
>
> diff --git a/Documentation/ABI/testing/sysfs-driver-ufs
> b/Documentation/ABI/testing/sysfs-driver-ufs
> index adc0d0e91607..e77fa784d6d8 100644
> --- a/Documentation/ABI/testing/sysfs-driver-ufs
> +++ b/Documentation/ABI/testing/sysfs-driver-ufs
> @@ -916,21 +916,24 @@ Date: September 2014
> Contact: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx>
> Description: This entry could be used to set or show the UFS device
> runtime power management level. The current driver
> - implementation supports 6 levels with next target
> states:
> + implementation supports 7 levels with next target
> states:
>
> == ===================================================
> =
> - 0 an UFS device will stay active, an UIC link will
> + 0 UFS device will stay active, UIC link will
> stay active
> - 1 an UFS device will stay active, an UIC link will
> + 1 UFS device will stay active, UIC link will
> hibernate
> - 2 an UFS device will moved to sleep, an UIC link will
> + 2 UFS device will be moved to sleep, UIC link will
> stay active
> - 3 an UFS device will moved to sleep, an UIC link will
> + 3 UFS device will be moved to sleep, UIC link will
> hibernate
> - 4 an UFS device will be powered off, an UIC link will
> + 4 UFS device will be powered off, UIC link will
> hibernate
> - 5 an UFS device will be powered off, an UIC link will
> + 5 UFS device will be powered off, UIC link will
> be powered off
> + 6 UFS device will be moved to deep sleep, UIC link
> + will be powered off. Note, deep sleep might not be
> + supported in which case this value will not be accepted
> == ===================================================
> =
>
> What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_d
> ev_state
> @@ -954,21 +957,24 @@ Date: September 2014
> Contact: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx>
> Description: This entry could be used to set or show the UFS device
> system power management level. The current driver
> - implementation supports 6 levels with next target
> states:
> + implementation supports 7 levels with next target
> states:
>
> == ===================================================
> =

Hi Adrian
There doesn't have these equal sign lines in the sysfs-driver-ufs.
maybe you should remove these. or add + prefix.

Thanks,
Bean