diff options
author | Stanley Chu <[email protected]> | 2019-12-30 13:32:29 +0800 |
---|---|---|
committer | Martin K. Petersen <[email protected]> | 2020-01-02 21:57:45 -0500 |
commit | 8588c6b032176feb5fcef8f56a1140feded5d6c4 (patch) | |
tree | cc07e61a4241e096bc1740fc68518bea1bb5d709 | |
parent | ba7af5ec5126dca17cdc8cfdb6740cdfb4bad70c (diff) |
scsi: ufs-mediatek: configure customized auto-hibern8 timer
Configure customized auto-hibern8 timer in MediaTek Chipsets.
Cc: Alim Akhtar <[email protected]>
Cc: Avri Altman <[email protected]>
Cc: Bart Van Assche <[email protected]>
Cc: Bean Huo <[email protected]>
Cc: Can Guo <[email protected]>
Cc: Florian Fainelli <[email protected]>
Cc: Matthias Brugger <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Reviewed-by: Alim Akhtar <[email protected]>
Signed-off-by: Stanley Chu <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
-rw-r--r-- | drivers/scsi/ufs/ufs-mediatek.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/scsi/ufs/ufs-mediatek.c b/drivers/scsi/ufs/ufs-mediatek.c index fc5ba21ec02a..1f025723b61b 100644 --- a/drivers/scsi/ufs/ufs-mediatek.c +++ b/drivers/scsi/ufs/ufs-mediatek.c @@ -7,6 +7,7 @@ */ #include <linux/arm-smccc.h> +#include <linux/bitfield.h> #include <linux/of.h> #include <linux/of_address.h> #include <linux/phy/phy.h> @@ -305,6 +306,13 @@ static int ufs_mtk_post_link(struct ufs_hba *hba) /* enable unipro clock gating feature */ ufs_mtk_cfg_unipro_cg(hba, true); + /* configure auto-hibern8 timer to 10ms */ + if (ufshcd_is_auto_hibern8_supported(hba)) { + ufshcd_auto_hibern8_update(hba, + FIELD_PREP(UFSHCI_AHIBERN8_TIMER_MASK, 10) | + FIELD_PREP(UFSHCI_AHIBERN8_SCALE_MASK, 3)); + } + return 0; } |