diff options
| author | Subhash Jadavani <subhashj@codeaurora.org> | 2015-08-06 18:28:46 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 11:00:28 -0700 |
| commit | e90b56093bc9a7fbde6206f55905e6ade7f7a133 (patch) | |
| tree | ad9c6b19b87109a82d92b2f4f5df72b3ea7dd5ab | |
| parent | ee63b346eb8a802c1b8a91242c519ef3c983e30f (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.c | 8 |
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)) { |
