61
61
#define FBNIC_INTR_CQ_REARM_INTR_RELOAD CSR_BIT(30)
62
62
#define FBNIC_INTR_CQ_REARM_INTR_UNMASK CSR_BIT(31)
63
63
64
+ #define FBNIC_INTR_RCQ_TIMEOUT (n ) \
65
+ (0x00401 + 4 * (n)) /* 0x01004 + 16*n */
66
+ #define FBNIC_INTR_RCQ_TIMEOUT_CNT 256
67
+ #define FBNIC_INTR_TCQ_TIMEOUT (n ) \
68
+ (0x00402 + 4 * (n)) /* 0x01008 + 16*n */
69
+ #define FBNIC_INTR_TCQ_TIMEOUT_CNT 256
64
70
#define FBNIC_CSR_END_INTR_CQ 0x007fe /* CSR section delimiter */
65
71
66
72
/* Global QM Tx registers */
67
73
#define FBNIC_CSR_START_QM_TX 0x00800 /* CSR section delimiter */
74
+ #define FBNIC_QM_TWQ_IDLE (n ) (0x00800 + (n)) /* 0x02000 + 4*n */
75
+ #define FBNIC_QM_TWQ_IDLE_CNT 8
68
76
#define FBNIC_QM_TWQ_DEFAULT_META_L 0x00818 /* 0x02060 */
69
77
#define FBNIC_QM_TWQ_DEFAULT_META_H 0x00819 /* 0x02064 */
70
78
@@ -86,10 +94,16 @@ enum {
86
94
#define FBNIC_QM_TQS_MTU_CTL0 0x0081d /* 0x02074 */
87
95
#define FBNIC_QM_TQS_MTU_CTL1 0x0081e /* 0x02078 */
88
96
#define FBNIC_QM_TQS_MTU_CTL1_BULK CSR_GENMASK(13, 0)
97
+ #define FBNIC_QM_TCQ_IDLE (n ) (0x00821 + (n)) /* 0x02084 + 4*n */
98
+ #define FBNIC_QM_TCQ_IDLE_CNT 4
89
99
#define FBNIC_QM_TCQ_CTL0 0x0082d /* 0x020b4 */
90
100
#define FBNIC_QM_TCQ_CTL0_COAL_WAIT CSR_GENMASK(15, 0)
91
101
#define FBNIC_QM_TCQ_CTL0_TICK_CYCLES CSR_GENMASK(26, 16)
102
+ #define FBNIC_QM_TQS_IDLE (n ) (0x00830 + (n)) /* 0x020c0 + 4*n */
103
+ #define FBNIC_QM_TQS_IDLE_CNT 8
92
104
#define FBNIC_QM_TQS_EDT_TS_RANGE 0x00849 /* 0x2124 */
105
+ #define FBNIC_QM_TDE_IDLE (n ) (0x00853 + (n)) /* 0x0214c + 4*n */
106
+ #define FBNIC_QM_TDE_IDLE_CNT 8
93
107
#define FBNIC_QM_TNI_TDF_CTL 0x0086c /* 0x021b0 */
94
108
#define FBNIC_QM_TNI_TDF_CTL_MRRS CSR_GENMASK(1, 0)
95
109
#define FBNIC_QM_TNI_TDF_CTL_CLS CSR_GENMASK(3, 2)
@@ -110,9 +124,15 @@ enum {
110
124
111
125
/* Global QM Rx registers */
112
126
#define FBNIC_CSR_START_QM_RX 0x00c00 /* CSR section delimiter */
127
+ #define FBNIC_QM_RCQ_IDLE (n ) (0x00c00 + (n)) /* 0x03000 + 0x4*n */
128
+ #define FBNIC_QM_RCQ_IDLE_CNT 4
113
129
#define FBNIC_QM_RCQ_CTL0 0x00c0c /* 0x03030 */
114
130
#define FBNIC_QM_RCQ_CTL0_COAL_WAIT CSR_GENMASK(15, 0)
115
131
#define FBNIC_QM_RCQ_CTL0_TICK_CYCLES CSR_GENMASK(26, 16)
132
+ #define FBNIC_QM_HPQ_IDLE (n ) (0x00c0f + (n)) /* 0x0303c + 0x4*n */
133
+ #define FBNIC_QM_HPQ_IDLE_CNT 4
134
+ #define FBNIC_QM_PPQ_IDLE (n ) (0x00c13 + (n)) /* 0x0304c + 0x4*n */
135
+ #define FBNIC_QM_PPQ_IDLE_CNT 4
116
136
#define FBNIC_QM_RNI_RBP_CTL 0x00c2d /* 0x030b4 */
117
137
#define FBNIC_QM_RNI_RBP_CTL_MRRS CSR_GENMASK(1, 0)
118
138
#define FBNIC_QM_RNI_RBP_CTL_CLS CSR_GENMASK(3, 2)
@@ -219,6 +239,8 @@ enum {
219
239
/* TMI registers */
220
240
#define FBNIC_CSR_START_TMI 0x04400 /* CSR section delimiter */
221
241
#define FBNIC_TMI_SOP_PROT_CTRL 0x04400 /* 0x11000 */
242
+ #define FBNIC_TMI_DROP_CTRL 0x04401 /* 0x11004 */
243
+ #define FBNIC_TMI_DROP_CTRL_EN CSR_BIT(0)
222
244
#define FBNIC_CSR_END_TMI 0x0443f /* CSR section delimiter */
223
245
/* Rx Buffer Registers */
224
246
#define FBNIC_CSR_START_RXB 0x08000 /* CSR section delimiter */
@@ -382,22 +404,52 @@ enum {
382
404
#define FBNIC_QUEUE_TWQ1_CTL 0x001 /* 0x004 */
383
405
#define FBNIC_QUEUE_TWQ_CTL_RESET CSR_BIT(0)
384
406
#define FBNIC_QUEUE_TWQ_CTL_ENABLE CSR_BIT(1)
385
- #define FBNIC_QUEUE_TWQ_CTL_PREFETCH_DISABLE CSR_BIT(2)
386
- #define FBNIC_QUEUE_TWQ_CTL_TXB_FIFO_SEL_MASK CSR_GENMASK(30, 29)
387
- enum {
388
- FBNIC_QUEUE_TWQ_CTL_TXB_SHARED = 0 ,
389
- FBNIC_QUEUE_TWQ_CTL_TXB_EI_DATA = 1 ,
390
- FBNIC_QUEUE_TWQ_CTL_TXB_EI_CTL = 2 ,
391
- };
392
-
393
- #define FBNIC_QUEUE_TWQ_CTL_AGGR_MODE CSR_BIT(31)
394
-
395
407
#define FBNIC_QUEUE_TWQ0_TAIL 0x002 /* 0x008 */
396
408
#define FBNIC_QUEUE_TWQ1_TAIL 0x003 /* 0x00c */
397
409
410
+ #define FBNIC_QUEUE_TWQ0_SIZE 0x00a /* 0x028 */
411
+ #define FBNIC_QUEUE_TWQ1_SIZE 0x00b /* 0x02c */
412
+ #define FBNIC_QUEUE_TWQ_SIZE_MASK CSR_GENMASK(3, 0)
413
+
414
+ #define FBNIC_QUEUE_TWQ0_BAL 0x020 /* 0x080 */
415
+ #define FBNIC_QUEUE_BAL_MASK CSR_GENMASK(31, 7)
416
+ #define FBNIC_QUEUE_TWQ0_BAH 0x021 /* 0x084 */
417
+ #define FBNIC_QUEUE_TWQ1_BAL 0x022 /* 0x088 */
418
+ #define FBNIC_QUEUE_TWQ1_BAH 0x023 /* 0x08c */
419
+
398
420
/* Tx Completion Queue Registers */
421
+ #define FBNIC_QUEUE_TCQ_CTL 0x080 /* 0x200 */
422
+ #define FBNIC_QUEUE_TCQ_CTL_RESET CSR_BIT(0)
423
+ #define FBNIC_QUEUE_TCQ_CTL_ENABLE CSR_BIT(1)
424
+
399
425
#define FBNIC_QUEUE_TCQ_HEAD 0x081 /* 0x204 */
400
426
427
+ #define FBNIC_QUEUE_TCQ_SIZE 0x084 /* 0x210 */
428
+ #define FBNIC_QUEUE_TCQ_SIZE_MASK CSR_GENMASK(3, 0)
429
+
430
+ #define FBNIC_QUEUE_TCQ_BAL 0x0a0 /* 0x280 */
431
+ #define FBNIC_QUEUE_TCQ_BAH 0x0a1 /* 0x284 */
432
+
433
+ /* Tx Interrupt Manager Registers */
434
+ #define FBNIC_QUEUE_TIM_CTL 0x0c0 /* 0x300 */
435
+ #define FBNIC_QUEUE_TIM_CTL_MSIX_MASK CSR_GENMASK(7, 0)
436
+
437
+ #define FBNIC_QUEUE_TIM_THRESHOLD 0x0c1 /* 0x304 */
438
+ #define FBNIC_QUEUE_TIM_THRESHOLD_TWD_MASK CSR_GENMASK(14, 0)
439
+
440
+ #define FBNIC_QUEUE_TIM_CLEAR 0x0c2 /* 0x308 */
441
+ #define FBNIC_QUEUE_TIM_CLEAR_MASK CSR_BIT(0)
442
+ #define FBNIC_QUEUE_TIM_SET 0x0c3 /* 0x30c */
443
+ #define FBNIC_QUEUE_TIM_SET_MASK CSR_BIT(0)
444
+ #define FBNIC_QUEUE_TIM_MASK 0x0c4 /* 0x310 */
445
+ #define FBNIC_QUEUE_TIM_MASK_MASK CSR_BIT(0)
446
+
447
+ #define FBNIC_QUEUE_TIM_TIMER 0x0c5 /* 0x314 */
448
+
449
+ #define FBNIC_QUEUE_TIM_COUNTS 0x0c6 /* 0x318 */
450
+ #define FBNIC_QUEUE_TIM_COUNTS_CNT1_MASK CSR_GENMASK(30, 16)
451
+ #define FBNIC_QUEUE_TIM_COUNTS_CNT0_MASK CSR_GENMASK(14, 0)
452
+
401
453
/* Rx Completion Queue Registers */
402
454
#define FBNIC_QUEUE_RCQ_HEAD 0x201 /* 0x804 */
403
455
0 commit comments