Enable power management for ufs wlun
Status from this message: Applied to 5.14/scsi-staging, thanks!
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v21 Latest2 patches 4 repliesApplied
- v202 patches 9 repliesSuperseded
- v192 patches 2 repliesSuperseded
Earlier versions · 16
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v18 | 2 patches | 6 replies | Superseded | |
| v17 | 2 patches | 6 replies | Superseded | |
| v16 | 2 patches | 2 replies | Superseded | |
| v15 | 2 patches | 2 replies | Superseded | |
| v14 | 2 patches | 3 replies | Superseded | |
| v13 | 2 patches | 3 replies | Superseded | |
| v12 | 2 patches | 10 replies | Superseded | |
| v11 | 2 patches | 5 replies | Superseded | |
| v10 | 2 patches | 25 replies | Superseded | |
| v9 | 2 patches | 2 replies | Superseded | |
| v8 | 2 patches | 3 replies | Superseded | |
| v7 | 2 patches | 2 replies | Superseded | |
| v6 | 2 patches | 0 replies | Superseded | |
| v5 | 2 patches | 2 replies | Superseded | |
| v4 | 2 patches | 3 replies | Superseded | |
| v3 RFC | 1 patch | 9 replies | Superseded |
Changes in v21 from the cover letter
- Addressed Adrian's comments
Patches in v21 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/2 | scsi: ufs: Enable power management for wlundrivers/ drivers/ drivers/ +10 more | +573 | 1 reply | |
| 2/2 | ufs: sysfs: Resume the proper scsi devicedrivers/ | +12 | 0 replies |
Reviews trailers per patch
All 2 patches have a Reviewed-by or Acked-by.
| Patch | Adrian Hunter | Can Guo |
|---|---|---|
| 1/2 | R-b | |
| 2/2 | R-b | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v21 0/2] Enable power management for ufs wlun
This patch attempts to fix a deadlock in ufs while sending SSU. Recently, blk_queue_enter() added a check to not process requests if the queue is suspended. That leads to a resume of the associated device which is suspended. In ufs, that device is ufs device wlun and it's parent is ufs_hba. This resume tries to resume ufs device wlun which in turn tries to resume ufs_hba, which is already in the process of suspending, thus causing a deadlock.
This patch takes care of:
* Suspending the ufs device lun only after all other luns are suspended
* Sending SSU during ufs device wlun suspend
* Clearing uac for rpmb and ufs device wlun
* Not sending commands to the device during host suspend
v20 -> v21:
- Addressed Adrian's comments
v19 -> v20:
- Addressed Adrian's comments
- Addressed Bart's comments
v18 -> v19:
- Addressed Adrian's comments
- Fixed smatch warnings
v17 -> v18:
- Addressed Adrian's comments
v16 -> v17:
- Addressed Adrian's & Daejun's comments
v15 -> v16:
- Brought back the missing changes
* Added scsi_autopm_[get/put] to ufs_debugfs[get/put]_user_access()
* Fix ufshcd_wl_poweroff()
v14 -> v15:
- Rebased on 5.13/scsi-staging
v13 -> v14:
- Addressed Adrian's comments
* Rebased it on top of scsi-next
* Added scsi_autopm_[get/put] to ufs_debugfs[get/put]_user_access()
* Resume the device in ufshcd_remove()
* Unregister ufs_rpmb_wlun before ufs_dev_wlun
* hba->shutting_down moved to ufshcd_wl_shutdown()
v12 -> v13:
- Addressed Adrian's comments
* Paired pm_runtime_get_noresume() with pm_runtime_put()
* no rpm_autosuspend for ufs device wlun
* Moved runtime-pm init functionality to ufshcd_wl_probe()
- Addressed Bart's comments
* Expanded abbrevs in commit message
v11 -> v12:
- Addressed Adrian's comments
* Fixed ahit for Mediatek driver
* Fixed error handling in ufshcd_core_init()
* Tested this patch and the issue is still seen.
v10 -> v11:
- Fixed supplier suspending before consumer race
- Addressed Adrian's comments
* Added proper resume/suspend cb to ufshcd_auto_hibern8_update()
* Cosmetic changes to ufshcd-pci.c
* Cleaned up ufshcd_system_suspend()
* Added ufshcd_debugfs_eh_exit to ufshcd_core_init()
v9 -> v10:
- Addressed Adrian's comments
* Moved suspend/resume vops to __ufshcd_wl_[suspend/resume]()
* Added correct resume in ufs_bsg
v8 -> v9:
- Addressed Adrian's comments
* Moved link transition to __ufshcd_wl_[suspend/resume]()
* Fixed the other minor comments
v7 -> v8:
- Addressed Adrian's comments
* Removed separate autosuspend delay for ufs-device lun
* Fixed the ee handler getting scheduled during pm
* Always runtime resume in suspend_prepare()
* Added CONFIG_PM_SLEEP where needed
v6 -> v7:
* Resume the ufs device before shutting it down
v5 -> v6:
- Addressed Adrian's comments
* Added complete() cb
* Added suspend_prepare() and complete() to all drivers
* Moved suspend_prepare() and complete() to ufshcd
* .poweroff() uses ufhcd_wl_poweroff()
* Removed several forward declarations
* Moved scsi_register_driver() to ufshcd_core_init()
v4 -> v5:
- Addressed Adrian's comments
* Used the rpmb driver contributed by Adrian
* Runtime-resume the ufs device during suspend to honor spm-lvl
* Unregister the scsi_driver in ufshcd_remove()
* Currently shutdown() puts the ufs device to power-down mode so, just removed ufshcd_pci_poweroff()
* Quiesce the scsi device during shutdown instead of remove
v3 RFC -> v4:
- Addressed Bart's comments
* Except that I didn't get any checkpatch failures
- Addressed Avri's comments
- Addressed Adrian's comments
* Added a check for deepsleep power mode
* Removed a couple of forward declarations
* Didn't separate the scsi drivers because in rpmb case it just sends uac in resume and it seemed pretty neat to me.
- Added sysfs changes to resume the devices before accessing
Asutosh Das (2):
scsi: ufs: Enable power management for wlun
ufs: sysfs: Resume the proper scsi device
drivers/scsi/ufs/cdns-pltfrm.c | 2 + drivers/scsi/ufs/tc-dwc-g210-pci.c | 2 + drivers/scsi/ufs/ufs-debugfs.c | 6 +- drivers/scsi/ufs/ufs-debugfs.h | 2 +- drivers/scsi/ufs/ufs-exynos.c | 2 + drivers/scsi/ufs/ufs-hisi.c | 2 + drivers/scsi/ufs/ufs-mediatek.c | 12 +- drivers/scsi/ufs/ufs-qcom.c | 2 + drivers/scsi/ufs/ufs-sysfs.c | 24 +- drivers/scsi/ufs/ufs_bsg.c | 6 +- drivers/scsi/ufs/ufshcd-pci.c | 36 +- drivers/scsi/ufs/ufshcd.c | 700 ++++++++++++++++++++++++++----------- drivers/scsi/ufs/ufshcd.h | 33 ++ include/trace/events/ufs.h | 20 ++ 14 files changed, 585 insertions(+), 264 deletions(-)
Signature · 1 line
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.