diff --git a/drivers/ufs/host/ufs-rockchip.c b/drivers/ufs/host/ufs-rockchip.c index bef0ab45013b..b37bc14a23d0 100644 --- a/drivers/ufs/host/ufs-rockchip.c +++ b/drivers/ufs/host/ufs-rockchip.c @@ -433,14 +433,14 @@ static int ufs_rockchip_rk3576_init(struct ufs_hba *hba) /* Enable runtime autosuspend */ hba->caps |= UFSHCD_CAP_RPM_AUTOSUSPEND; - /* Enable clock-gating */ - hba->caps |= UFSHCD_CAP_CLK_GATING; /* Enable BKOPS when suspend */ hba->caps |= UFSHCD_CAP_AUTO_BKOPS_SUSPEND; /* Enable putting device into deep sleep */ hba->caps |= UFSHCD_CAP_DEEPSLEEP; /* Enable devfreq of UFS */ hba->caps |= UFSHCD_CAP_CLK_SCALING; + /* Enable WriteBooster */ + hba->caps |= UFSHCD_CAP_WB_EN; ret = ufs_rockchip_common_init(hba); if (ret) { @@ -585,6 +585,10 @@ static int ufs_rockchip_runtime_resume(struct device *dev) return err; } + reset_control_assert(host->rst); + udelay(1); + reset_control_deassert(host->rst); + ufs_rockchip_restore_link(hba, false); return ufshcd_runtime_resume(dev);