diff options
| author | Noag <noag@codeaurora.org> | 2014-01-15 10:52:53 +0200 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 10:56:32 -0700 |
| commit | 90c7800a6d959caed423f0b345976a2c9ed1b47f (patch) | |
| tree | 15829b4fd2cc387c03c105ef35bd2079b06ee96c | |
| parent | 57e694f677e91e604222b810dfdbebe66260e2af (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.c | 14 |
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 */ |
