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