Re: [PATCH v4 4/5] scsi: ufs: Do not clear the DL layer timers

From: cang
Date: Mon Nov 25 2019 - 02:39:12 EST


On 2019-11-25 15:22, Avri Altman wrote:
>
> During power mode change, PACP_PWR_Req frame sends
PAPowerModeUserData
> parameters (and they are considered valid by device if Flags[4] -
> UserDataValid bit is set in the same frame).
> Currently we don't set these PAPowerModeUserData parameters and
> hardware always sets UserDataValid bit which would clear all the DL
> layer timeout values of the peer device after the power mode change.
>
> This change sets the PAPowerModeUserData[0..5] to UniPro specification
> recommended default values, in addition we are also setting the
> relevant
> DME_LOCAL_* timer attributes as required by UFS HCI specification.
>
> Signed-off-by: Can Guo <cang@xxxxxxxxxxxxxx>
Reviewed-by Avri Altman <avri.altman@xxxxxxx>
BTW, I noticed that you are only updating the TC0 registers.
Why not setting the TC1 registers as well?

Thanks,
Avri

Hi Avri,

In the HCI spec, it goes

Currently, UFS uses TC0 only. Therefore, setting the following values are not needed:
ï DME_ Local_FC1ProtectionTimeOutVal
ï DME_ Local_TC1ReplayTimeOutVal
ï DME_ Local_ AFC1ReqTimeOutVal

Best Regards,
Can Guo.