Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a75bb434 authored by Stanley Chu's avatar Stanley Chu Committed by Greg Kroah-Hartman
Browse files

UPSTREAM: scsi: ufs: Cleanup WriteBooster feature

Small cleanup as below items,

 1. Use ufshcd_is_wb_allowed() directly instead of ufshcd_wb_sup() since
    ufshcd_wb_sup() just returns the result of ufshcd_is_wb_allowed().

 2. In ufshcd_suspend(), "else if (!ufshcd_is_runtime_pm(pm_op)) can be
    simplified to "else" since both have the same meaning.

This patch does not change any functionality.

Link: https://lore.kernel.org/r/20200508080115.24233-9-stanley.chu@mediatek.com


Reviewed-by: default avatarAvri Altman <avri.altman@wdc.com>
Reviewed-by: default avatarAsutosh Das <asutoshd@codeaurora.org>
Signed-off-by: default avatarStanley Chu <stanley.chu@mediatek.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>

Bug: 151050916
(cherry picked from commit 79e3520f82cb91e46e7db1af14ad916d6036dde8)
Change-Id: I7329575ba3ddce6976072c91570a71f1bbbbe92f
Signed-off-by: default avatarStanley Chu <stanley.chu@mediatek.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 3ea1305d
Loading
Loading
Loading
Loading
+7 −13
Original line number Diff line number Diff line
@@ -253,7 +253,6 @@ static int ufshcd_scale_clks(struct ufs_hba *hba, bool scale_up);
static irqreturn_t ufshcd_intr(int irq, void *__hba);
static int ufshcd_change_power_mode(struct ufs_hba *hba,
			     struct ufs_pa_layer_attr *pwr_mode);
static bool ufshcd_wb_sup(struct ufs_hba *hba);
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);
@@ -285,7 +284,7 @@ static inline void ufshcd_wb_config(struct ufs_hba *hba)
{
	int ret;

	if (!ufshcd_wb_sup(hba))
	if (!ufshcd_is_wb_allowed(hba))
		return;

	ret = ufshcd_wb_ctrl(hba, true);
@@ -5415,18 +5414,13 @@ static void ufshcd_bkops_exception_event_handler(struct ufs_hba *hba)
				__func__, err);
}

static bool ufshcd_wb_sup(struct ufs_hba *hba)
{
	return ufshcd_is_wb_allowed(hba);
}

static int ufshcd_wb_ctrl(struct ufs_hba *hba, bool enable)
{
	int ret;
	u8 index;
	enum query_opcode opcode;

	if (!ufshcd_wb_sup(hba))
	if (!ufshcd_is_wb_allowed(hba))
		return 0;

	if (!(enable ^ hba->wb_enabled))
@@ -5482,7 +5476,7 @@ static int ufshcd_wb_buf_flush_enable(struct ufs_hba *hba)
	int ret;
	u8 index;

	if (!ufshcd_wb_sup(hba) || hba->wb_buf_flush_enabled)
	if (!ufshcd_is_wb_allowed(hba) || hba->wb_buf_flush_enabled)
		return 0;

	index = ufshcd_wb_get_flag_index(hba);
@@ -5504,7 +5498,7 @@ static int ufshcd_wb_buf_flush_disable(struct ufs_hba *hba)
	int ret;
	u8 index;

	if (!ufshcd_wb_sup(hba) || !hba->wb_buf_flush_enabled)
	if (!ufshcd_is_wb_allowed(hba) || !hba->wb_buf_flush_enabled)
		return 0;

	index = ufshcd_wb_get_flag_index(hba);
@@ -5554,7 +5548,7 @@ static bool ufshcd_wb_keep_vcc_on(struct ufs_hba *hba)
	int ret;
	u32 avail_buf;

	if (!ufshcd_wb_sup(hba))
	if (!ufshcd_is_wb_allowed(hba))
		return false;
	/*
	 * The ufs device needs the vcc to be ON to flush.
@@ -8419,12 +8413,12 @@ static int ufshcd_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op)
		 * configured WB type is 70% full, keep vcc ON
		 * for the device to flush the wb buffer
		 */
		if ((hba->auto_bkops_enabled && ufshcd_wb_sup(hba)) ||
		if ((hba->auto_bkops_enabled && ufshcd_is_wb_allowed(hba)) ||
		    ufshcd_wb_keep_vcc_on(hba))
			hba->dev_info.keep_vcc_on = true;
		else
			hba->dev_info.keep_vcc_on = false;
	} else if (!ufshcd_is_runtime_pm(pm_op)) {
	} else {
		hba->dev_info.keep_vcc_on = false;
	}