This is a patch for parameters to be used for UFS features layer and HPB
module.

Reviewed-by: Can Guo <c...@codeaurora.org>
Tested-by: Bean Huo <bean...@micron.com>
Signed-off-by: Daejun Park <daejun7.p...@samsung.com>
---
 drivers/scsi/ufs/ufs.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/scsi/ufs/ufs.h b/drivers/scsi/ufs/ufs.h
index f8ab16f30fdc..ae557b8d3eba 100644
--- a/drivers/scsi/ufs/ufs.h
+++ b/drivers/scsi/ufs/ufs.h
@@ -122,6 +122,7 @@ enum flag_idn {
        QUERY_FLAG_IDN_WB_EN                            = 0x0E,
        QUERY_FLAG_IDN_WB_BUFF_FLUSH_EN                 = 0x0F,
        QUERY_FLAG_IDN_WB_BUFF_FLUSH_DURING_HIBERN8     = 0x10,
+       QUERY_FLAG_IDN_HPB_RESET                        = 0x11,
 };
 
 /* Attribute idn for Query requests */
@@ -195,6 +196,9 @@ enum unit_desc_param {
        UNIT_DESC_PARAM_PHY_MEM_RSRC_CNT        = 0x18,
        UNIT_DESC_PARAM_CTX_CAPABILITIES        = 0x20,
        UNIT_DESC_PARAM_LARGE_UNIT_SIZE_M1      = 0x22,
+       UNIT_DESC_HPB_LU_MAX_ACTIVE_REGIONS     = 0x23,
+       UNIT_DESC_HPB_LU_PIN_REGION_START_OFFSET        = 0x25,
+       UNIT_DESC_HPB_LU_NUM_PIN_REGIONS        = 0x27,
        UNIT_DESC_PARAM_WB_BUF_ALLOC_UNITS      = 0x29,
 };
 
@@ -235,6 +239,8 @@ enum device_desc_param {
        DEVICE_DESC_PARAM_PSA_MAX_DATA          = 0x25,
        DEVICE_DESC_PARAM_PSA_TMT               = 0x29,
        DEVICE_DESC_PARAM_PRDCT_REV             = 0x2A,
+       DEVICE_DESC_PARAM_HPB_VER               = 0x40,
+       DEVICE_DESC_PARAM_HPB_CONTROL           = 0x42,
        DEVICE_DESC_PARAM_EXT_UFS_FEATURE_SUP   = 0x4F,
        DEVICE_DESC_PARAM_WB_PRESRV_USRSPC_EN   = 0x53,
        DEVICE_DESC_PARAM_WB_TYPE               = 0x54,
@@ -283,6 +289,10 @@ enum geometry_desc_param {
        GEOMETRY_DESC_PARAM_ENM4_MAX_NUM_UNITS  = 0x3E,
        GEOMETRY_DESC_PARAM_ENM4_CAP_ADJ_FCTR   = 0x42,
        GEOMETRY_DESC_PARAM_OPT_LOG_BLK_SIZE    = 0x44,
+       GEOMETRY_DESC_HPB_REGION_SIZE           = 0x48,
+       GEOMETRY_DESC_HPB_NUMBER_LU             = 0x49,
+       GEOMETRY_DESC_HPB_SUBREGION_SIZE        = 0x4A,
+       GEOMETRY_DESC_HPB_DEVICE_MAX_ACTIVE_REGIONS     = 0x4B,
        GEOMETRY_DESC_PARAM_WB_MAX_ALLOC_UNITS  = 0x4F,
        GEOMETRY_DESC_PARAM_WB_MAX_WB_LUNS      = 0x53,
        GEOMETRY_DESC_PARAM_WB_BUFF_CAP_ADJ     = 0x54,
@@ -327,6 +337,7 @@ enum {
 
 /* Possible values for dExtendedUFSFeaturesSupport */
 enum {
+       UFS_DEV_HPB_SUPPORT             = BIT(7),
        UFS_DEV_WRITE_BOOSTER_SUP       = BIT(8),
 };
 
@@ -537,6 +548,7 @@ struct ufs_dev_info {
        u8 *model;
        u16 wspecversion;
        u32 clk_gating_wait_us;
+       u8 b_ufs_feature_sup;
        u32 d_ext_ufs_feature_sup;
        u8 b_wb_buffer_type;
        u32 d_wb_alloc_units;
-- 
2.17.1


Reply via email to