mbox series

[0/5] scsi: ufs: Bug fixes for ufs core and platform drivers

Message ID 20241111-ufs_bug_fix-v1-0-45ad8b62f02e@linaro.org
Headers show
Series scsi: ufs: Bug fixes for ufs core and platform drivers | expand

Message

Manivannan Sadhasivam via B4 Relay Nov. 11, 2024, 5:48 p.m. UTC
Hi,

This series has several bug fixes that I encountered when the ufs-qcom driver
was removed and inserted back. But the fixes are applicable to other platform
glue drivers as well.

This series is tested on Qcom RB5 development board based on SM8250 SoC.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
---
Manivannan Sadhasivam (5):
      scsi: ufs: core: Cancel RTC work during ufshcd_remove()
      scsi: ufs: qcom: Only free platform MSIs when ESI is enabled
      scsi: ufs: pltfrm: Disable runtime PM during removal of glue drivers
      scsi: ufs: pltfrm: Drop PM runtime reference count after ufshcd_remove()
      scsi: ufs: pltfrm: Dellocate HBA during ufshcd_pltfrm_remove()

 drivers/ufs/core/ufshcd.c             |  1 +
 drivers/ufs/host/cdns-pltfrm.c        |  4 +---
 drivers/ufs/host/tc-dwc-g210-pltfrm.c |  5 +----
 drivers/ufs/host/ufs-exynos.c         |  3 +--
 drivers/ufs/host/ufs-hisi.c           |  4 +---
 drivers/ufs/host/ufs-mediatek.c       |  5 +----
 drivers/ufs/host/ufs-qcom.c           |  7 ++++---
 drivers/ufs/host/ufs-renesas.c        |  4 +---
 drivers/ufs/host/ufs-sprd.c           |  5 +----
 drivers/ufs/host/ufshcd-pltfrm.c      | 16 ++++++++++++++++
 drivers/ufs/host/ufshcd-pltfrm.h      |  1 +
 11 files changed, 29 insertions(+), 26 deletions(-)
---
base-commit: 59b723cd2adbac2a34fc8e12c74ae26ae45bf230
change-id: 20241111-ufs_bug_fix-6d17f39afaa4

Best regards,

Comments

Peter Wang (王信友) Nov. 12, 2024, 2:15 a.m. UTC | #1
On Mon, 2024-11-11 at 23:18 +0530, Manivannan Sadhasivam via B4 Relay
wrote:
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> 
> 
> From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> 
> When the UFSHCD platform glue drivers are removed, runtime PM should
> be
> disabled using pm_runtime_disable() to balance the enablement done in
> ufshcd_pltfrm_init(). This is also reported by PM core when the glue
> driver
> is removed and inserted again:
> 
> ufshcd-qcom 1d84000.ufshc: Unbalanced pm_runtime_enable!
> 
> So disable runtime PM using a new helper API ufshcd_pltfrm_remove(),
> that
> also takes care of removing ufshcd. This helper should be called
> during the
> remove() stage of glue drivers.
> 
> Cc: stable@vger.kernel.org # 3.12
> Fixes: 62694735ca95 ("[SCSI] ufs: Add runtime PM support for UFS host
> controller driver")
> Signed-off-by: Manivannan Sadhasivam <
> manivannan.sadhasivam@linaro.org>
> ---
>  drivers/ufs/host/cdns-pltfrm.c        |  4 +---
>  drivers/ufs/host/tc-dwc-g210-pltfrm.c |  4 +---
>  drivers/ufs/host/ufs-exynos.c         |  2 +-
>  drivers/ufs/host/ufs-hisi.c           |  4 +---
>  drivers/ufs/host/ufs-mediatek.c       |  4 +---
>  drivers/ufs/host/ufs-qcom.c           |  2 +-
>  drivers/ufs/host/ufs-renesas.c        |  4 +---
>  drivers/ufs/host/ufs-sprd.c           |  4 +---
>  drivers/ufs/host/ufshcd-pltfrm.c      | 13 +++++++++++++
>  drivers/ufs/host/ufshcd-pltfrm.h      |  1 +
>  10 files changed, 22 insertions(+), 20 deletions(-)
> 
> 

Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Bart Van Assche Nov. 12, 2024, 6:40 p.m. UTC | #2
On 11/11/24 9:48 AM, Manivannan Sadhasivam via B4 Relay wrote:
> This series has several bug fixes that I encountered when the ufs-qcom driver
> was removed and inserted back. But the fixes are applicable to other platform
> glue drivers as well.

For the entire series:

Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Martin K. Petersen Nov. 21, 2024, 3:06 a.m. UTC | #3
Manivannan,

> This series has several bug fixes that I encountered when the ufs-qcom
> driver was removed and inserted back. But the fixes are applicable to
> other platform glue drivers as well.
>
> This series is tested on Qcom RB5 development board based on SM8250
> SoC.

Applied to 6.13/scsi-staging, thanks!