mbox series

[RFC,v3,0/5] ufs: core: mcq: Add ufshcd_abort() support in MCQ mode

Message ID cover.1679564391.git.quic_nguyenb@quicinc.com (mailing list archive)
Headers show
Series ufs: core: mcq: Add ufshcd_abort() support in MCQ mode | expand

Message

Bao D. Nguyen March 23, 2023, 9:53 a.m. UTC
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(-)