[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a3cd3d32-0dcf-ebaf-d6fe-e8f21539dff1@intel.com>
Date: Mon, 5 Oct 2020 11:43:15 +0300
From: Adrian Hunter <adrian.hunter@...el.com>
To: Avri Altman <Avri.Altman@....com>,
"Martin K . Petersen" <martin.petersen@...cle.com>,
"James E . J . Bottomley" <jejb@...ux.ibm.com>
Cc: "linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Alim Akhtar <alim.akhtar@...sung.com>
Subject: Re: [PATCH 1/2] scsi: ufs: Add DeepSleep feature
On 5/10/20 11:02 am, Avri Altman wrote:
> HI,
>
>> 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.
> I would expect that this capability controls sending SSU 4, but it only controls the sysfs entry?
The sysfs entry is the only way to request DeepSleep.
>
>>
>> It is assumed that UFS devices with wspecversion >= 0x310 support
>> DeepSleep.
>>
>> The UFS specification says to set the IMMED (immediate) flag for the
>> Start/Stop Unit command when entering DeepSleep. However some UFS
>> devices object to that, which is addressed in a subsequent patch.
> After failing to understand what the proper behavior should be with respect of the IMMED bit,
> Although I read the applicable section few time, I gave up and consult our system guy,
> Which is our jedec representative. This is his answer:
> "...
> In order to avoid uncertainty - the host need to set IMMED bit to '0' (this is explicitly specified by the standard).
> The device responds only after it switches to Pre-DeepSleep state. The host then switch to H8 and this would trigger the device to transition to DeepSleep state.
> ..."
>
> So maybe the 2nd patch isn't really needed.
Yes I managed to get it the wrong way around! I will drop patch 2 and send
V2 of patch 1 in due course.
Powered by blists - more mailing lists