.. | .. |
---|
87 | 87 | FW_ULPTX_WR = 0x04, |
---|
88 | 88 | FW_TP_WR = 0x05, |
---|
89 | 89 | FW_ETH_TX_PKT_WR = 0x08, |
---|
| 90 | + FW_ETH_TX_EO_WR = 0x1c, |
---|
90 | 91 | FW_OFLD_CONNECTION_WR = 0x2f, |
---|
91 | 92 | FW_FLOWC_WR = 0x0a, |
---|
92 | 93 | FW_OFLD_TX_DATA_WR = 0x0b, |
---|
.. | .. |
---|
534 | 535 | __be64 r3; |
---|
535 | 536 | }; |
---|
536 | 537 | |
---|
| 538 | +enum fw_eth_tx_eo_type { |
---|
| 539 | + FW_ETH_TX_EO_TYPE_UDPSEG = 0, |
---|
| 540 | + FW_ETH_TX_EO_TYPE_TCPSEG, |
---|
| 541 | +}; |
---|
| 542 | + |
---|
| 543 | +struct fw_eth_tx_eo_wr { |
---|
| 544 | + __be32 op_immdlen; |
---|
| 545 | + __be32 equiq_to_len16; |
---|
| 546 | + __be64 r3; |
---|
| 547 | + union fw_eth_tx_eo { |
---|
| 548 | + struct fw_eth_tx_eo_udpseg { |
---|
| 549 | + __u8 type; |
---|
| 550 | + __u8 ethlen; |
---|
| 551 | + __be16 iplen; |
---|
| 552 | + __u8 udplen; |
---|
| 553 | + __u8 rtplen; |
---|
| 554 | + __be16 r4; |
---|
| 555 | + __be16 mss; |
---|
| 556 | + __be16 schedpktsize; |
---|
| 557 | + __be32 plen; |
---|
| 558 | + } udpseg; |
---|
| 559 | + struct fw_eth_tx_eo_tcpseg { |
---|
| 560 | + __u8 type; |
---|
| 561 | + __u8 ethlen; |
---|
| 562 | + __be16 iplen; |
---|
| 563 | + __u8 tcplen; |
---|
| 564 | + __u8 tsclk_tsoff; |
---|
| 565 | + __be16 r4; |
---|
| 566 | + __be16 mss; |
---|
| 567 | + __be16 r5; |
---|
| 568 | + __be32 plen; |
---|
| 569 | + } tcpseg; |
---|
| 570 | + } u; |
---|
| 571 | +}; |
---|
| 572 | + |
---|
| 573 | +#define FW_ETH_TX_EO_WR_IMMDLEN_S 0 |
---|
| 574 | +#define FW_ETH_TX_EO_WR_IMMDLEN_M 0x1ff |
---|
| 575 | +#define FW_ETH_TX_EO_WR_IMMDLEN_V(x) ((x) << FW_ETH_TX_EO_WR_IMMDLEN_S) |
---|
| 576 | +#define FW_ETH_TX_EO_WR_IMMDLEN_G(x) \ |
---|
| 577 | + (((x) >> FW_ETH_TX_EO_WR_IMMDLEN_S) & FW_ETH_TX_EO_WR_IMMDLEN_M) |
---|
| 578 | + |
---|
537 | 579 | struct fw_ofld_connection_wr { |
---|
538 | 580 | __be32 op_compl; |
---|
539 | 581 | __be32 len16_pkd; |
---|
.. | .. |
---|
660 | 702 | FW_FLOWC_MNEM_TCPSTATE_TIMEWAIT = 10, /* not expected */ |
---|
661 | 703 | }; |
---|
662 | 704 | |
---|
| 705 | +enum fw_flowc_mnem_eostate { |
---|
| 706 | + FW_FLOWC_MNEM_EOSTATE_ESTABLISHED = 1, /* default */ |
---|
| 707 | + /* graceful close, after sending outstanding payload */ |
---|
| 708 | + FW_FLOWC_MNEM_EOSTATE_CLOSING = 2, |
---|
| 709 | +}; |
---|
| 710 | + |
---|
663 | 711 | enum fw_flowc_mnem { |
---|
664 | 712 | FW_FLOWC_MNEM_PFNVFN, /* PFN [15:8] VFN [7:0] */ |
---|
665 | 713 | FW_FLOWC_MNEM_CH, |
---|
.. | .. |
---|
689 | 737 | struct fw_flowc_wr { |
---|
690 | 738 | __be32 op_to_nparams; |
---|
691 | 739 | __be32 flowid_len16; |
---|
692 | | - struct fw_flowc_mnemval mnemval[0]; |
---|
| 740 | + struct fw_flowc_mnemval mnemval[]; |
---|
693 | 741 | }; |
---|
694 | 742 | |
---|
695 | 743 | #define FW_FLOWC_WR_NPARAMS_S 0 |
---|
.. | .. |
---|
1134 | 1182 | FW_CAPS_CONFIG_NIC = 0x00000001, |
---|
1135 | 1183 | FW_CAPS_CONFIG_NIC_VM = 0x00000002, |
---|
1136 | 1184 | FW_CAPS_CONFIG_NIC_HASHFILTER = 0x00000020, |
---|
| 1185 | + FW_CAPS_CONFIG_NIC_ETHOFLD = 0x00000040, |
---|
1137 | 1186 | }; |
---|
1138 | 1187 | |
---|
1139 | 1188 | enum fw_caps_config_ofld { |
---|
.. | .. |
---|
1156 | 1205 | FW_CAPS_CONFIG_CRYPTO_LOOKASIDE = 0x00000001, |
---|
1157 | 1206 | FW_CAPS_CONFIG_TLS_INLINE = 0x00000002, |
---|
1158 | 1207 | FW_CAPS_CONFIG_IPSEC_INLINE = 0x00000004, |
---|
| 1208 | + FW_CAPS_CONFIG_TLS_HW = 0x00000008, |
---|
1159 | 1209 | }; |
---|
1160 | 1210 | |
---|
1161 | 1211 | enum fw_caps_config_fcoe { |
---|
.. | .. |
---|
1221 | 1271 | /* |
---|
1222 | 1272 | * device parameters |
---|
1223 | 1273 | */ |
---|
| 1274 | + |
---|
| 1275 | +#define FW_PARAMS_PARAM_FILTER_MODE_S 16 |
---|
| 1276 | +#define FW_PARAMS_PARAM_FILTER_MODE_M 0xffff |
---|
| 1277 | +#define FW_PARAMS_PARAM_FILTER_MODE_V(x) \ |
---|
| 1278 | + ((x) << FW_PARAMS_PARAM_FILTER_MODE_S) |
---|
| 1279 | +#define FW_PARAMS_PARAM_FILTER_MODE_G(x) \ |
---|
| 1280 | + (((x) >> FW_PARAMS_PARAM_FILTER_MODE_S) & \ |
---|
| 1281 | + FW_PARAMS_PARAM_FILTER_MODE_M) |
---|
| 1282 | + |
---|
| 1283 | +#define FW_PARAMS_PARAM_FILTER_MASK_S 0 |
---|
| 1284 | +#define FW_PARAMS_PARAM_FILTER_MASK_M 0xffff |
---|
| 1285 | +#define FW_PARAMS_PARAM_FILTER_MASK_V(x) \ |
---|
| 1286 | + ((x) << FW_PARAMS_PARAM_FILTER_MASK_S) |
---|
| 1287 | +#define FW_PARAMS_PARAM_FILTER_MASK_G(x) \ |
---|
| 1288 | + (((x) >> FW_PARAMS_PARAM_FILTER_MASK_S) & \ |
---|
| 1289 | + FW_PARAMS_PARAM_FILTER_MASK_M) |
---|
| 1290 | + |
---|
1224 | 1291 | enum fw_params_param_dev { |
---|
1225 | 1292 | FW_PARAMS_PARAM_DEV_CCLK = 0x00, /* chip core clock in khz */ |
---|
1226 | 1293 | FW_PARAMS_PARAM_DEV_PORTVEC = 0x01, /* the port vector */ |
---|
.. | .. |
---|
1250 | 1317 | FW_PARAMS_PARAM_DEV_RI_FR_NSMR_TPTE_WR = 0x1C, |
---|
1251 | 1318 | FW_PARAMS_PARAM_DEV_FILTER2_WR = 0x1D, |
---|
1252 | 1319 | FW_PARAMS_PARAM_DEV_MPSBGMAP = 0x1E, |
---|
| 1320 | + FW_PARAMS_PARAM_DEV_TPCHMAP = 0x1F, |
---|
1253 | 1321 | FW_PARAMS_PARAM_DEV_HMA_SIZE = 0x20, |
---|
1254 | 1322 | FW_PARAMS_PARAM_DEV_RDMA_WRITE_WITH_IMM = 0x21, |
---|
| 1323 | + FW_PARAMS_PARAM_DEV_PPOD_EDRAM = 0x23, |
---|
1255 | 1324 | FW_PARAMS_PARAM_DEV_RI_WRITE_CMPL_WR = 0x24, |
---|
| 1325 | + FW_PARAMS_PARAM_DEV_HPFILTER_REGION_SUPPORT = 0x26, |
---|
| 1326 | + FW_PARAMS_PARAM_DEV_OPAQUE_VIID_SMT_EXTN = 0x27, |
---|
| 1327 | + FW_PARAMS_PARAM_DEV_HASHFILTER_WITH_OFLD = 0x28, |
---|
| 1328 | + FW_PARAMS_PARAM_DEV_DBQ_TIMER = 0x29, |
---|
| 1329 | + FW_PARAMS_PARAM_DEV_DBQ_TIMERTICK = 0x2A, |
---|
| 1330 | + FW_PARAMS_PARAM_DEV_NUM_TM_CLASS = 0x2B, |
---|
| 1331 | + FW_PARAMS_PARAM_DEV_FILTER = 0x2E, |
---|
| 1332 | + FW_PARAMS_PARAM_DEV_KTLS_HW = 0x31, |
---|
1256 | 1333 | }; |
---|
1257 | 1334 | |
---|
1258 | 1335 | /* |
---|
.. | .. |
---|
1309 | 1386 | FW_PARAMS_PARAM_PFVF_RAWF_END = 0x37, |
---|
1310 | 1387 | FW_PARAMS_PARAM_PFVF_NCRYPTO_LOOKASIDE = 0x39, |
---|
1311 | 1388 | FW_PARAMS_PARAM_PFVF_PORT_CAPS32 = 0x3A, |
---|
| 1389 | + FW_PARAMS_PARAM_PFVF_PPOD_EDRAM_START = 0x3B, |
---|
| 1390 | + FW_PARAMS_PARAM_PFVF_PPOD_EDRAM_END = 0x3C, |
---|
| 1391 | + FW_PARAMS_PARAM_PFVF_LINK_STATE = 0x40, |
---|
| 1392 | +}; |
---|
| 1393 | + |
---|
| 1394 | +/* Virtual link state as seen by the specified VF */ |
---|
| 1395 | +enum vf_link_states { |
---|
| 1396 | + FW_VF_LINK_STATE_AUTO = 0x00, |
---|
| 1397 | + FW_VF_LINK_STATE_ENABLE = 0x01, |
---|
| 1398 | + FW_VF_LINK_STATE_DISABLE = 0x02, |
---|
1312 | 1399 | }; |
---|
1313 | 1400 | |
---|
1314 | 1401 | /* |
---|
.. | .. |
---|
1321 | 1408 | FW_PARAMS_PARAM_DMAQ_EQ_CMPLIQID_CTRL = 0x11, |
---|
1322 | 1409 | FW_PARAMS_PARAM_DMAQ_EQ_SCHEDCLASS_ETH = 0x12, |
---|
1323 | 1410 | FW_PARAMS_PARAM_DMAQ_EQ_DCBPRIO_ETH = 0x13, |
---|
| 1411 | + FW_PARAMS_PARAM_DMAQ_EQ_TIMERIX = 0x15, |
---|
1324 | 1412 | FW_PARAMS_PARAM_DMAQ_CONM_CTXT = 0x20, |
---|
| 1413 | +}; |
---|
| 1414 | + |
---|
| 1415 | +enum fw_params_param_dev_ktls_hw { |
---|
| 1416 | + FW_PARAMS_PARAM_DEV_KTLS_HW_DISABLE = 0x00, |
---|
| 1417 | + FW_PARAMS_PARAM_DEV_KTLS_HW_ENABLE = 0x01, |
---|
| 1418 | + FW_PARAMS_PARAM_DEV_KTLS_HW_USER_ENABLE = 0x01, |
---|
1325 | 1419 | }; |
---|
1326 | 1420 | |
---|
1327 | 1421 | enum fw_params_param_dev_phyfw { |
---|
.. | .. |
---|
1332 | 1426 | enum fw_params_param_dev_diag { |
---|
1333 | 1427 | FW_PARAM_DEV_DIAG_TMP = 0x00, |
---|
1334 | 1428 | FW_PARAM_DEV_DIAG_VDD = 0x01, |
---|
| 1429 | + FW_PARAM_DEV_DIAG_MAXTMPTHRESH = 0x02, |
---|
| 1430 | +}; |
---|
| 1431 | + |
---|
| 1432 | +enum fw_params_param_dev_filter { |
---|
| 1433 | + FW_PARAM_DEV_FILTER_VNIC_MODE = 0x00, |
---|
| 1434 | + FW_PARAM_DEV_FILTER_MODE_MASK = 0x01, |
---|
1335 | 1435 | }; |
---|
1336 | 1436 | |
---|
1337 | 1437 | enum fw_params_param_dev_fwcache { |
---|
.. | .. |
---|
1749 | 1849 | __be32 fetchszm_to_iqid; |
---|
1750 | 1850 | __be32 dcaen_to_eqsize; |
---|
1751 | 1851 | __be64 eqaddr; |
---|
1752 | | - __be32 viid_pkd; |
---|
1753 | | - __be32 r8_lo; |
---|
| 1852 | + __be32 autoequiqe_to_viid; |
---|
| 1853 | + __be32 timeren_timerix; |
---|
1754 | 1854 | __be64 r9; |
---|
1755 | 1855 | }; |
---|
1756 | 1856 | |
---|
.. | .. |
---|
1845 | 1945 | #define FW_EQ_ETH_CMD_EQSIZE_S 0 |
---|
1846 | 1946 | #define FW_EQ_ETH_CMD_EQSIZE_V(x) ((x) << FW_EQ_ETH_CMD_EQSIZE_S) |
---|
1847 | 1947 | |
---|
| 1948 | +#define FW_EQ_ETH_CMD_AUTOEQUIQE_S 31 |
---|
| 1949 | +#define FW_EQ_ETH_CMD_AUTOEQUIQE_V(x) ((x) << FW_EQ_ETH_CMD_AUTOEQUIQE_S) |
---|
| 1950 | +#define FW_EQ_ETH_CMD_AUTOEQUIQE_F FW_EQ_ETH_CMD_AUTOEQUIQE_V(1U) |
---|
| 1951 | + |
---|
1848 | 1952 | #define FW_EQ_ETH_CMD_AUTOEQUEQE_S 30 |
---|
1849 | 1953 | #define FW_EQ_ETH_CMD_AUTOEQUEQE_V(x) ((x) << FW_EQ_ETH_CMD_AUTOEQUEQE_S) |
---|
1850 | 1954 | #define FW_EQ_ETH_CMD_AUTOEQUEQE_F FW_EQ_ETH_CMD_AUTOEQUEQE_V(1U) |
---|
1851 | 1955 | |
---|
1852 | 1956 | #define FW_EQ_ETH_CMD_VIID_S 16 |
---|
1853 | 1957 | #define FW_EQ_ETH_CMD_VIID_V(x) ((x) << FW_EQ_ETH_CMD_VIID_S) |
---|
| 1958 | + |
---|
| 1959 | +#define FW_EQ_ETH_CMD_TIMEREN_S 3 |
---|
| 1960 | +#define FW_EQ_ETH_CMD_TIMEREN_M 0x1 |
---|
| 1961 | +#define FW_EQ_ETH_CMD_TIMEREN_V(x) ((x) << FW_EQ_ETH_CMD_TIMEREN_S) |
---|
| 1962 | +#define FW_EQ_ETH_CMD_TIMEREN_G(x) \ |
---|
| 1963 | + (((x) >> FW_EQ_ETH_CMD_TIMEREN_S) & FW_EQ_ETH_CMD_TIMEREN_M) |
---|
| 1964 | +#define FW_EQ_ETH_CMD_TIMEREN_F FW_EQ_ETH_CMD_TIMEREN_V(1U) |
---|
| 1965 | + |
---|
| 1966 | +#define FW_EQ_ETH_CMD_TIMERIX_S 0 |
---|
| 1967 | +#define FW_EQ_ETH_CMD_TIMERIX_M 0x7 |
---|
| 1968 | +#define FW_EQ_ETH_CMD_TIMERIX_V(x) ((x) << FW_EQ_ETH_CMD_TIMERIX_S) |
---|
| 1969 | +#define FW_EQ_ETH_CMD_TIMERIX_G(x) \ |
---|
| 1970 | + (((x) >> FW_EQ_ETH_CMD_TIMERIX_S) & FW_EQ_ETH_CMD_TIMERIX_M) |
---|
1854 | 1971 | |
---|
1855 | 1972 | struct fw_eq_ctrl_cmd { |
---|
1856 | 1973 | __be32 op_to_vfn; |
---|
.. | .. |
---|
2108 | 2225 | #define FW_VI_CMD_FREE_V(x) ((x) << FW_VI_CMD_FREE_S) |
---|
2109 | 2226 | #define FW_VI_CMD_FREE_F FW_VI_CMD_FREE_V(1U) |
---|
2110 | 2227 | |
---|
| 2228 | +#define FW_VI_CMD_VFVLD_S 24 |
---|
| 2229 | +#define FW_VI_CMD_VFVLD_M 0x1 |
---|
| 2230 | +#define FW_VI_CMD_VFVLD_V(x) ((x) << FW_VI_CMD_VFVLD_S) |
---|
| 2231 | +#define FW_VI_CMD_VFVLD_G(x) \ |
---|
| 2232 | + (((x) >> FW_VI_CMD_VFVLD_S) & FW_VI_CMD_VFVLD_M) |
---|
| 2233 | +#define FW_VI_CMD_VFVLD_F FW_VI_CMD_VFVLD_V(1U) |
---|
| 2234 | + |
---|
| 2235 | +#define FW_VI_CMD_VIN_S 16 |
---|
| 2236 | +#define FW_VI_CMD_VIN_M 0xff |
---|
| 2237 | +#define FW_VI_CMD_VIN_V(x) ((x) << FW_VI_CMD_VIN_S) |
---|
| 2238 | +#define FW_VI_CMD_VIN_G(x) \ |
---|
| 2239 | + (((x) >> FW_VI_CMD_VIN_S) & FW_VI_CMD_VIN_M) |
---|
| 2240 | + |
---|
2111 | 2241 | #define FW_VI_CMD_VIID_S 0 |
---|
2112 | 2242 | #define FW_VI_CMD_VIID_M 0xfff |
---|
2113 | 2243 | #define FW_VI_CMD_VIID_V(x) ((x) << FW_VI_CMD_VIID_S) |
---|
.. | .. |
---|
2180 | 2310 | } exact_vni[2]; |
---|
2181 | 2311 | } u; |
---|
2182 | 2312 | }; |
---|
| 2313 | + |
---|
| 2314 | +#define FW_VI_MAC_CMD_SMTID_S 12 |
---|
| 2315 | +#define FW_VI_MAC_CMD_SMTID_M 0xff |
---|
| 2316 | +#define FW_VI_MAC_CMD_SMTID_V(x) ((x) << FW_VI_MAC_CMD_SMTID_S) |
---|
| 2317 | +#define FW_VI_MAC_CMD_SMTID_G(x) \ |
---|
| 2318 | + (((x) >> FW_VI_MAC_CMD_SMTID_S) & FW_VI_MAC_CMD_SMTID_M) |
---|
2183 | 2319 | |
---|
2184 | 2320 | #define FW_VI_MAC_CMD_VIID_S 0 |
---|
2185 | 2321 | #define FW_VI_MAC_CMD_VIID_V(x) ((x) << FW_VI_MAC_CMD_VIID_S) |
---|
.. | .. |
---|
2464 | 2600 | |
---|
2465 | 2601 | #define FW_ACL_VLAN_CMD_DROPNOVLAN_S 7 |
---|
2466 | 2602 | #define FW_ACL_VLAN_CMD_DROPNOVLAN_V(x) ((x) << FW_ACL_VLAN_CMD_DROPNOVLAN_S) |
---|
| 2603 | +#define FW_ACL_VLAN_CMD_DROPNOVLAN_F FW_ACL_VLAN_CMD_DROPNOVLAN_V(1U) |
---|
2467 | 2604 | |
---|
2468 | 2605 | #define FW_ACL_VLAN_CMD_FM_S 6 |
---|
2469 | 2606 | #define FW_ACL_VLAN_CMD_FM_M 0x1 |
---|