]> 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)
commit410bf84b5695179238cf35e31216850077ce6f6a
tree54b9bba27ee37a5ecb14ba664757543acb9e37b0
parent9e6fbcf3c3c1ce2d761412c9df57d615f22415ae
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