RE: [PATCH v1 1/2] scsi: ufs: export hibern8 entry and exit

From: Alim Akhtar
Date: Tue Sep 28 2021 - 01:49:05 EST


Hi Bao

>-----Original Message-----
>From: nguyenb=codeaurora.org@xxxxxxxxxxxxxxxxx
>[mailto:nguyenb=codeaurora.org@xxxxxxxxxxxxxxxxx] On Behalf Of Bao D.
>Nguyen
>Sent: Tuesday, September 21, 2021 2:38 AM
>To: cang@xxxxxxxxxxxxxx; asutoshd@xxxxxxxxxxxxxx;
>martin.petersen@xxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx
>Cc: linux-arm-msm@xxxxxxxxxxxxxxx; Bao D . Nguyen
><nguyenb@xxxxxxxxxxxxxx>; Alim Akhtar <alim.akhtar@xxxxxxxxxxx>; Avri
>Altman <avri.altman@xxxxxxx>; James E.J. Bottomley <jejb@xxxxxxxxxxxxx>;
>Bean Huo <beanhuo@xxxxxxxxxx>; Stanley Chu <stanley.chu@xxxxxxxxxxxx>;
>Bart Van Assche <bvanassche@xxxxxxx>; Jaegeuk Kim <jaegeuk@xxxxxxxxxx>;
>Adrian Hunter <adrian.hunter@xxxxxxxxx>; Keoseong Park
><keosung.park@xxxxxxxxxxx>; open list <linux-kernel@xxxxxxxxxxxxxxx>
>Subject: [PATCH v1 1/2] scsi: ufs: export hibern8 entry and exit
>
>From: Asutosh Das <asutoshd@xxxxxxxxxxxxxx>
>
>Qualcomm controllers need to be in hibern8 before scaling up or down the
>clocks. Hence, export the hibern8 entry and exit functions.
>
>Signed-off-by: Asutosh Das <asutoshd@xxxxxxxxxxxxxx>
>Signed-off-by: Bao D. Nguyen <nguyenb@xxxxxxxxxxxxxx>
>---
> drivers/scsi/ufs/ufshcd.c | 4 ++--
> drivers/scsi/ufs/ufshcd.h | 2 ++
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
>diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index
>3841ab49..f3aad32 100644
>--- a/drivers/scsi/ufs/ufshcd.c
>+++ b/drivers/scsi/ufs/ufshcd.c
>@@ -227,7 +227,6 @@ static void ufshcd_hba_exit(struct ufs_hba *hba);
static
>int ufshcd_clear_ua_wluns(struct ufs_hba *hba); static int
>ufshcd_probe_hba(struct ufs_hba *hba, bool async); static int
>ufshcd_setup_clocks(struct ufs_hba *hba, bool on); -static int
>ufshcd_uic_hibern8_enter(struct ufs_hba *hba); static inline void
>ufshcd_add_delay_before_dme_cmd(struct ufs_hba *hba); static int
>ufshcd_host_reset_and_restore(struct ufs_hba *hba); static void
>ufshcd_resume_clkscaling(struct ufs_hba *hba); @@ -4116,7 +4115,7 @@ int
>ufshcd_link_recovery(struct ufs_hba *hba) }
>EXPORT_SYMBOL_GPL(ufshcd_link_recovery);
>
>-static int ufshcd_uic_hibern8_enter(struct ufs_hba *hba)
>+int ufshcd_uic_hibern8_enter(struct ufs_hba *hba)
> {
> int ret;
> struct uic_command uic_cmd = {0};
>@@ -4138,6 +4137,7 @@ static int ufshcd_uic_hibern8_enter(struct ufs_hba
>*hba)
>
> return ret;
> }
>+EXPORT_SYMBOL_GPL(ufshcd_uic_hibern8_enter);
>
> int ufshcd_uic_hibern8_exit(struct ufs_hba *hba) { diff --git
>a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h index
52ea6f3..0cc55a2
>100644
>--- a/drivers/scsi/ufs/ufshcd.h
>+++ b/drivers/scsi/ufs/ufshcd.h
>@@ -1397,4 +1397,6 @@ static inline int ufshcd_rpmb_rpm_put(struct ufs_hba
>*hba)
> return pm_runtime_put(&hba->sdev_rpmb->sdev_gendev);
> }
>
>+int ufshcd_uic_hibern8_enter(struct ufs_hba *hba); int
>+ufshcd_uic_hibern8_exit(struct ufs_hba *hba);

This will add ufshcd_uic_hibern8_exit() twice, it is already add by
commit: 9d19bf7ad168a8: scsi: ufs: export some functions for vendor usage

Also move ufshcd_uic_hibern8_enter() before _earlier_
ufshcd_uic_hibern8_exit() declaration.

> #endif /* End of Header */
>--
>The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a
>Linux Foundation Collaborative Project