0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef _NFP_NET_CTRL_H_
0013 #define _NFP_NET_CTRL_H_
0014
0015 #include <linux/types.h>
0016
0017
0018
0019
0020
0021
0022 #define NFP_NET_CFG_BAR_SZ (32 * 1024)
0023
0024
0025 #define NFP_NET_RX_OFFSET 32
0026
0027
0028
0029
0030
0031 #define NFP_NET_LSO_MAX_HDR_SZ 255
0032 #define NFP_NET_LSO_MAX_SEGS 64
0033
0034
0035 #define NFP_NET_META_VLAN_STRIP BIT(31)
0036 #define NFP_NET_META_VLAN_TPID_MASK GENMASK(19, 16)
0037 #define NFP_NET_META_VLAN_TCI_MASK GENMASK(15, 0)
0038
0039
0040 #define NFP_NET_META_FIELD_SIZE 4
0041 #define NFP_NET_META_HASH 1
0042 #define NFP_NET_META_MARK 2
0043 #define NFP_NET_META_VLAN 4
0044 #define NFP_NET_META_PORTID 5
0045 #define NFP_NET_META_CSUM 6
0046 #define NFP_NET_META_CONN_HANDLE 7
0047 #define NFP_NET_META_RESYNC_INFO 8
0048
0049 #define NFP_META_PORT_ID_CTRL ~0U
0050
0051
0052 #define NFP_NET_META_VLAN_SIZE 4
0053 #define NFP_NET_META_PORTID_SIZE 4
0054 #define NFP_NET_META_CONN_HANDLE_SIZE 8
0055
0056 #define NFP_NET_RSS_NONE 0
0057 #define NFP_NET_RSS_IPV4 1
0058 #define NFP_NET_RSS_IPV6 2
0059 #define NFP_NET_RSS_IPV6_EX 3
0060 #define NFP_NET_RSS_IPV4_TCP 4
0061 #define NFP_NET_RSS_IPV6_TCP 5
0062 #define NFP_NET_RSS_IPV6_EX_TCP 6
0063 #define NFP_NET_RSS_IPV4_UDP 7
0064 #define NFP_NET_RSS_IPV6_UDP 8
0065 #define NFP_NET_RSS_IPV6_EX_UDP 9
0066
0067
0068
0069
0070
0071 #define NFP_NET_TXR_MAX 64
0072 #define NFP_NET_RXR_MAX 64
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088 #define NFP_NET_CFG_CTRL 0x0000
0089 #define NFP_NET_CFG_CTRL_ENABLE (0x1 << 0)
0090 #define NFP_NET_CFG_CTRL_PROMISC (0x1 << 1)
0091 #define NFP_NET_CFG_CTRL_L2BC (0x1 << 2)
0092 #define NFP_NET_CFG_CTRL_L2MC (0x1 << 3)
0093 #define NFP_NET_CFG_CTRL_RXCSUM (0x1 << 4)
0094 #define NFP_NET_CFG_CTRL_TXCSUM (0x1 << 5)
0095 #define NFP_NET_CFG_CTRL_RXVLAN (0x1 << 6)
0096 #define NFP_NET_CFG_CTRL_TXVLAN (0x1 << 7)
0097 #define NFP_NET_CFG_CTRL_SCATTER (0x1 << 8)
0098 #define NFP_NET_CFG_CTRL_GATHER (0x1 << 9)
0099 #define NFP_NET_CFG_CTRL_LSO (0x1 << 10)
0100 #define NFP_NET_CFG_CTRL_CTAG_FILTER (0x1 << 11)
0101 #define NFP_NET_CFG_CTRL_CMSG_DATA (0x1 << 12)
0102 #define NFP_NET_CFG_CTRL_RXQINQ (0x1 << 13)
0103 #define NFP_NET_CFG_CTRL_RXVLAN_V2 (0x1 << 15)
0104 #define NFP_NET_CFG_CTRL_RINGCFG (0x1 << 16)
0105 #define NFP_NET_CFG_CTRL_RSS (0x1 << 17)
0106 #define NFP_NET_CFG_CTRL_IRQMOD (0x1 << 18)
0107 #define NFP_NET_CFG_CTRL_MSIXAUTO (0x1 << 20)
0108 #define NFP_NET_CFG_CTRL_TXRWB (0x1 << 21)
0109 #define NFP_NET_CFG_CTRL_VEPA (0x1 << 22)
0110 #define NFP_NET_CFG_CTRL_TXVLAN_V2 (0x1 << 23)
0111 #define NFP_NET_CFG_CTRL_VXLAN (0x1 << 24)
0112 #define NFP_NET_CFG_CTRL_NVGRE (0x1 << 25)
0113 #define NFP_NET_CFG_CTRL_BPF (0x1 << 27)
0114 #define NFP_NET_CFG_CTRL_LSO2 (0x1 << 28)
0115 #define NFP_NET_CFG_CTRL_RSS2 (0x1 << 29)
0116 #define NFP_NET_CFG_CTRL_CSUM_COMPLETE (0x1 << 30)
0117 #define NFP_NET_CFG_CTRL_LIVE_ADDR (0x1 << 31)
0118
0119 #define NFP_NET_CFG_CTRL_LSO_ANY (NFP_NET_CFG_CTRL_LSO | \
0120 NFP_NET_CFG_CTRL_LSO2)
0121 #define NFP_NET_CFG_CTRL_RSS_ANY (NFP_NET_CFG_CTRL_RSS | \
0122 NFP_NET_CFG_CTRL_RSS2)
0123 #define NFP_NET_CFG_CTRL_RXCSUM_ANY (NFP_NET_CFG_CTRL_RXCSUM | \
0124 NFP_NET_CFG_CTRL_CSUM_COMPLETE)
0125 #define NFP_NET_CFG_CTRL_CHAIN_META (NFP_NET_CFG_CTRL_RSS2 | \
0126 NFP_NET_CFG_CTRL_CSUM_COMPLETE)
0127 #define NFP_NET_CFG_CTRL_RXVLAN_ANY (NFP_NET_CFG_CTRL_RXVLAN | \
0128 NFP_NET_CFG_CTRL_RXVLAN_V2)
0129 #define NFP_NET_CFG_CTRL_TXVLAN_ANY (NFP_NET_CFG_CTRL_TXVLAN | \
0130 NFP_NET_CFG_CTRL_TXVLAN_V2)
0131
0132 #define NFP_NET_CFG_UPDATE 0x0004
0133 #define NFP_NET_CFG_UPDATE_GEN (0x1 << 0)
0134 #define NFP_NET_CFG_UPDATE_RING (0x1 << 1)
0135 #define NFP_NET_CFG_UPDATE_RSS (0x1 << 2)
0136 #define NFP_NET_CFG_UPDATE_TXRPRIO (0x1 << 3)
0137 #define NFP_NET_CFG_UPDATE_RXRPRIO (0x1 << 4)
0138 #define NFP_NET_CFG_UPDATE_MSIX (0x1 << 5)
0139 #define NFP_NET_CFG_UPDATE_RESET (0x1 << 7)
0140 #define NFP_NET_CFG_UPDATE_IRQMOD (0x1 << 8)
0141 #define NFP_NET_CFG_UPDATE_VXLAN (0x1 << 9)
0142 #define NFP_NET_CFG_UPDATE_BPF (0x1 << 10)
0143 #define NFP_NET_CFG_UPDATE_MACADDR (0x1 << 11)
0144 #define NFP_NET_CFG_UPDATE_MBOX (0x1 << 12)
0145 #define NFP_NET_CFG_UPDATE_VF (0x1 << 13)
0146 #define NFP_NET_CFG_UPDATE_CRYPTO (0x1 << 14)
0147 #define NFP_NET_CFG_UPDATE_ERR (0x1 << 31)
0148 #define NFP_NET_CFG_TXRS_ENABLE 0x0008
0149 #define NFP_NET_CFG_RXRS_ENABLE 0x0010
0150 #define NFP_NET_CFG_MTU 0x0018
0151 #define NFP_NET_CFG_FLBUFSZ 0x001c
0152 #define NFP_NET_CFG_EXN 0x001f
0153 #define NFP_NET_CFG_LSC 0x0020
0154 #define NFP_NET_CFG_MACADDR 0x0024
0155
0156
0157
0158
0159
0160
0161
0162
0163
0164
0165
0166
0167
0168
0169 #define NFP_NET_CFG_VERSION 0x0030
0170 #define NFP_NET_CFG_VERSION_RESERVED_MASK (0xfe << 24)
0171 #define NFP_NET_CFG_VERSION_DP_NFD3 0
0172 #define NFP_NET_CFG_VERSION_DP_NFDK 1
0173 #define NFP_NET_CFG_VERSION_DP_MASK 1
0174 #define NFP_NET_CFG_VERSION_CLASS_MASK (0xff << 16)
0175 #define NFP_NET_CFG_VERSION_CLASS(x) (((x) & 0xff) << 16)
0176 #define NFP_NET_CFG_VERSION_CLASS_GENERIC 0
0177 #define NFP_NET_CFG_VERSION_MAJOR_MASK (0xff << 8)
0178 #define NFP_NET_CFG_VERSION_MAJOR(x) (((x) & 0xff) << 8)
0179 #define NFP_NET_CFG_VERSION_MINOR_MASK (0xff << 0)
0180 #define NFP_NET_CFG_VERSION_MINOR(x) (((x) & 0xff) << 0)
0181 #define NFP_NET_CFG_STS 0x0034
0182 #define NFP_NET_CFG_STS_LINK (0x1 << 0)
0183
0184 #define NFP_NET_CFG_STS_LINK_RATE_SHIFT 1
0185 #define NFP_NET_CFG_STS_LINK_RATE_MASK 0xF
0186 #define NFP_NET_CFG_STS_LINK_RATE \
0187 (NFP_NET_CFG_STS_LINK_RATE_MASK << NFP_NET_CFG_STS_LINK_RATE_SHIFT)
0188 #define NFP_NET_CFG_STS_LINK_RATE_UNSUPPORTED 0
0189 #define NFP_NET_CFG_STS_LINK_RATE_UNKNOWN 1
0190 #define NFP_NET_CFG_STS_LINK_RATE_1G 2
0191 #define NFP_NET_CFG_STS_LINK_RATE_10G 3
0192 #define NFP_NET_CFG_STS_LINK_RATE_25G 4
0193 #define NFP_NET_CFG_STS_LINK_RATE_40G 5
0194 #define NFP_NET_CFG_STS_LINK_RATE_50G 6
0195 #define NFP_NET_CFG_STS_LINK_RATE_100G 7
0196 #define NFP_NET_CFG_CAP 0x0038
0197 #define NFP_NET_CFG_MAX_TXRINGS 0x003c
0198 #define NFP_NET_CFG_MAX_RXRINGS 0x0040
0199 #define NFP_NET_CFG_MAX_MTU 0x0044
0200
0201 #define NFP_NET_CFG_START_TXQ 0x0048
0202 #define NFP_NET_CFG_START_RXQ 0x004c
0203
0204
0205
0206 #define NFP_NET_CFG_RX_OFFSET 0x0050
0207 #define NFP_NET_CFG_RX_OFFSET_DYNAMIC 0
0208
0209
0210
0211
0212
0213 #define NFP_NET_CFG_RSS_CAP 0x0054
0214 #define NFP_NET_CFG_RSS_CAP_HFUNC 0xff000000
0215
0216
0217
0218
0219 #define NFP_NET_CFG_TLV_BASE 0x0058
0220
0221
0222
0223
0224
0225 #define NFP_NET_CFG_VXLAN_PORT 0x0060
0226 #define NFP_NET_CFG_VXLAN_SZ 0x0008
0227
0228
0229
0230
0231
0232
0233
0234
0235
0236
0237
0238
0239 #define NFP_NET_CFG_BPF_ABI 0x0080
0240 #define NFP_NET_CFG_BPF_CAP 0x0081
0241 #define NFP_NET_BPF_CAP_RELO (1 << 0)
0242 #define NFP_NET_CFG_BPF_MAX_LEN 0x0082
0243 #define NFP_NET_CFG_BPF_START 0x0084
0244 #define NFP_NET_CFG_BPF_DONE 0x0086
0245 #define NFP_NET_CFG_BPF_STACK_SZ 0x0088
0246 #define NFP_NET_CFG_BPF_INL_MTU 0x0089
0247 #define NFP_NET_CFG_BPF_SIZE 0x008e
0248 #define NFP_NET_CFG_BPF_ADDR 0x0090
0249 #define NFP_NET_CFG_BPF_CFG_8CTX (1 << 0)
0250 #define NFP_NET_CFG_BPF_CFG_MASK 7ULL
0251 #define NFP_NET_CFG_BPF_ADDR_MASK (~NFP_NET_CFG_BPF_CFG_MASK)
0252
0253
0254
0255 #define NFP_NET_CFG_RESERVED 0x0098
0256 #define NFP_NET_CFG_RESERVED_SZ 0x0028
0257
0258
0259
0260
0261
0262
0263
0264 #define NFP_NET_CFG_RSS_BASE 0x0100
0265 #define NFP_NET_CFG_RSS_CTRL NFP_NET_CFG_RSS_BASE
0266 #define NFP_NET_CFG_RSS_MASK (0x7f)
0267 #define NFP_NET_CFG_RSS_MASK_of(_x) ((_x) & 0x7f)
0268 #define NFP_NET_CFG_RSS_IPV4 (1 << 8)
0269 #define NFP_NET_CFG_RSS_IPV6 (1 << 9)
0270 #define NFP_NET_CFG_RSS_IPV4_TCP (1 << 10)
0271 #define NFP_NET_CFG_RSS_IPV4_UDP (1 << 11)
0272 #define NFP_NET_CFG_RSS_IPV6_TCP (1 << 12)
0273 #define NFP_NET_CFG_RSS_IPV6_UDP (1 << 13)
0274 #define NFP_NET_CFG_RSS_HFUNC 0xff000000
0275 #define NFP_NET_CFG_RSS_TOEPLITZ (1 << 24)
0276 #define NFP_NET_CFG_RSS_XOR (1 << 25)
0277 #define NFP_NET_CFG_RSS_CRC32 (1 << 26)
0278 #define NFP_NET_CFG_RSS_HFUNCS 3
0279 #define NFP_NET_CFG_RSS_KEY (NFP_NET_CFG_RSS_BASE + 0x4)
0280 #define NFP_NET_CFG_RSS_KEY_SZ 0x28
0281 #define NFP_NET_CFG_RSS_ITBL (NFP_NET_CFG_RSS_BASE + 0x4 + \
0282 NFP_NET_CFG_RSS_KEY_SZ)
0283 #define NFP_NET_CFG_RSS_ITBL_SZ 0x80
0284
0285
0286
0287
0288
0289
0290
0291
0292
0293
0294 #define NFP_NET_CFG_TXR_BASE 0x0200
0295 #define NFP_NET_CFG_TXR_ADDR(_x) (NFP_NET_CFG_TXR_BASE + ((_x) * 0x8))
0296 #define NFP_NET_CFG_TXR_WB_ADDR(_x) (NFP_NET_CFG_TXR_BASE + 0x200 + \
0297 ((_x) * 0x8))
0298 #define NFP_NET_CFG_TXR_SZ(_x) (NFP_NET_CFG_TXR_BASE + 0x400 + (_x))
0299 #define NFP_NET_CFG_TXR_VEC(_x) (NFP_NET_CFG_TXR_BASE + 0x440 + (_x))
0300 #define NFP_NET_CFG_TXR_PRIO(_x) (NFP_NET_CFG_TXR_BASE + 0x480 + (_x))
0301 #define NFP_NET_CFG_TXR_IRQ_MOD(_x) (NFP_NET_CFG_TXR_BASE + 0x500 + \
0302 ((_x) * 0x4))
0303
0304
0305
0306
0307
0308
0309
0310
0311
0312 #define NFP_NET_CFG_RXR_BASE 0x0800
0313 #define NFP_NET_CFG_RXR_ADDR(_x) (NFP_NET_CFG_RXR_BASE + ((_x) * 0x8))
0314 #define NFP_NET_CFG_RXR_SZ(_x) (NFP_NET_CFG_RXR_BASE + 0x200 + (_x))
0315 #define NFP_NET_CFG_RXR_VEC(_x) (NFP_NET_CFG_RXR_BASE + 0x240 + (_x))
0316 #define NFP_NET_CFG_RXR_PRIO(_x) (NFP_NET_CFG_RXR_BASE + 0x280 + (_x))
0317 #define NFP_NET_CFG_RXR_IRQ_MOD(_x) (NFP_NET_CFG_RXR_BASE + 0x300 + \
0318 ((_x) * 0x4))
0319
0320
0321
0322
0323
0324
0325
0326
0327
0328
0329 #define NFP_NET_CFG_ICR_BASE 0x0c00
0330 #define NFP_NET_CFG_ICR(_x) (NFP_NET_CFG_ICR_BASE + (_x))
0331 #define NFP_NET_CFG_ICR_UNMASKED 0x0
0332 #define NFP_NET_CFG_ICR_RXTX 0x1
0333 #define NFP_NET_CFG_ICR_LSC 0x2
0334
0335
0336
0337
0338 #define NFP_NET_CFG_STATS_BASE 0x0d00
0339 #define NFP_NET_CFG_STATS_RX_DISCARDS (NFP_NET_CFG_STATS_BASE + 0x00)
0340 #define NFP_NET_CFG_STATS_RX_ERRORS (NFP_NET_CFG_STATS_BASE + 0x08)
0341 #define NFP_NET_CFG_STATS_RX_OCTETS (NFP_NET_CFG_STATS_BASE + 0x10)
0342 #define NFP_NET_CFG_STATS_RX_UC_OCTETS (NFP_NET_CFG_STATS_BASE + 0x18)
0343 #define NFP_NET_CFG_STATS_RX_MC_OCTETS (NFP_NET_CFG_STATS_BASE + 0x20)
0344 #define NFP_NET_CFG_STATS_RX_BC_OCTETS (NFP_NET_CFG_STATS_BASE + 0x28)
0345 #define NFP_NET_CFG_STATS_RX_FRAMES (NFP_NET_CFG_STATS_BASE + 0x30)
0346 #define NFP_NET_CFG_STATS_RX_MC_FRAMES (NFP_NET_CFG_STATS_BASE + 0x38)
0347 #define NFP_NET_CFG_STATS_RX_BC_FRAMES (NFP_NET_CFG_STATS_BASE + 0x40)
0348
0349 #define NFP_NET_CFG_STATS_TX_DISCARDS (NFP_NET_CFG_STATS_BASE + 0x48)
0350 #define NFP_NET_CFG_STATS_TX_ERRORS (NFP_NET_CFG_STATS_BASE + 0x50)
0351 #define NFP_NET_CFG_STATS_TX_OCTETS (NFP_NET_CFG_STATS_BASE + 0x58)
0352 #define NFP_NET_CFG_STATS_TX_UC_OCTETS (NFP_NET_CFG_STATS_BASE + 0x60)
0353 #define NFP_NET_CFG_STATS_TX_MC_OCTETS (NFP_NET_CFG_STATS_BASE + 0x68)
0354 #define NFP_NET_CFG_STATS_TX_BC_OCTETS (NFP_NET_CFG_STATS_BASE + 0x70)
0355 #define NFP_NET_CFG_STATS_TX_FRAMES (NFP_NET_CFG_STATS_BASE + 0x78)
0356 #define NFP_NET_CFG_STATS_TX_MC_FRAMES (NFP_NET_CFG_STATS_BASE + 0x80)
0357 #define NFP_NET_CFG_STATS_TX_BC_FRAMES (NFP_NET_CFG_STATS_BASE + 0x88)
0358
0359 #define NFP_NET_CFG_STATS_APP0_FRAMES (NFP_NET_CFG_STATS_BASE + 0x90)
0360 #define NFP_NET_CFG_STATS_APP0_BYTES (NFP_NET_CFG_STATS_BASE + 0x98)
0361 #define NFP_NET_CFG_STATS_APP1_FRAMES (NFP_NET_CFG_STATS_BASE + 0xa0)
0362 #define NFP_NET_CFG_STATS_APP1_BYTES (NFP_NET_CFG_STATS_BASE + 0xa8)
0363 #define NFP_NET_CFG_STATS_APP2_FRAMES (NFP_NET_CFG_STATS_BASE + 0xb0)
0364 #define NFP_NET_CFG_STATS_APP2_BYTES (NFP_NET_CFG_STATS_BASE + 0xb8)
0365 #define NFP_NET_CFG_STATS_APP3_FRAMES (NFP_NET_CFG_STATS_BASE + 0xc0)
0366 #define NFP_NET_CFG_STATS_APP3_BYTES (NFP_NET_CFG_STATS_BASE + 0xc8)
0367
0368
0369
0370
0371
0372
0373 #define NFP_NET_CFG_TXR_STATS_BASE 0x1000
0374 #define NFP_NET_CFG_TXR_STATS(_x) (NFP_NET_CFG_TXR_STATS_BASE + \
0375 ((_x) * 0x10))
0376 #define NFP_NET_CFG_RXR_STATS_BASE 0x1400
0377 #define NFP_NET_CFG_RXR_STATS(_x) (NFP_NET_CFG_RXR_STATS_BASE + \
0378 ((_x) * 0x10))
0379
0380
0381
0382
0383
0384 #define NFP_NET_CFG_MBOX_BASE 0x1800
0385 #define NFP_NET_CFG_MBOX_VAL_MAX_SZ 0x1F8
0386
0387 #define NFP_NET_CFG_MBOX_SIMPLE_CMD 0x0
0388 #define NFP_NET_CFG_MBOX_SIMPLE_RET 0x4
0389 #define NFP_NET_CFG_MBOX_SIMPLE_VAL 0x8
0390
0391 #define NFP_NET_CFG_MBOX_CMD_CTAG_FILTER_ADD 1
0392 #define NFP_NET_CFG_MBOX_CMD_CTAG_FILTER_KILL 2
0393
0394 #define NFP_NET_CFG_MBOX_CMD_PCI_DSCP_PRIOMAP_SET 5
0395 #define NFP_NET_CFG_MBOX_CMD_TLV_CMSG 6
0396
0397
0398
0399
0400
0401
0402
0403 #define NFP_NET_CFG_VLAN_FILTER NFP_NET_CFG_MBOX_SIMPLE_VAL
0404 #define NFP_NET_CFG_VLAN_FILTER_VID NFP_NET_CFG_VLAN_FILTER
0405 #define NFP_NET_CFG_VLAN_FILTER_PROTO (NFP_NET_CFG_VLAN_FILTER + 2)
0406 #define NFP_NET_CFG_VLAN_FILTER_SZ 0x0004
0407
0408
0409
0410
0411
0412
0413
0414
0415
0416
0417
0418
0419
0420
0421
0422
0423
0424 #define NFP_NET_CFG_TLV_TYPE 0x00
0425 #define NFP_NET_CFG_TLV_TYPE_REQUIRED 0x8000
0426 #define NFP_NET_CFG_TLV_LENGTH 0x02
0427 #define NFP_NET_CFG_TLV_LENGTH_INC 4
0428 #define NFP_NET_CFG_TLV_VALUE 0x04
0429
0430 #define NFP_NET_CFG_TLV_HEADER_REQUIRED 0x80000000
0431 #define NFP_NET_CFG_TLV_HEADER_TYPE 0x7fff0000
0432 #define NFP_NET_CFG_TLV_HEADER_LENGTH 0x0000ffff
0433
0434
0435
0436
0437
0438
0439
0440
0441
0442
0443
0444
0445
0446
0447
0448
0449
0450
0451
0452
0453
0454
0455
0456
0457
0458
0459
0460
0461
0462
0463
0464
0465
0466
0467
0468
0469
0470
0471
0472
0473
0474
0475
0476
0477
0478
0479
0480
0481
0482
0483
0484
0485
0486
0487
0488
0489
0490
0491
0492 #define NFP_NET_CFG_TLV_TYPE_UNKNOWN 0
0493 #define NFP_NET_CFG_TLV_TYPE_RESERVED 1
0494 #define NFP_NET_CFG_TLV_TYPE_END 2
0495 #define NFP_NET_CFG_TLV_TYPE_ME_FREQ 3
0496 #define NFP_NET_CFG_TLV_TYPE_MBOX 4
0497 #define NFP_NET_CFG_TLV_TYPE_EXPERIMENTAL0 5
0498 #define NFP_NET_CFG_TLV_TYPE_EXPERIMENTAL1 6
0499 #define NFP_NET_CFG_TLV_TYPE_REPR_CAP 7
0500 #define NFP_NET_CFG_TLV_TYPE_MBOX_CMSG_TYPES 10
0501 #define NFP_NET_CFG_TLV_TYPE_CRYPTO_OPS 11
0502 #define NFP_NET_CFG_TLV_TYPE_VNIC_STATS 12
0503 #define NFP_NET_CFG_TLV_TYPE_CRYPTO_OPS_RX_SCAN 13
0504
0505 struct device;
0506
0507
0508
0509
0510
0511
0512
0513
0514
0515
0516
0517
0518
0519 struct nfp_net_tlv_caps {
0520 u32 me_freq_mhz;
0521 unsigned int mbox_off;
0522 unsigned int mbox_len;
0523 u32 repr_cap;
0524 u32 mbox_cmsg_types;
0525 u32 crypto_ops;
0526 unsigned int crypto_enable_off;
0527 unsigned int vnic_stats_off;
0528 unsigned int vnic_stats_cnt;
0529 unsigned int tls_resync_ss:1;
0530 };
0531
0532 int nfp_net_tlv_caps_parse(struct device *dev, u8 __iomem *ctrl_mem,
0533 struct nfp_net_tlv_caps *caps);
0534 #endif