| .. | .. |
|---|
| 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 |
|---|