[PATCH v2 00/20] UFS patches for kernel v5.17

Bart Van Assche
2021-11-19T19:57:52Z

Hi Martin,

This patch series includes the following changes:
- Introduce internal command and reserved tag support in the SCSI core.
- Fix a deadlock in the UFS error handler.
- Add polling support in the UFS driver.
- Several smaller fixes for the UFS driver.

Please consider these UFS driver kernel patches for kernel v5.17.

Thanks,

Bart.

Changes compared to v1:
- Introduced the symbolic constant UFSHCD_NUM_RESERVED.
- Changed the behavior of the patch that removes the clock scaling lock from
ufshcd_queuecommand() such that it again waits until all pending commands
have finished before changing the clock frequency.
- Split the patch that optimizes ufshcd_queuecommand().
- Added patches that introduce support for internal command management in the
SCSI core.
- Introduced a new function ufshcd_release_scsi_cmd().

Bart Van Assche (18):
scsi: core: Unexport scsi_track_queue_full()
scsi: core: Fix scsi_device_max_queue_depth()
scsi: core: Fix a race between scsi_done() and scsi_times_out()
scsi: core: Add support for reserved tags
scsi: ufs: Rename a function argument
scsi: ufs: Remove is_rpmb_wlun()
scsi: ufs: Remove the sdev_rpmb member
scsi: ufs: Remove dead code
scsi: ufs: Switch to scsi_(get|put)_internal_cmd()
scsi: ufs: Rework ufshcd_change_queue_depth()
scsi: ufs: Fix a deadlock in the error handler
scsi: ufs: Introduce ufshcd_release_scsi_cmd()
scsi: ufs: Improve SCSI abort handling
scsi: ufs: Fix a kernel crash during shutdown
scsi: ufs: Stop using the clock scaling lock in the error handler
scsi: ufs: Optimize the command queueing code
scsi: ufs: Implement polling support
scsi: ufs: Fix race conditions related to driver data

Hannes Reinecke (2):
block: Add a flag for internal commands
scsi: core: Add support for internal commands

block/blk-exec.c | 5 +
drivers/scsi/scsi.c | 5 +-
drivers/scsi/scsi_error.c | 29 +--
drivers/scsi/scsi_lib.c | 50 +++-
drivers/scsi/ufs/tc-dwc-g210-pci.c | 1 -
drivers/scsi/ufs/ufs-exynos.c | 4 +-
drivers/scsi/ufs/ufshcd-pci.c | 2 -
drivers/scsi/ufs/ufshcd-pltfrm.c | 2 -
drivers/scsi/ufs/ufshcd.c | 375 ++++++++++++++++-------------
drivers/scsi/ufs/ufshcd.h | 5 +-
include/linux/blk-mq.h | 5 +
include/linux/blk_types.h | 2 +
include/scsi/scsi_device.h | 4 +
include/scsi/scsi_host.h | 9 +-
14 files changed, 301 insertions(+), 197 deletions(-)