summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSubhash Jadavani <subhashj@codeaurora.org>2015-08-06 18:28:46 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 11:00:28 -0700
commite90b56093bc9a7fbde6206f55905e6ade7f7a133 (patch)
treead9c6b19b87109a82d92b2f4f5df72b3ea7dd5ab
parentee63b346eb8a802c1b8a91242c519ef3c983e30f (diff)
scsi: ufs-qcom: resume ICE driver after clock ungating
UFS core driver may power collapse the UFS host controller during clock gating hence we might loose some of the ICE register configuration. In order to restore ICE register configuration, we should call ICE driver's resume callback after ungating UFS clocks. Change-Id: I722a8037d81222c2cd493ebbe608a106f47cedfd Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
-rw-r--r--drivers/scsi/ufs/ufs-qcom.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c
index a82abd7036c6..03e975edd25d 100644
--- a/drivers/scsi/ufs/ufs-qcom.c
+++ b/drivers/scsi/ufs/ufs-qcom.c
@@ -1280,7 +1280,15 @@ static int ufs_qcom_setup_clocks(struct ufs_hba *hba, bool on,
vote = host->bus_vote.saved_vote;
if (vote == host->bus_vote.min_bw_vote)
ufs_qcom_update_bus_bw_vote(host);
+
+ err = ufs_qcom_ice_resume(host);
+ if (err)
+ goto out;
} else {
+ err = ufs_qcom_ice_suspend(host);
+ if (err)
+ goto out;
+
/* M-PHY RMMI interface clocks can be turned off */
ufs_qcom_phy_disable_iface_clk(host->generic_phy);
if (!ufs_qcom_is_link_active(hba)) {