scsi: ufs: Handle LINERESET indication in err handler
authorCan Guo <cang@codeaurora.org>
Tue, 25 Aug 2020 02:07:06 +0000 (19:07 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 3 Sep 2020 02:49:07 +0000 (22:49 -0400)
commit2355b66ed20ce442603aadc05b150db7282d8acf
tree1d7b5443782dc0320372c5220c2d104c4c28d888
parent307348f6ab144bbb625214f46bc88e810591ae65
scsi: ufs: Handle LINERESET indication in err handler

PA Layer issues a LINERESET to the PHY at the recovery step in the Power
Mode change operation. If it happens during auto or manual hibern8 enter,
even if hibern8 enter succeeds, UFS power mode shall be set to PWM-G1 mode
and kept in that mode after exit from hibern8, leading to bad performance.
Handle the LINERESET in the eh_work by restoring power mode to HS mode
after all pending reqs and tasks are cleared from doorbell.

Link: https://lore.kernel.org/r/1598321228-21093-3-git-send-email-cang@codeaurora.org
Signed-off-by: Can Guo <cang@codeaurora.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufshcd.c
drivers/scsi/ufs/ufshcd.h
drivers/scsi/ufs/ufshci.h
drivers/scsi/ufs/unipro.h