This patch series enable support for ufshcd_abort() and error handler in MCQ mode. The first 3 patches are for supporting ufshcd_abort(). The 4th and 5th patches are for supporting error handler. Bao D. Nguyen (5): ufs: mcq: Add supporting functions for mcq abort ufs: mcq: Add support for clean up mcq resources ufs: mcq: Added ufshcd_mcq_abort() ufs: mcq: Use ufshcd_mcq_poll_cqe_lock() in mcq mode ufs: core: Add error handling for MCQ mode --- v2->v3: patch #1: - In ufshcd_mcq_sq_cleanup(), identify dev_command and correctly use the hwq dedicated for dev command. - Addressed Bart's comments: a. ufshcd_mcq_sqe_search(), renaming "i" into "slot" b. modify ufshcd_mcq_update_sq_head_slot() to return the head slot value. Removed the sq_head_slot member variable. - Addressed Seo's coment. Stop the SQ before the ufshcd_mcq_sqe_search() and restart the SQ after the search is done. patch #4 and #5: new patches for error handling. Error handling support will go together with ufshcd_abort() support. --- v1->v2: patch #1 - Removed ufshcd_mcq_cqe_search() - Removed mcq_poll_ms from the hba. Replaced with MCQ_POLL_MS patch #2 - Changed the type of mask argument from u32 to unsigned long in function ufshcd_clear_cmds() patch #3 - Removed the ufshcd_mcq_cqe_search error case --- drivers/ufs/core/ufs-mcq.c | 257 ++++++++++++++++++++++++++++++++++++++++- drivers/ufs/core/ufshcd-priv.h | 15 ++- drivers/ufs/core/ufshcd.c | 139 ++++++++++++++++++---- drivers/ufs/host/ufs-qcom.c | 2 +- include/ufs/ufshcd.h | 2 +- include/ufs/ufshci.h | 17 +++ 6 files changed, 404 insertions(+), 28 deletions(-) -- 2.7.4