diff options
author | Asutosh Das <quic_asutoshd@quicinc.com> | 2023-01-13 23:48:38 +0300 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2023-01-14 05:03:36 +0300 |
commit | 6e1d850acff9477ae4c18a73c19ef52841ac2010 (patch) | |
tree | bb064933b0063e722eb8b9a788c624e09fcb9b50 /include/ufs/ufs.h | |
parent | 64b6deadc938b37717aa1338715cb7ef5e7d444c (diff) | |
download | linux-6e1d850acff9477ae4c18a73c19ef52841ac2010.tar.xz |
scsi: ufs: core: Probe for EXT_IID support
Task Tag is limited to 8 bits and this restricts the number of active I/Os
to 255. In multi-circular queue mode, this may not be enough. The
specification provides EXT_IID which can be used to increase the number of
I/Os if the UFS device and UFSHC support it. This patch adds support to
probe for EXT_IID support in UFS device and UFSHC.
Co-developed-by: Can Guo <quic_cang@quicinc.com>
Signed-off-by: Can Guo <quic_cang@quicinc.com>
Signed-off-by: Asutosh Das <quic_asutoshd@quicinc.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'include/ufs/ufs.h')
-rw-r--r-- | include/ufs/ufs.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/ufs/ufs.h b/include/ufs/ufs.h index c146de52918d..bea7b2086a4a 100644 --- a/include/ufs/ufs.h +++ b/include/ufs/ufs.h @@ -169,6 +169,7 @@ enum attr_idn { QUERY_ATTR_IDN_AVAIL_WB_BUFF_SIZE = 0x1D, QUERY_ATTR_IDN_WB_BUFF_LIFE_TIME_EST = 0x1E, QUERY_ATTR_IDN_CURR_WB_BUFF_SIZE = 0x1F, + QUERY_ATTR_IDN_EXT_IID_EN = 0x2A, }; /* Descriptor idn for Query requests */ @@ -378,6 +379,7 @@ enum { UFS_DEV_EXT_TEMP_NOTIF = BIT(6), UFS_DEV_HPB_SUPPORT = BIT(7), UFS_DEV_WRITE_BOOSTER_SUP = BIT(8), + UFS_DEV_EXT_IID_SUP = BIT(16), }; #define UFS_DEV_HPB_SUPPORT_VERSION 0x310 @@ -629,6 +631,9 @@ struct ufs_dev_info { u8 b_presrv_uspc_en; bool b_advanced_rpmb_en; + + /* UFS EXT_IID Enable */ + bool b_ext_iid_en; }; /* |