mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-05 19:31:57 -04:00
ufs/hpb: enable Micron HPB feature
Remark: 1. enable Micron HPB. 2. configure write booster as JEDEC WB for Micron. Change-Id: Ic256689254187059ed97004e2305b147259f1e6a Signed-off-by: fuxm1 <fuxm1@motorola.com> Reviewed-on: https://gerrit.mot.com/1959521 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Huosheng Liao <liaohs@motorola.com> Reviewed-by: Zhenxin Xi <xizx@motorola.com> Submit-Approved: Jira Key
This commit is contained in:
parent
08db6056f8
commit
d9cbdd72fc
5 changed files with 17 additions and 7 deletions
|
|
@ -24,3 +24,6 @@ CONFIG_ZRAM_WRITEBACK=y
|
|||
# CONFIG_UFSHPB is not set
|
||||
# CONFIG_UFSTW is not set
|
||||
# CONFIG_SCSI_SKHPB is not set
|
||||
# CONFIG_UFSTW_IGNORE_GUARANTEE_BIT is not set
|
||||
# CONFIG_UFSTW_BOOT_ENABLED is not set
|
||||
# CONFIG_MICRON_HPB is not set
|
||||
|
|
|
|||
|
|
@ -22,3 +22,6 @@ CONFIG_ZRAM_WRITEBACK=y
|
|||
# CONFIG_UFSHPB is not set
|
||||
# CONFIG_UFSTW is not set
|
||||
# CONFIG_SCSI_SKHPB is not set
|
||||
# CONFIG_UFSTW_IGNORE_GUARANTEE_BIT is not set
|
||||
# CONFIG_UFSTW_BOOT_ENABLED is not set
|
||||
# CONFIG_MICRON_HPB is not set
|
||||
|
|
|
|||
3
arch/arm64/configs/vendor/holi_QGKI.config
vendored
3
arch/arm64/configs/vendor/holi_QGKI.config
vendored
|
|
@ -202,4 +202,7 @@ CONFIG_QTI_DEVFREQ_VDD_COOLING_DEVICE=y
|
|||
CONFIG_UFSFEATURE=y
|
||||
CONFIG_UFSHPB=y
|
||||
CONFIG_UFSTW=y
|
||||
CONFIG_UFSTW_IGNORE_GUARANTEE_BIT=y
|
||||
CONFIG_UFSTW_BOOT_ENABLED=y
|
||||
CONFIG_SCSI_SKHPB=y
|
||||
CONFIG_MICRON_HPB=y
|
||||
|
|
|
|||
|
|
@ -7487,6 +7487,13 @@ static void ufshcd_wb_probe(struct ufs_hba *hba, u8 *desc_buf)
|
|||
goto wb_disabled;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_UFSTW)
|
||||
//disable write booster for samsung ufs. turbo write feature is used on samsung v6 or v5 ufs.
|
||||
if (dev_info->wmanufacturerid == UFS_VENDOR_SAMSUNG) {
|
||||
dev_err(hba->dev, "%s: it is samsung ufs, just disable wb, will enable TW.wb_disable \n",__func__);
|
||||
goto wb_disabled;
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
* WB may be supported but not configured while provisioning.
|
||||
* The spec says, in dedicated wb buffer mode,
|
||||
|
|
@ -9863,7 +9870,6 @@ static int get_storage_info(struct ufs_hba *hba)
|
|||
struct property *p;
|
||||
struct device_node *n;
|
||||
struct storage_info *info;
|
||||
unsigned int mfrid;
|
||||
|
||||
n = of_find_node_by_path("/chosen/mmi,storage");
|
||||
if (n == NULL) {
|
||||
|
|
@ -9894,8 +9900,7 @@ static int get_storage_info(struct ufs_hba *hba)
|
|||
|
||||
of_node_put(n);
|
||||
|
||||
mfrid = simple_strtol(info->card_manufacturer, NULL, 16);
|
||||
dev_info(hba->dev, "manufacturer parsed from choosen is %s\n",mfrid);
|
||||
dev_info(hba->dev, "manufacturer parsed from choosen is %s\n",info->card_manufacturer);
|
||||
err:
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1160,11 +1160,7 @@ static inline bool ufshcd_is_auto_hibern8_enabled(struct ufs_hba *hba)
|
|||
|
||||
static inline bool ufshcd_is_wb_allowed(struct ufs_hba *hba)
|
||||
{
|
||||
#if defined(CONFIG_UFSTW)
|
||||
return false;
|
||||
#else
|
||||
return hba->caps & UFSHCD_CAP_WB_EN;
|
||||
#endif
|
||||
}
|
||||
|
||||
#define ufshcd_writel(hba, val, reg) \
|
||||
|
|
|
|||
Loading…
Reference in a new issue