summaryrefslogtreecommitdiffstats
path: root/include/ufs
diff options
context:
space:
mode:
authorManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>2022-12-22 19:39:57 +0530
committerMartin K. Petersen <martin.petersen@oracle.com>2023-01-11 21:49:34 -0500
commit96a7141da33207672d7a354c885d65af4f0f9b6c (patch)
tree48cefb7e7d3d0ceb1f30d4b4d5270f4a05049522 /include/ufs
parentc2c38c573a2e6184f9acd10e98305d3cb5f1c62b (diff)
downloadlinux-stable-96a7141da33207672d7a354c885d65af4f0f9b6c.tar.gz
linux-stable-96a7141da33207672d7a354c885d65af4f0f9b6c.tar.bz2
linux-stable-96a7141da33207672d7a354c885d65af4f0f9b6c.zip
scsi: ufs: core: Add support for reinitializing the UFS device
Some platforms like Qcom, requires the UFS device to be reinitialized after switching to maximum gear speed. So add support for that in UFS core by introducing a new quirk (UFSHCD_CAP_REINIT_AFTER_MAX_GEAR_SWITCH) and doing the reinitialization, if the quirk is enabled by the controller driver. Suggested-by: Can Guo <quic_cang@quicinc.com> Tested-by: Andrew Halaney <ahalaney@redhat.com> # Qdrive3/sa8540p-ride Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'include/ufs')
-rw-r--r--include/ufs/ufshcd.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/ufs/ufshcd.h b/include/ufs/ufshcd.h
index 97f007d3b851..ff138927676b 100644
--- a/include/ufs/ufshcd.h
+++ b/include/ufs/ufshcd.h
@@ -596,6 +596,12 @@ enum ufshcd_quirks {
* auto-hibernate capability but it's FASTAUTO only.
*/
UFSHCD_QUIRK_HIBERN_FASTAUTO = 1 << 18,
+
+ /*
+ * This quirk needs to be enabled if the host controller needs
+ * to reinit the device after switching to maximum gear.
+ */
+ UFSHCD_QUIRK_REINIT_AFTER_MAX_GEAR_SWITCH = 1 << 19,
};
enum ufshcd_caps {