summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoag <noag@codeaurora.org>2014-01-15 10:52:53 +0200
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 10:56:32 -0700
commit90c7800a6d959caed423f0b345976a2c9ed1b47f (patch)
tree15829b4fd2cc387c03c105ef35bd2079b06ee96c
parent57e694f677e91e604222b810dfdbebe66260e2af (diff)
scsi: ufs: read ref clk and icc level during init only
In order to minimize resume latency, pre-fetch icc levels and reference clock during initialization and avoid reading them each link startup during resume. Change-Id: Iab705068e46114eb3caa00c6e1b88a7862385d08 Signed-off-by: Noag <noag@codeaurora.org> [subhashj@codeaurora.org: resolved merge conflicts] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
-rw-r--r--drivers/scsi/ufs/ufshcd.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 9507b1d994c9..9d30b431dd12 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -4638,12 +4638,14 @@ static int ufshcd_probe_hba(struct ufs_hba *hba)
if (ret)
goto out;
- ret = ufshcd_get_device_ref_clk(hba);
- if (ret) {
- dev_err(hba->dev,
- "%s: Failed reading bRefClkFreq attribute\n",
- __func__);
- ret = 0;
+ if (!hba->is_init_prefetch) {
+ ret = ufshcd_get_device_ref_clk(hba);
+ if (ret) {
+ dev_err(hba->dev,
+ "%s: Failed reading bRefClkFreq attribute\n",
+ __func__);
+ ret = 0;
+ }
}
/* UFS device is also active now */