Message ID | 1557912988-26758-1-git-send-email-stanley.chu@mediatek.com (mailing list archive) |
---|---|
Headers | show |
Series | scsi: ufs: Add error handling of Auto-Hibernate | expand |
Hi Avri, Alim, Pedro, Gentle ping for this patch. On Wed, 2019-05-15 at 17:36 +0800, Stanley Chu wrote: > Currently auto-hibernate is activated if host supports > auto-hibern8 capability. However error-handling is not implemented, > which makes the feature somewhat risky. > > If either "Hibernate Enter" or "Hibernate Exit" fail during > auto-hibernate flow, the corresponding interrupt > "UIC_HIBERNATE_ENTER" or "UIC_HIBERNATE_EXIT" shall be raised > according to UFS specification. > > This patch adds auto-hibernate error-handling: > > - Monitor "Hibernate Enter" and "Hibernate Exit" interrupts after > auto-hibernate feature is activated. > > - If fail happens, trigger error-handling just like "manual-hibernate" > fail and apply the same recovery flow: schedule UFS error handler in > ufshcd_check_errors(), and then do host reset and restore > in UFS error handler. > > v2: > - Fix sentences in commit message (Marc Gonzalez) > - Make "Auto-Hibernate" error detection more precise (Bean Huo) > > Stanley Chu (3): > scsi: ufs: Do not overwrite Auto-Hibernate timer > scsi: ufs: Add error-handling of Auto-Hibernate > scsi: ufs: Use re-factored Auto-Hibernate function > > drivers/scsi/ufs/ufshcd.c | 33 ++++++++++++++++++++++++++++++++- > drivers/scsi/ufs/ufshcd.h | 5 +++++ > drivers/scsi/ufs/ufshci.h | 3 +++ > 3 files changed, 40 insertions(+), 1 deletion(-) > Thanks, Stanley