On 19/02/18 08:35, Adrian Hunter wrote:
> On 18/02/18 11:45, Avri Altman wrote:
>>
>>
>>> -----Original Message-----
>>> From: linux-scsi-ow...@vger.kernel.org [mailto:linux-scsi-
>>> ow...@vger.kernel.org] On Behalf Of Adrian Hunter
>>> Sent: Friday, February 16, 2018 2:01 PM
>>> To: Vinayak Holikatti <vinholika...@gmail.com>; Martin K. Petersen
>>> <martin.peter...@oracle.com>; James E.J. Bottomley
>>> <j...@linux.vnet.ibm.com>
>>> Cc: Stanislav Nijnikov <stanislav.nijni...@wdc.com>; Jaegeuk Kim
>>> <jaeg...@kernel.org>; Bart Van Assche <bart.vanass...@wdc.com>; linux-
>>> s...@vger.kernel.org; linux-kernel@vger.kernel.org; Michal Potomski
>>> <michalx.potom...@intel.com>; Szymon Mielczarek
>>> <szymonx.mielcza...@intel.com>
>>> Subject: [PATCH 1/1] scsi: ufs: Add support for Auto-Hibernate Idle Timer
>>>
>>> UFS host controllers may support an autonomous power management
>>> feature called the Auto-Hibernate Idle Timer. The timer is set to the number
>>> of microseconds of idle time before the UFS host controller will
>>> autonomously put the link into Hibernate state. That will save power at the
>>> expense of increased latency. Any access to the host controller interface
>>> registers will automatically put the link out of Hibernate state. So once
>>> configured, the feature is transparent to the driver.
>>>
>>> Expose the Auto-Hibernate Idle Timer value via SysFS to allow users to
>>> choose between power efficiency or lower latency. Set a default value of
>>> 150 ms.
>>>
>>> Signed-off-by: Adrian Hunter <adrian.hun...@intel.com>
>>> ---
>>>  Documentation/ABI/testing/sysfs-driver-ufs | 15 ++++++
>>>  drivers/scsi/ufs/ufs-sysfs.c               | 77 
>>> ++++++++++++++++++++++++++++++
>>>  drivers/scsi/ufs/ufshcd.c                  | 26 ++++++++++
>>>  drivers/scsi/ufs/ufshcd.h                  |  3 ++
>>>  drivers/scsi/ufs/ufshci.h                  |  7 +++
>>>  5 files changed, 128 insertions(+)
>>>
>>> diff --git a/Documentation/ABI/testing/sysfs-driver-ufs
>>> b/Documentation/ABI/testing/sysfs-driver-ufs
>>> index 07f1c2f8dbfc..c7f9441079eb 100644
>>> --- a/Documentation/ABI/testing/sysfs-driver-ufs
>>> +++ b/Documentation/ABI/testing/sysfs-driver-ufs
>>> @@ -1,3 +1,18 @@
>>> +What:              /sys/bus/*/drivers/ufshcd/*/auto_hibern8
>>> +Date:              February 2018
>>> +Contact:   linux-s...@vger.kernel.org
>>> +Description:
>>> +           This file contains the auto-hibernate idle timer setting of a
>>> +           UFS host controller. A value of '-1' means auto-hibernate is
>>> not
>>> +           supported. A value of '0' means auto-hibernate is not
>>> enabled.
>>> +           Otherwise the value is the number of microseconds of idle
>>> time
>>> +           before the UFS host controller will autonomously put the link
>>> +           into hibernate state. That will save power at the expense of
>>> +           increased latency. Note that the hardware supports 10-bit
>>> values
>>> +           with a power-of-ten multiplier which allows a maximum
>>> value of
>>> +           102300000. Refer to the UFS Host Controller Interface
>>> +           specification for more details.
>>> +
>>>  What:
>>>     /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_type
>>>  Date:              February 2018
>>>  Contact:   Stanislav Nijnikov <stanislav.nijni...@wdc.com>
>>> diff --git a/drivers/scsi/ufs/ufs-sysfs.c b/drivers/scsi/ufs/ufs-sysfs.c 
>>> index
>>> cd7174d2d225..a0e38776dc92 100644

SNIP

>>> @@ -7843,6 +7863,12 @@ int ufshcd_init(struct ufs_hba *hba, void
>>> __iomem *mmio_base, unsigned int irq)
>>>                                             UFS_SLEEP_PWR_MODE,
>>>                                             UIC_LINK_HIBERN8_STATE);
>>>
>>> +   /* Set the default auto-hiberate idle timer value to 150 ms */
>> Your commit said you are setting an idle timer in microseconds,  Better use 
>> usec to avoid confusion? 
> 
> As the SysFS documentation says "Note that the hardware supports 10-bit
> values with a power-of-ten multiplier ... Refer to the UFS Host Controller
> Interface specification for more details.", so 150,000 us is still a value
> of 150 with a power-of-ten multiplier of 3.

Are there any other comments?

Reply via email to