[PATCH v1 0/3] scsi: ufs: add error handlings of auto-hibern8

Stanley Chu
2019-05-13T14:36:23Z

Currently auto-hibern8 is activated if host supports
auto-hibern8 capability. However no error handlings are existed thus
this feature is kind of risky.

If "Hibernate Enter" or "Hibernate Exit" fail happens
during auto-hibern8 flow, the corresponding interrupt
"UIC_HIBERNATE_ENTER" or "UIC_HIBERNATE_EXIT" shall be raised
according to UFS specification.

This patch adds auto-hibern8 error handlings:

- Monitor "Hibernate Enter" and "Hibernate Exit" interrupts after
auto-hibern8 feature is activated.
- If fail happens, trigger error handlings just like "manual-hibernate"
fail and use the same flow: Identify errors and schedule UFS error
handler in ufshcd_check_errors(), and then do host reset and restore
in UFS error handler.

Stanley Chu (3):
scsi: ufs: do not overwrite auto-hibern8 timer
scsi: ufs: add error handling of auto-hibern8
scsi: ufs: use re-factored auto_hibern8 function

drivers/scsi/ufs/ufshcd.c | 16 +++++++++++++++-
drivers/scsi/ufs/ufshcd.h | 13 +++++++++++++
drivers/scsi/ufs/ufshci.h | 3 +++
3 files changed, 31 insertions(+), 1 deletion(-)

--
2.18.0