diff options
author | Subhash Jadavani <subhashj@codeaurora.org> | 2015-02-20 12:09:55 -0800 |
---|---|---|
committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 10:58:57 -0700 |
commit | 04825be019a90563774fb922ca3f0ece1cca0d7a (patch) | |
tree | d5bd41b071ae1883df99262e324cd49fd6b2ba17 | |
parent | 01955a9ec968f900fb2cbed11f4c0d61f7c9221b (diff) |
scsi: ufs-qcom: disable lane symbol clocks if link is not active
UFS lane symbol clocks can be disabled if the UFS link is not active,
this change adds support to vote these clocks off when link is inactive.
Change-Id: Id441d34b0b8ad4f3a3f3e0dacb8c9797b1de64b6
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
-rw-r--r-- | drivers/scsi/ufs/ufs-qcom.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c index 9df457a0cacf..ed434a568977 100644 --- a/drivers/scsi/ufs/ufs-qcom.c +++ b/drivers/scsi/ufs/ufs-qcom.c @@ -595,6 +595,7 @@ static int ufs_qcom_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op) * rail and low noise analog power rail for PLL can be switched off. */ if (!ufs_qcom_is_link_active(hba)) { + ufs_qcom_disable_lane_clks(host); phy_power_off(phy); ufs_qcom_ice_suspend(host); } @@ -616,6 +617,10 @@ static int ufs_qcom_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op) goto out; } + err = ufs_qcom_enable_lane_clks(host); + if (err) + goto out; + err = ufs_qcom_ice_resume(host); if (err) { dev_err(hba->dev, "%s: ufs_qcom_ice_resume failed, err = %d\n", |