]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: ufs-mediatek: add error recovery for suspend and resume
authorStanley Chu <stanley.chu@mediatek.com>
Fri, 27 Mar 2020 09:53:29 +0000 (17:53 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sun, 29 Mar 2020 22:10:58 +0000 (18:10 -0400)
commit49b625af5b2a53a7045dac12f888e9c0118ae461
tree54b9bba27ee37a5ecb14ba664757543acb9e37b0
parentf73148c47d1993436d4c7195ee53b19a759cc8ec
scsi: ufs-mediatek: add error recovery for suspend and resume

Once fail happens during suspend and resume flow if the desired low power
link state is H8, link recovery is required for MediaTek UFS controller.

For resume flow, since power and clocks are already enabled before invoking
vendor's resume callback, simply using ufshcd_link_recovery() inside
callback is fine.

For suspend flow, the device power enters low power mode or is disabled
before suspend callback, thus ufshcd_link_recovery() can not be directly
used in vendor callback. One solution is to set the link to off state and
then ufshcd_host_reset_and_restore() will be executed by ufshcd_suspend().

Link: https://lore.kernel.org/r/20200327095329.10083-3-stanley.chu@mediatek.com
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufs-mediatek.c