mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 05:39:54 -04:00
Revert "FROMLIST: scsi: ufs-qcom: Adjust bus bandwidth voting and unvoting"
This reverts commit 9915659710.
This is a preparation change for merging android-5.4.5 into
msm-5.4 branch:
Equivalent logic was already submitted into msm-5.4.
Change-Id: Ic80f502d919e686451a79fdcce3da013f12509f0
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
This commit is contained in:
parent
09cdc723de
commit
816cd2b9fd
1 changed files with 18 additions and 39 deletions
|
|
@ -38,6 +38,7 @@ enum {
|
|||
|
||||
static struct ufs_qcom_host *ufs_qcom_hosts[MAX_UFS_QCOM_HOSTS];
|
||||
|
||||
static int ufs_qcom_set_bus_vote(struct ufs_qcom_host *host, int vote);
|
||||
static void ufs_qcom_get_default_testbus_cfg(struct ufs_qcom_host *host);
|
||||
static int ufs_qcom_set_dme_vs_core_clk_ctrl_clear_div(struct ufs_hba *hba,
|
||||
u32 clk_cycles);
|
||||
|
|
@ -629,7 +630,7 @@ static void ufs_qcom_get_speed_mode(struct ufs_pa_layer_attr *p, char *result)
|
|||
}
|
||||
}
|
||||
|
||||
static int __ufs_qcom_set_bus_vote(struct ufs_qcom_host *host, int vote)
|
||||
static int ufs_qcom_set_bus_vote(struct ufs_qcom_host *host, int vote)
|
||||
{
|
||||
int err = 0;
|
||||
|
||||
|
|
@ -660,7 +661,7 @@ static int ufs_qcom_update_bus_bw_vote(struct ufs_qcom_host *host)
|
|||
|
||||
vote = ufs_qcom_get_bus_vote(host, mode);
|
||||
if (vote >= 0)
|
||||
err = __ufs_qcom_set_bus_vote(host, vote);
|
||||
err = ufs_qcom_set_bus_vote(host, vote);
|
||||
else
|
||||
err = vote;
|
||||
|
||||
|
|
@ -671,35 +672,6 @@ static int ufs_qcom_update_bus_bw_vote(struct ufs_qcom_host *host)
|
|||
return err;
|
||||
}
|
||||
|
||||
static int ufs_qcom_set_bus_vote(struct ufs_hba *hba, bool on)
|
||||
{
|
||||
struct ufs_qcom_host *host = ufshcd_get_variant(hba);
|
||||
int vote, err;
|
||||
|
||||
/*
|
||||
* In case ufs_qcom_init() is not yet done, simply ignore.
|
||||
* This ufs_qcom_set_bus_vote() shall be called from
|
||||
* ufs_qcom_init() after init is done.
|
||||
*/
|
||||
if (!host)
|
||||
return 0;
|
||||
|
||||
if (on) {
|
||||
vote = host->bus_vote.saved_vote;
|
||||
if (vote == host->bus_vote.min_bw_vote)
|
||||
ufs_qcom_update_bus_bw_vote(host);
|
||||
} else {
|
||||
vote = host->bus_vote.min_bw_vote;
|
||||
}
|
||||
|
||||
err = __ufs_qcom_set_bus_vote(host, vote);
|
||||
if (err)
|
||||
dev_err(hba->dev, "%s: set bus vote failed %d\n",
|
||||
__func__, err);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static ssize_t
|
||||
show_ufs_to_mem_max_bus_bw(struct device *dev, struct device_attribute *attr,
|
||||
char *buf)
|
||||
|
|
@ -776,7 +748,7 @@ static int ufs_qcom_update_bus_bw_vote(struct ufs_qcom_host *host)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int ufs_qcom_set_bus_vote(struct ufs_hba *host, bool on)
|
||||
static int ufs_qcom_set_bus_vote(struct ufs_qcom_host *host, int vote)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1021,7 +993,8 @@ static int ufs_qcom_setup_clocks(struct ufs_hba *hba, bool on,
|
|||
enum ufs_notify_change_status status)
|
||||
{
|
||||
struct ufs_qcom_host *host = ufshcd_get_variant(hba);
|
||||
int err = 0;
|
||||
int err;
|
||||
int vote = 0;
|
||||
|
||||
/*
|
||||
* In case ufs_qcom_init() is not yet done, simply ignore.
|
||||
|
|
@ -1031,21 +1004,28 @@ static int ufs_qcom_setup_clocks(struct ufs_hba *hba, bool on,
|
|||
if (!host)
|
||||
return 0;
|
||||
|
||||
if (on && (status == PRE_CHANGE)) {
|
||||
err = ufs_qcom_set_bus_vote(hba, true);
|
||||
} else if (on && (status == POST_CHANGE)) {
|
||||
if (on && (status == POST_CHANGE)) {
|
||||
/* enable the device ref clock for HS mode*/
|
||||
if (ufshcd_is_hs_mode(&hba->pwr_info))
|
||||
ufs_qcom_dev_ref_clk_ctrl(host, true);
|
||||
vote = host->bus_vote.saved_vote;
|
||||
if (vote == host->bus_vote.min_bw_vote)
|
||||
ufs_qcom_update_bus_bw_vote(host);
|
||||
|
||||
} else if (!on && (status == PRE_CHANGE)) {
|
||||
if (!ufs_qcom_is_link_active(hba)) {
|
||||
/* disable device ref_clk */
|
||||
ufs_qcom_dev_ref_clk_ctrl(host, false);
|
||||
}
|
||||
} else if (!on && (status == POST_CHANGE)) {
|
||||
err = ufs_qcom_set_bus_vote(hba, false);
|
||||
|
||||
vote = host->bus_vote.min_bw_vote;
|
||||
}
|
||||
|
||||
err = ufs_qcom_set_bus_vote(host, vote);
|
||||
if (err)
|
||||
dev_err(hba->dev, "%s: set bus vote failed %d\n",
|
||||
__func__, err);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
@ -1212,7 +1192,6 @@ static int ufs_qcom_init(struct ufs_hba *hba)
|
|||
ufs_qcom_set_caps(hba);
|
||||
ufs_qcom_advertise_quirks(hba);
|
||||
|
||||
ufs_qcom_set_bus_vote(hba, true);
|
||||
ufs_qcom_setup_clocks(hba, true, POST_CHANGE);
|
||||
|
||||
if (hba->dev->id < MAX_UFS_QCOM_HOSTS)
|
||||
|
|
|
|||
Loading…
Reference in a new issue