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

From: Pedro Sousa
Date: Mon Nov 11 2019 - 10:27:51 EST


Hi Asutosh,

Reviewed-by: Pedro Sousa <pedrom.sousa@xxxxxxxxxxxx>

Thanks!
Pedro Sousa

-----Original Message-----
From: Asutosh Das <asutoshd@xxxxxxxxxxxxxx>
Sent: Wednesday, October 23, 2019 5:49 PM
To: cang@xxxxxxxxxxxxxx; rnayak@xxxxxxxxxxxxxx; vinholikatti@xxxxxxxxx; jejb@xxxxxxxxxxxxxxxxxx; martin.petersen@xxxxxxxxxx
Cc: linux-scsi@xxxxxxxxxxxxxxx; kernel-team@xxxxxxxxxxx; saravanak@xxxxxxxxxx; salyzyn@xxxxxxxxxx; Asutosh Das <asutoshd@xxxxxxxxxxxxxx>; Alim Akhtar <alim.akhtar@xxxxxxxxxxx>; Avri Altman <avri.altman@xxxxxxx>; Pedro Sousa <pedrom.sousa@xxxxxxxxxxxx>; James E.J. Bottomley <jejb@xxxxxxxxxxxxx>; Stanley Chu <stanley.chu@xxxxxxxxxxxx>; Bean Huo <beanhuo@xxxxxxxxxx>; Tomas Winkler <tomas.winkler@xxxxxxxxx>; Subhash Jadavani <subhashj@xxxxxxxxxxxxxx>; Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>; Arnd Bergmann <arnd@xxxxxxxx>; open list <linux-kernel@xxxxxxxxxxxxxxx>
Subject: [PATCH v3 1/2] scsi: ufs: export hibern8 entry and exit

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>
---
drivers/scsi/ufs/ufshcd.c | 8 ++++----
drivers/scsi/ufs/ufshcd.h | 3 ++-
2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index c28c144..57d9315 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -250,8 +250,6 @@ static int ufshcd_probe_hba(struct ufs_hba *hba);
static int __ufshcd_setup_clocks(struct ufs_hba *hba, bool on,
bool skip_ref_clk);
static int ufshcd_setup_clocks(struct ufs_hba *hba, bool on);
-static int ufshcd_uic_hibern8_exit(struct ufs_hba *hba);
-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);
@@ -3904,7 +3902,7 @@ static int __ufshcd_uic_hibern8_enter(struct ufs_hba *hba)
return ret;
}

-static int ufshcd_uic_hibern8_enter(struct ufs_hba *hba)
+int ufshcd_uic_hibern8_enter(struct ufs_hba *hba)
{
int ret = 0, retries;

@@ -3916,8 +3914,9 @@ static int ufshcd_uic_hibern8_enter(struct ufs_hba *hba)
out:
return ret;
}
+EXPORT_SYMBOL_GPL(ufshcd_uic_hibern8_enter);

-static int ufshcd_uic_hibern8_exit(struct ufs_hba *hba)
+int ufshcd_uic_hibern8_exit(struct ufs_hba *hba)
{
struct uic_command uic_cmd = {0};
int ret;
@@ -3943,6 +3942,7 @@ static int ufshcd_uic_hibern8_exit(struct ufs_hba *hba)

return ret;
}
+EXPORT_SYMBOL_GPL(ufshcd_uic_hibern8_exit);

static void ufshcd_auto_hibern8_enable(struct ufs_hba *hba)
{
diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h
index e0fe247..1e3daf5 100644
--- a/drivers/scsi/ufs/ufshcd.h
+++ b/drivers/scsi/ufs/ufshcd.h
@@ -1107,5 +1107,6 @@ static inline u8 ufshcd_scsi_to_upiu_lun(unsigned int scsi_lun)

int ufshcd_dump_regs(struct ufs_hba *hba, size_t offset, size_t len,
const char *prefix);
-
+int ufshcd_uic_hibern8_enter(struct ufs_hba *hba);
+int ufshcd_uic_hibern8_exit(struct ufs_hba *hba);
#endif /* End of Header */
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.