[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BY5PR04MB67054C67CCA53AB5FC5CBCFAFC0C0@BY5PR04MB6705.namprd04.prod.outlook.com>
Date: Mon, 5 Oct 2020 08:02:13 +0000
From: Avri Altman <Avri.Altman@....com>
To: Adrian Hunter <adrian.hunter@...el.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
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?
>
> 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.
Thanks,
Avri
Powered by blists - more mailing lists