summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVenkat Gopalakrishnan <venkatg@codeaurora.org>2016-11-02 15:19:22 -0700
committerSubhash Jadavani <subhashj@codeaurora.org>2016-11-24 07:50:23 -0800
commitc1f300eab8f1eb0724c6be3e80da7ce2be2fa35d (patch)
treef6b2285be44c02c6c7f4866fffead4134134ed33
parent6a714c1bf8c2de645f7232cccbf17049f9e241df (diff)
scsi: ufs: perform full reset at initialization
The phy initialization sequence assumes a POR state but the bootloaders can leave PHY at an already initialized state, hence there could potentially be issues with the initialization from ufs driver. Perform a full reset to start from a power on reset state. Also a reset is required by the UFS hardware programming guide. Change-Id: I0118b0d3013166aeec0bb0bc0ef181e48998e758 Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
-rw-r--r--drivers/scsi/ufs/ufshcd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 67e1636c25ec..e52aed51f67d 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -9419,6 +9419,9 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq)
goto exit_gating;
}
+ /* Reset controller to power on reset (POR) state */
+ ufshcd_vops_full_reset(hba);
+
/* Host controller enable */
err = ufshcd_hba_enable(hba);
if (err) {