Message ID | 70c5376129f902b6b3e9940ea3b10f147bf18a10.1632171047.git.nguyenb@codeaurora.org (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | Put Qualcomm's ufs controller to hibern8 during clock scaling | expand |
Hi Bao >-----Original Message----- >From: nguyenb=codeaurora.org@mg.codeaurora.org >[mailto:nguyenb=codeaurora.org@mg.codeaurora.org] On Behalf Of Bao D. >Nguyen >Sent: Tuesday, September 21, 2021 2:38 AM >To: cang@codeaurora.org; asutoshd@codeaurora.org; >martin.petersen@oracle.com; linux-scsi@vger.kernel.org >Cc: linux-arm-msm@vger.kernel.org; Bao D . Nguyen ><nguyenb@codeaurora.org>; Alim Akhtar <alim.akhtar@samsung.com>; Avri >Altman <avri.altman@wdc.com>; James E.J. Bottomley <jejb@linux.ibm.com>; >Bean Huo <beanhuo@micron.com>; Stanley Chu <stanley.chu@mediatek.com>; >Bart Van Assche <bvanassche@acm.org>; Jaegeuk Kim <jaegeuk@kernel.org>; >Adrian Hunter <adrian.hunter@intel.com>; Keoseong Park ><keosung.park@samsung.com>; open list <linux-kernel@vger.kernel.org> >Subject: [PATCH v1 1/2] scsi: ufs: export hibern8 entry and exit > >From: Asutosh Das <asutoshd@codeaurora.org> > >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@codeaurora.org> >Signed-off-by: Bao D. Nguyen <nguyenb@codeaurora.org> >--- > 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
On 2021-09-27 22:39, Alim Akhtar wrote: > Hi Bao > >> -----Original Message----- >> From: nguyenb=codeaurora.org@mg.codeaurora.org >> [mailto:nguyenb=codeaurora.org@mg.codeaurora.org] On Behalf Of Bao D. >> Nguyen >> Sent: Tuesday, September 21, 2021 2:38 AM >> To: cang@codeaurora.org; asutoshd@codeaurora.org; >> martin.petersen@oracle.com; linux-scsi@vger.kernel.org >> Cc: linux-arm-msm@vger.kernel.org; Bao D . Nguyen >> <nguyenb@codeaurora.org>; Alim Akhtar <alim.akhtar@samsung.com>; Avri >> Altman <avri.altman@wdc.com>; James E.J. Bottomley >> <jejb@linux.ibm.com>; >> Bean Huo <beanhuo@micron.com>; Stanley Chu <stanley.chu@mediatek.com>; >> Bart Van Assche <bvanassche@acm.org>; Jaegeuk Kim >> <jaegeuk@kernel.org>; >> Adrian Hunter <adrian.hunter@intel.com>; Keoseong Park >> <keosung.park@samsung.com>; open list <linux-kernel@vger.kernel.org> >> Subject: [PATCH v1 1/2] scsi: ufs: export hibern8 entry and exit >> >> From: Asutosh Das <asutoshd@codeaurora.org> >> >> 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@codeaurora.org> >> Signed-off-by: Bao D. Nguyen <nguyenb@codeaurora.org> >> --- >> 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 Thank you, Alim. I have corrected this in Patch V2. > > Also move ufshcd_uic_hibern8_enter() before _earlier_ > ufshcd_uic_hibern8_exit() declaration. Yes, I have addressed this in the Patch V2. Please review. Thank you. > >> #endif /* End of Header */ >> -- >> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora >> Forum, > a >> Linux Foundation Collaborative Project
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); #endif /* End of Header */