Skip to content

Commit 0b14eb6

Browse files
types: Add new enums and defines for TP-4084
Signed-off-by: Jeff Lien <[email protected]>
1 parent d4c9e10 commit 0b14eb6

1 file changed

Lines changed: 23 additions & 1 deletion

File tree

src/nvme/types.h

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ enum nvme_csi {
161161
* @NVME_REG_BPMBL: Boot Partition Memory Buffer Location
162162
* @NVME_REG_CMBMSC: Controller Memory Buffer Memory Space Control
163163
* @NVME_REG_CMBSTS: Controller Memory Buffer Status
164+
* @NVME_REG_CRTO: Controller Ready Timeouts
164165
* @NVME_REG_PMRCAP: Persistent Memory Capabilities
165166
* @NVME_REG_PMRCTL: Persistent Memory Region Control
166167
* @NVME_REG_PMRSTS: Persistent Memory Region Status
@@ -187,6 +188,7 @@ enum nvme_register_offsets {
187188
NVME_REG_BPMBL = 0x0048,
188189
NVME_REG_CMBMSC = 0x0050,
189190
NVME_REG_CMBSTS = 0x0058,
191+
NVME_REG_CRTO = 0x0068,
190192
NVME_REG_PMRCAP = 0x0e00,
191193
NVME_REG_PMRCTL = 0x0e04,
192194
NVME_REG_PMRSTS = 0x0e08,
@@ -235,6 +237,7 @@ enum nvme_cap {
235237
NVME_CAP_MPSMAX_SHIFT = 52,
236238
NVME_CAP_PMRS_SHIFT = 56,
237239
NVME_CAP_CMBS_SHIFT = 57,
240+
NVME_CAP_CRMS_SHIFT = 59,
238241
NVME_CAP_MQES_MASK = 0xffff,
239242
NVME_CAP_CQR_MASK = 0x1,
240243
NVME_CAP_AMS_MASK = 0x3,
@@ -247,11 +250,14 @@ enum nvme_cap {
247250
NVME_CAP_MPSMAX_MASK = 0xf,
248251
NVME_CAP_PMRS_MASK = 0x1,
249252
NVME_CAP_CMBS_MASK = 0x1,
253+
NVME_CAP_CRMS_MASK = 0x3,
250254
NVME_CAP_AMS_WRR = 1 << 0,
251255
NVME_CAP_AMS_VS = 1 << 1,
252256
NVME_CAP_CSS_NVM = 1 << 0,
253257
NVME_CAP_CSS_CSI = 1 << 6,
254258
NVME_CAP_CSS_ADMIN = 1 << 7,
259+
NVME_CAP_CRWMS = 1 << 0,
260+
NVME_CAP_CRIMS = 1 << 1,
255261
};
256262

257263
#define NVME_CAP_MQES(cap) NVME_GET(cap, CAP_MQES)
@@ -264,8 +270,9 @@ enum nvme_cap {
264270
#define NVME_CAP_BPS(cap) NVME_GET(cap, CAP_BPS)
265271
#define NVME_CAP_MPSMIN(cap) NVME_GET(cap, CAP_MPSMIN)
266272
#define NVME_CAP_MPSMAX(cap) NVME_GET(cap, CAP_MPSMAX)
267-
#define NVME_CAP_CMBS(cap) NVME_GET(cap, CAP_CMBS)
268273
#define NVME_CAP_PMRS(cap) NVME_GET(cap, CAP_PMRS)
274+
#define NVME_CAP_CMBS(cap) NVME_GET(cap, CAP_CMBS)
275+
#define NVME_CAP_CRMS(cap) NVME_GET(cap, CAP_CRMS)
269276

270277
enum nvme_vs {
271278
NVME_VS_TER_SHIFT = 0,
@@ -292,11 +299,13 @@ enum nvme_cc {
292299
NVME_CC_SHN_SHIFT = 14,
293300
NVME_CC_IOSQES_SHIFT = 16,
294301
NVME_CC_IOCQES_SHIFT = 20,
302+
NVME_CC_CRIME_SHIFT = 24,
295303
NVME_CC_EN_MASK = 0x1,
296304
NVME_CC_CSS_MASK = 0x7,
297305
NVME_CC_MPS_MASK = 0xf,
298306
NVME_CC_AMS_MASK = 0x7,
299307
NVME_CC_SHN_MASK = 0x3,
308+
NVME_CC_CRIME_MASK = 0x1,
300309
NVME_CC_IOSQES_MASK = 0xf,
301310
NVME_CC_IOCQES_MASK = 0xf,
302311
NVME_CC_CSS_NVM = 0,
@@ -308,6 +317,8 @@ enum nvme_cc {
308317
NVME_CC_SHN_NONE = 0,
309318
NVME_CC_SHN_NORMAL = 1,
310319
NVME_CC_SHN_ABRUPT = 2,
320+
NVME_CC_CRWME = 0,
321+
NVME_CC_CRIME = 1,
311322
};
312323

313324
#define NVME_CC_EN(cc) NVME_GET(cc, CC_EN)
@@ -317,6 +328,7 @@ enum nvme_cc {
317328
#define NVME_CC_SHN(cc) NVME_GET(cc, CC_SHN)
318329
#define NVME_CC_IOSQES(cc) NVME_GET(cc, CC_IOSQES)
319330
#define NVME_CC_IOCQES(cc) NVME_GET(cc, CC_IOCQES)
331+
#define NVME_CC_CRIME(cc) NVME_GET(cc, CC_CRIME)
320332

321333
enum nvme_csts {
322334
NVME_CSTS_RDY_SHIFT = 0,
@@ -473,6 +485,16 @@ enum nvme_cmbsts {
473485

474486
#define NVME_CMBSTS_CBAI(cmbsts) NVME_GET(cmbsts, CMBSTS_CBAI)
475487

488+
enum nvme_crto {
489+
NVME_CRTO_CRIMT_SHIFT = 16,
490+
NVME_CRTO_CRIMT_MASK = 0xffff0000,
491+
NVME_CRTO_CRWMT_SHIFT = 0,
492+
NVME_CRTO_CRWMT_MASK = 0x0000ffff,
493+
};
494+
495+
#define NVME_CRTO_CRIMT(crto) NVME_GET(crto, CRTO_CRIMT)
496+
#define NVME_CRTO_CRWMT(crto) NVME_GET(crto, CRTO_CRWMT)
497+
476498
enum nvme_pmrcap {
477499
NVME_PMRCAP_RDS_SHIFT = 3,
478500
NVME_PMRCAP_WDS_SHIFT = 4,

0 commit comments

Comments
 (0)