diff mbox series

[v1] scsi: ufs: export ufshcd_wb_ctrl func

Message ID 1611382437-187970-1-git-send-email-kwmad.kim@samsung.com (mailing list archive)
State Changes Requested
Headers show
Series [v1] scsi: ufs: export ufshcd_wb_ctrl func | expand

Commit Message

Kiwoong Kim Jan. 23, 2021, 6:13 a.m. UTC
From: SEO HOYOUNG <hy50.seo@samsung.com>

Turning on write booster should eventually lead to
increasing power consumption and it needs be controlled
by a policy which should be vendor specific. Becasue
it's derived from system requirements.

So need to make this be called from outside.

Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com>
Signed-off-by: SEO HOYOUNG <hy50.seo@samsung.com>
---
 drivers/scsi/ufs/ufshcd.c | 5 +++--
 drivers/scsi/ufs/ufshcd.h | 1 +
 2 files changed, 4 insertions(+), 2 deletions(-)

Comments

Avri Altman Jan. 23, 2021, 9:27 a.m. UTC | #1
> From: SEO HOYOUNG <hy50.seo@samsung.com>
> 
> Turning on write booster should eventually lead to
> increasing power consumption and it needs be controlled
> by a policy which should be vendor specific. Becasue
> it's derived from system requirements.
> 
> So need to make this be called from outside.
Fair enough.
But you need to share this "policy" - otherwise this is just a dead code.
Few months ago, SEO HOYOUNG publish a RFC making wb implementation vendor specific.
If this is a resend attempt of that series - please make note of that.

Thanks,
Avri
diff mbox series

Patch

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index e221add..23603a6 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -246,7 +246,7 @@  static inline int ufshcd_config_vreg_hpm(struct ufs_hba *hba,
 static int ufshcd_try_to_abort_task(struct ufs_hba *hba, int tag);
 static int ufshcd_wb_buf_flush_enable(struct ufs_hba *hba);
 static int ufshcd_wb_buf_flush_disable(struct ufs_hba *hba);
-static int ufshcd_wb_ctrl(struct ufs_hba *hba, bool enable);
+int ufshcd_wb_ctrl(struct ufs_hba *hba, bool enable);
 static int ufshcd_wb_toggle_flush_during_h8(struct ufs_hba *hba, bool set);
 static inline void ufshcd_wb_toggle_flush(struct ufs_hba *hba, bool enable);
 static void ufshcd_hba_vreg_set_lpm(struct ufs_hba *hba);
@@ -5351,7 +5351,7 @@  static void ufshcd_bkops_exception_event_handler(struct ufs_hba *hba)
 				__func__, err);
 }
 
-static int ufshcd_wb_ctrl(struct ufs_hba *hba, bool enable)
+int ufshcd_wb_ctrl(struct ufs_hba *hba, bool enable)
 {
 	int ret;
 	u8 index;
@@ -5382,6 +5382,7 @@  static int ufshcd_wb_ctrl(struct ufs_hba *hba, bool enable)
 
 	return ret;
 }
+EXPORT_SYMBOL_GPL(ufshcd_wb_ctrl);
 
 static int ufshcd_wb_toggle_flush_during_h8(struct ufs_hba *hba, bool set)
 {
diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h
index 9bb5f0e..abd710e 100644
--- a/drivers/scsi/ufs/ufshcd.h
+++ b/drivers/scsi/ufs/ufshcd.h
@@ -1060,6 +1060,7 @@  void ufshcd_map_desc_id_to_length(struct ufs_hba *hba, enum desc_idn desc_id,
 u32 ufshcd_get_local_unipro_ver(struct ufs_hba *hba);
 
 int ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd);
+int ufshcd_wb_ctrl(struct ufs_hba *hba, bool enable);
 
 int ufshcd_exec_raw_upiu_cmd(struct ufs_hba *hba,
 			     struct utp_upiu_req *req_upiu,