Lines Matching +full:4 +full:a

19 #define MC_FW_STATE_BOOTING (4)
24 * Unlike a warm boot, assume DMEM has been reloaded, so that
51 /* Check whether an mcfw version (in host order) belongs to a bootloader */
65 * Each MCDI request starts with an MCDI_HEADER, which is a 32bit
87 * The protocol requires one response to be delivered for every request; a
102 #define MCDI_HEADER_SEQ_WIDTH 4
126 * - To advance a shared memory request if XFLAGS_EVREQ was set
127 * - As a notification (link state, i2c event), controlled
130 * Both events share a common structure:
148 * Events can be squirted out of the UART (using LOG_CTRL) without a
149 * MCDI header. An event can be distinguished from a MCDI response by
170 #define MC_CMD_ERR_PROXY_PENDING_HANDLE_OFST 4
199 #define MEDFORD_MC_BOOTROM_REAL_NOFLASH_VEC (0x10000 - 4 * 0x4)
227 /* This may be ORed with an EVB_PORT_ID_xxx constant to pass a non-default
237 #define MC_CMD_ERR_ARG_OFST 4
295 /* enum: Stale handle. The handle references a resource that no longer exists.
322 /* enum: The requesting client is not a function */
334 * function for authorization. The driver should wait for a PROXY_RESPONSE
335 * event and then resend its request. This error code is followed by a 32-bit
345 * that has enabled proxying or BLOCK_INDEX points to a function that doesn't
353 * request to a designated admin function for authorization.
371 * resources to do so. Send it again after a command has completed.
392 * interfaces. There is a need to refer to interfaces explicitly from drivers
393 * (for example, a management driver on one interface administering a function
395 * interfaces present on a product. Product documentation will specify which
405 /* enum: Riverhead and keystone products have a second PCIe interface to which
417 /* enum: For MCDI commands issued over a PCIe interface, this value is
429 * mask associated with this field in a match rule is zeroed. The NIC may
430 * either reject requests with an invalid mask for such a field, or may assume
432 * fields that a newer driver might know about but that older firmware does
434 * all match fields defined at the time of its compilation. If a driver see a
437 * and must never set a non-zero mask value for this field.
440 /* enum: The NIC supports this field, but cannot use it in a match rule. The
441 * driver must ensure that any mask for such a field in a match rule is zeroed.
442 * The NIC will reject requests with an invalid mask for such a field.
446 * driver must ensure that any mask for such a field is all ones. The NIC will
447 * reject requests with an invalid mask for such a field.
451 * The driver must ensure that any mask for such a field is either all zeroes
452 * or all ones. The NIC will reject requests with an invalid mask for such a
457 * The driver must ensure that any mask for such a field is either all zeroes
458 * or a consecutive set of ones following by all zeroes (starting from MSB).
459 * The NIC will reject requests with an invalid mask for such a field.
463 * The driver may provide an arbitrary mask for such a field.
544 * matching? TODO: there was a proposal for driver-allocation fields. The
546 * and would be given a field id in return. It could then use that field id in
629 * being associated with a different table. Note that the same counter ID may
636 * in large contiguous blocks as a LAG config. Calling MAE_COUNTER_ALLOC/FREE
649 /* enum: A counter ID that is guaranteed never to represent a real counter or
657 * [15:8] a unique ID within the block, and [7:0] reserved for future
661 * tables.) The DPU offload engines' enumerators follow a deliberate pattern:
771 * still be clear. The intent is that a list of fields, with their associated
773 * of the fields in a key or response. (Again, this list includes all of the
774 * fields currently defined within the streaming engines, but only a subset may
777 /* enum: May appear multiple times within a key or response, and indicates that
782 /* enum: Source m-port (a full m-port label). */
784 /* enum: Destination m-port (a full m-port label). */
803 /* enum: Counter ID associated with a response. All-bits-1 is a null value to
808 * allows plugins to make a reinterpretation of packet fields in these keys
812 /* enum: Destination MAC address. The mapping from bytes in a frame to the
813 * 48-bit value for this field is in network order, i.e. a MAC address of
814 * AA:BB:CC:DD:EE:FF becomes a 48-bit value of 0xAABBCCDDEEFF.
833 /* enum: Source IP address, either IPv4 or IPv6. The mapping from bytes in a
846 /* enum: Layer 4 source port. */
848 /* enum: Layer 4 destination port. */
872 /* enum: True if only/inner frame has a recognised L4 IP protocol (TCP or UDP).
926 /* enum: A conntrack entry identifier, passed to plugins. */
932 * byte mapped to a 32-bit value in network order, i.e. the IPv4 address
944 /* enum: True if the conntrack lookup resulted in a hit. */
1013 /* enum: 4-byte chunk of added encapsulation header. */
1021 /* enum: Static value for layer 4 LACP hash of the encapsulation header. */
1024 * instead of the calculated values for the inner frame when delivering a newly
1025 * encapsulated packet to a LAG m-port.
1050 /* enum: True to include layer 4 in LACP hash on delivery to a LAG m-port. */
1052 /* enum: True to request that LACP is performed by a plugin. */
1112 /* enum: For indirection spreading mode, the base address of a region within
1117 /* enum: For indirection spreading mode, identifies the length of a region
1153 /* enum: 4 byte offset of where to find the additional data on the OPR bus. */
1159 /* enum: OPR 4 byte offset for ICV or GHASH output (only in BULK_* mode) or
1191 #define MCDI_EVENT_DATA_LEN 4
1206 #define MCDI_EVENT_LINKCHANGE_SPEED_WIDTH 4
1225 #define MCDI_EVENT_LINKCHANGE_FCNTL_WIDTH 4
1272 #define MCDI_EVENT_TX_ERR_TYPE_WIDTH 4
1283 /* enum: Option descriptor part way through a packet. Specific to EF10-family
1406 #define MCDI_EVENT_RX_ERR_TYPE_WIDTH 4
1456 #define MCDI_EVENT_LINKCHANGE_V2_SPEED_WIDTH 4
1494 #define MCDI_EVENT_EV_CODE_WIDTH 4
1540 * a different format)
1543 /* enum: the MC has detected a parity error */
1545 /* enum: the MC has detected a correctable error */
1555 /* enum: notify the designated PF of a new authorization request */
1557 /* enum: notify a function that awaits an authorization that its request has
1565 /* enum: The MC has detected a fault on the SUC */
1573 * a module change.
1582 /* enum: Notification that a sensor has changed state as a result of a reading
1583 * crossing a threshold. This is sent as two events, the first event contains
1588 /* enum: Notification that a descriptor proxy function configuration has been
1595 /* enum: Notification that a descriptor proxy function has been reset. SRC
1600 /* enum: Notification that a driver attached to a descriptor proxy function.
1615 /* enum: Notification that a source queue is enabled and attached to its proxy
1621 /* enum: Notification of a change in link state and/or link speed of a network
1622 * port link. This event applies to a network port identified by a handle,
1627 /* enum: Notification of a change in the state of an MDI (external connector)
1628 * of a network port. This typically corresponds to module plug/unplug for
1630 * This event applies to a network port identified by a handle, PORT_HANDLE,
1645 #define MCDI_EVENT_CMDDONE_DATA_LEN 4
1649 #define MCDI_EVENT_LINKCHANGE_DATA_LEN 4
1653 #define MCDI_EVENT_PORT_LINKCHANGE_DATA_LEN 4
1657 #define MCDI_EVENT_PORT_MODULECHANGE_DATA_LEN 4
1661 #define MCDI_EVENT_SENSOREVT_DATA_LEN 4
1665 #define MCDI_EVENT_MAC_STATS_DMA_GENERATION_LEN 4
1669 #define MCDI_EVENT_TX_ERR_DATA_LEN 4
1676 #define MCDI_EVENT_PTP_SECONDS_LEN 4
1683 #define MCDI_EVENT_PTP_MAJOR_LEN 4
1690 #define MCDI_EVENT_PTP_NANOSECONDS_LEN 4
1697 #define MCDI_EVENT_PTP_MINOR_LEN 4
1703 #define MCDI_EVENT_PTP_UUID_LEN 4
1707 #define MCDI_EVENT_RX_ERR_DATA_LEN 4
1711 #define MCDI_EVENT_PAR_ERR_DATA_LEN 4
1715 #define MCDI_EVENT_ECC_CORR_ERR_DATA_LEN 4
1719 #define MCDI_EVENT_ECC_FATAL_ERR_DATA_LEN 4
1724 #define MCDI_EVENT_PTP_TIME_MAJOR_LEN 4
1731 * PTP clock. This is a more generic equivalent of PTP_TIME_MINOR_26_19.
1751 * PTP clock. This is a more generic equivalent of PTP_TIME_MINOR_26_21.
1756 #define MCDI_EVENT_PROXY_REQUEST_BUFF_INDEX_LEN 4
1760 #define MCDI_EVENT_PROXY_RESPONSE_HANDLE_LEN 4
1764 * should resend it. A non-zero value means that the authorization has been
1770 #define MCDI_EVENT_DBRET_DATA_LEN 4
1774 #define MCDI_EVENT_LINKCHANGE_V2_DATA_LEN 4
1778 #define MCDI_EVENT_MODULECHANGE_DATA_LEN 4
1781 /* The new generation count after a sensor has been added or deleted. */
1783 #define MCDI_EVENT_DYNAMIC_SENSORS_GENERATION_LEN 4
1786 /* The handle of a dynamic sensor. */
1788 #define MCDI_EVENT_DYNAMIC_SENSORS_HANDLE_LEN 4
1791 /* The current values of a sensor. */
1793 #define MCDI_EVENT_DYNAMIC_SENSORS_VALUE_LEN 4
1796 /* The current state of a sensor. */
1800 #define MCDI_EVENT_DESC_PROXY_DATA_LEN 4
1805 #define MCDI_EVENT_DESC_PROXY_GENERATION_LEN 4
1812 #define MCDI_EVENT_DESC_PROXY_VIRTIO_FEATURES_LEN 4
1831 #define MC_CMD_READ32_IN_ADDR_LEN 4
1832 #define MC_CMD_READ32_IN_NUMWORDS_OFST 4
1833 #define MC_CMD_READ32_IN_NUMWORDS_LEN 4
1836 #define MC_CMD_READ32_OUT_LENMIN 4
1839 #define MC_CMD_READ32_OUT_LEN(num) (0+4*(num))
1840 #define MC_CMD_READ32_OUT_BUFFER_NUM(len) (((len)-0)/4)
1842 #define MC_CMD_READ32_OUT_BUFFER_LEN 4
1861 #define MC_CMD_WRITE32_IN_LEN(num) (4+4*(num))
1862 #define MC_CMD_WRITE32_IN_BUFFER_NUM(len) (((len)-4)/4)
1864 #define MC_CMD_WRITE32_IN_ADDR_LEN 4
1865 #define MC_CMD_WRITE32_IN_BUFFER_OFST 4
1866 #define MC_CMD_WRITE32_IN_BUFFER_LEN 4
1891 #define MC_CMD_GET_BOOT_STATUS_OUT_BOOT_OFFSET_LEN 4
1894 #define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_OFST 4
1895 #define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_LEN 4
1896 #define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_WATCHDOG_OFST 4
1899 #define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_PRIMARY_OFST 4
1902 #define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_BACKUP_OFST 4
1919 #define MC_CMD_GET_ASSERTS_IN_LEN 4
1922 #define MC_CMD_GET_ASSERTS_IN_CLEAR_LEN 4
1928 #define MC_CMD_GET_ASSERTS_OUT_GLOBAL_FLAGS_LEN 4
1931 /* enum: A system-level assertion has failed. */
1933 /* enum: A thread-level assertion has failed. */
1940 #define MC_CMD_GET_ASSERTS_OUT_SAVED_PC_OFFS_OFST 4
1941 #define MC_CMD_GET_ASSERTS_OUT_SAVED_PC_OFFS_LEN 4
1944 #define MC_CMD_GET_ASSERTS_OUT_GP_REGS_OFFS_LEN 4
1946 /* enum: A magic value hinting that the value in this register at the time of
1952 #define MC_CMD_GET_ASSERTS_OUT_THREAD_OFFS_LEN 4
1954 #define MC_CMD_GET_ASSERTS_OUT_RESERVED_LEN 4
1962 #define MC_CMD_GET_ASSERTS_OUT_V2_GLOBAL_FLAGS_LEN 4
1965 /* enum: A system-level assertion has failed. */
1967 /* enum: A thread-level assertion has failed. */
1974 #define MC_CMD_GET_ASSERTS_OUT_V2_SAVED_PC_OFFS_OFST 4
1975 #define MC_CMD_GET_ASSERTS_OUT_V2_SAVED_PC_OFFS_LEN 4
1978 #define MC_CMD_GET_ASSERTS_OUT_V2_GP_REGS_OFFS_LEN 4
1980 /* enum: A magic value hinting that the value in this register at the time of
1986 #define MC_CMD_GET_ASSERTS_OUT_V2_THREAD_OFFS_LEN 4
1988 #define MC_CMD_GET_ASSERTS_OUT_V2_RESERVED_LEN 4
1991 #define MC_CMD_GET_ASSERTS_OUT_V2_SF_REGS_OFFS_LEN 4
2000 #define MC_CMD_GET_ASSERTS_OUT_V3_GLOBAL_FLAGS_LEN 4
2003 /* enum: A system-level assertion has failed. */
2005 /* enum: A thread-level assertion has failed. */
2012 #define MC_CMD_GET_ASSERTS_OUT_V3_SAVED_PC_OFFS_OFST 4
2013 #define MC_CMD_GET_ASSERTS_OUT_V3_SAVED_PC_OFFS_LEN 4
2016 #define MC_CMD_GET_ASSERTS_OUT_V3_GP_REGS_OFFS_LEN 4
2018 /* enum: A magic value hinting that the value in this register at the time of
2024 #define MC_CMD_GET_ASSERTS_OUT_V3_THREAD_OFFS_LEN 4
2026 #define MC_CMD_GET_ASSERTS_OUT_V3_RESERVED_LEN 4
2029 #define MC_CMD_GET_ASSERTS_OUT_V3_SF_REGS_OFFS_LEN 4
2038 #define MC_CMD_GET_ASSERTS_OUT_V3_MC_FW_BUILD_TIMESTAMP_LO_LEN 4
2042 #define MC_CMD_GET_ASSERTS_OUT_V3_MC_FW_BUILD_TIMESTAMP_HI_LEN 4
2049 #define MC_CMD_GET_ASSERTS_OUT_V3_MC_FW_VERSION_LO_LEN 4
2053 #define MC_CMD_GET_ASSERTS_OUT_V3_MC_FW_VERSION_HI_LEN 4
2058 #define MC_CMD_GET_ASSERTS_OUT_V3_MC_FW_SECURITY_LEVEL_LEN 4
2081 #define MC_CMD_LOG_CTRL_IN_LOG_DEST_LEN 4
2088 #define MC_CMD_LOG_CTRL_IN_LOG_DEST_EVQ_OFST 4
2089 #define MC_CMD_LOG_CTRL_IN_LOG_DEST_EVQ_LEN 4
2108 #define MC_CMD_GET_VERSION_EXT_IN_LEN 4
2111 #define MC_CMD_GET_VERSION_EXT_IN_EXT_FLAGS_LEN 4
2114 #define MC_CMD_GET_VERSION_V0_OUT_LEN 4
2116 #define MC_CMD_GET_VERSION_OUT_FIRMWARE_LEN 4
2132 /* MC_CMD_GET_VERSION_OUT_FIRMWARE_LEN 4 */
2135 #define MC_CMD_GET_VERSION_OUT_PCOL_OFST 4
2136 #define MC_CMD_GET_VERSION_OUT_PCOL_LEN 4
2143 #define MC_CMD_GET_VERSION_OUT_VERSION_LO_LEN 4
2147 #define MC_CMD_GET_VERSION_OUT_VERSION_HI_LEN 4
2157 /* MC_CMD_GET_VERSION_OUT_FIRMWARE_LEN 4 */
2160 #define MC_CMD_GET_VERSION_EXT_OUT_PCOL_OFST 4
2161 #define MC_CMD_GET_VERSION_EXT_OUT_PCOL_LEN 4
2168 #define MC_CMD_GET_VERSION_EXT_OUT_VERSION_LO_LEN 4
2172 #define MC_CMD_GET_VERSION_EXT_OUT_VERSION_HI_LEN 4
2183 * (depending on which components exist on a particular adapter)
2190 /* MC_CMD_GET_VERSION_OUT_FIRMWARE_LEN 4 */
2193 #define MC_CMD_GET_VERSION_V2_OUT_PCOL_OFST 4
2194 #define MC_CMD_GET_VERSION_V2_OUT_PCOL_LEN 4
2201 #define MC_CMD_GET_VERSION_V2_OUT_VERSION_LO_LEN 4
2205 #define MC_CMD_GET_VERSION_V2_OUT_VERSION_HI_LEN 4
2213 #define MC_CMD_GET_VERSION_V2_OUT_FLAGS_LEN 4
2227 #define MC_CMD_GET_VERSION_V2_OUT_BOARD_EXT_INFO_PRESENT_LBN 4
2261 #define MC_CMD_GET_VERSION_V2_OUT_MCFW_SECURITY_LEVEL_LEN 4
2265 /* The SUC firmware version as four numbers - a.b.c.d */
2267 #define MC_CMD_GET_VERSION_V2_OUT_SUCFW_VERSION_LEN 4
2268 #define MC_CMD_GET_VERSION_V2_OUT_SUCFW_VERSION_NUM 4
2273 #define MC_CMD_GET_VERSION_V2_OUT_SUCFW_BUILD_DATE_LO_LEN 4
2277 #define MC_CMD_GET_VERSION_V2_OUT_SUCFW_BUILD_DATE_HI_LEN 4
2284 #define MC_CMD_GET_VERSION_V2_OUT_SUCFW_CHIP_ID_LEN 4
2285 /* The CMC firmware version as four numbers - a.b.c.d */
2287 #define MC_CMD_GET_VERSION_V2_OUT_CMCFW_VERSION_LEN 4
2288 #define MC_CMD_GET_VERSION_V2_OUT_CMCFW_VERSION_NUM 4
2293 #define MC_CMD_GET_VERSION_V2_OUT_CMCFW_BUILD_DATE_LO_LEN 4
2297 #define MC_CMD_GET_VERSION_V2_OUT_CMCFW_BUILD_DATE_HI_LEN 4
2302 * FPGA_VERSION[0]: x => Image H{x} FPGA_VERSION[1]: Revision letter (0 => A, 1
2306 #define MC_CMD_GET_VERSION_V2_OUT_FPGA_VERSION_LEN 4
2316 #define MC_CMD_GET_VERSION_V2_OUT_BOARD_REVISION_LEN 4
2325 * (depending on which components exist on a particular adapter)
2332 /* MC_CMD_GET_VERSION_OUT_FIRMWARE_LEN 4 */
2335 #define MC_CMD_GET_VERSION_V3_OUT_PCOL_OFST 4
2336 #define MC_CMD_GET_VERSION_V3_OUT_PCOL_LEN 4
2343 #define MC_CMD_GET_VERSION_V3_OUT_VERSION_LO_LEN 4
2347 #define MC_CMD_GET_VERSION_V3_OUT_VERSION_HI_LEN 4
2355 #define MC_CMD_GET_VERSION_V3_OUT_FLAGS_LEN 4
2369 #define MC_CMD_GET_VERSION_V3_OUT_BOARD_EXT_INFO_PRESENT_LBN 4
2403 #define MC_CMD_GET_VERSION_V3_OUT_MCFW_SECURITY_LEVEL_LEN 4
2407 /* The SUC firmware version as four numbers - a.b.c.d */
2409 #define MC_CMD_GET_VERSION_V3_OUT_SUCFW_VERSION_LEN 4
2410 #define MC_CMD_GET_VERSION_V3_OUT_SUCFW_VERSION_NUM 4
2415 #define MC_CMD_GET_VERSION_V3_OUT_SUCFW_BUILD_DATE_LO_LEN 4
2419 #define MC_CMD_GET_VERSION_V3_OUT_SUCFW_BUILD_DATE_HI_LEN 4
2426 #define MC_CMD_GET_VERSION_V3_OUT_SUCFW_CHIP_ID_LEN 4
2427 /* The CMC firmware version as four numbers - a.b.c.d */
2429 #define MC_CMD_GET_VERSION_V3_OUT_CMCFW_VERSION_LEN 4
2430 #define MC_CMD_GET_VERSION_V3_OUT_CMCFW_VERSION_NUM 4
2435 #define MC_CMD_GET_VERSION_V3_OUT_CMCFW_BUILD_DATE_LO_LEN 4
2439 #define MC_CMD_GET_VERSION_V3_OUT_CMCFW_BUILD_DATE_HI_LEN 4
2444 * FPGA_VERSION[0]: x => Image H{x} FPGA_VERSION[1]: Revision letter (0 => A, 1
2448 #define MC_CMD_GET_VERSION_V3_OUT_FPGA_VERSION_LEN 4
2458 #define MC_CMD_GET_VERSION_V3_OUT_BOARD_REVISION_LEN 4
2462 /* The version of the datapath hardware design as three number - a.b.c */
2464 #define MC_CMD_GET_VERSION_V3_OUT_DATAPATH_HW_VERSION_LEN 4
2467 * number - a.b.c
2470 #define MC_CMD_GET_VERSION_V3_OUT_DATAPATH_FW_VERSION_LEN 4
2481 /* MC_CMD_GET_VERSION_OUT_FIRMWARE_LEN 4 */
2484 #define MC_CMD_GET_VERSION_V4_OUT_PCOL_OFST 4
2485 #define MC_CMD_GET_VERSION_V4_OUT_PCOL_LEN 4
2492 #define MC_CMD_GET_VERSION_V4_OUT_VERSION_LO_LEN 4
2496 #define MC_CMD_GET_VERSION_V4_OUT_VERSION_HI_LEN 4
2504 #define MC_CMD_GET_VERSION_V4_OUT_FLAGS_LEN 4
2518 #define MC_CMD_GET_VERSION_V4_OUT_BOARD_EXT_INFO_PRESENT_LBN 4
2552 #define MC_CMD_GET_VERSION_V4_OUT_MCFW_SECURITY_LEVEL_LEN 4
2556 /* The SUC firmware version as four numbers - a.b.c.d */
2558 #define MC_CMD_GET_VERSION_V4_OUT_SUCFW_VERSION_LEN 4
2559 #define MC_CMD_GET_VERSION_V4_OUT_SUCFW_VERSION_NUM 4
2564 #define MC_CMD_GET_VERSION_V4_OUT_SUCFW_BUILD_DATE_LO_LEN 4
2568 #define MC_CMD_GET_VERSION_V4_OUT_SUCFW_BUILD_DATE_HI_LEN 4
2575 #define MC_CMD_GET_VERSION_V4_OUT_SUCFW_CHIP_ID_LEN 4
2576 /* The CMC firmware version as four numbers - a.b.c.d */
2578 #define MC_CMD_GET_VERSION_V4_OUT_CMCFW_VERSION_LEN 4
2579 #define MC_CMD_GET_VERSION_V4_OUT_CMCFW_VERSION_NUM 4
2584 #define MC_CMD_GET_VERSION_V4_OUT_CMCFW_BUILD_DATE_LO_LEN 4
2588 #define MC_CMD_GET_VERSION_V4_OUT_CMCFW_BUILD_DATE_HI_LEN 4
2593 * FPGA_VERSION[0]: x => Image H{x} FPGA_VERSION[1]: Revision letter (0 => A, 1
2597 #define MC_CMD_GET_VERSION_V4_OUT_FPGA_VERSION_LEN 4
2607 #define MC_CMD_GET_VERSION_V4_OUT_BOARD_REVISION_LEN 4
2611 /* The version of the datapath hardware design as three number - a.b.c */
2613 #define MC_CMD_GET_VERSION_V4_OUT_DATAPATH_HW_VERSION_LEN 4
2616 * number - a.b.c
2619 #define MC_CMD_GET_VERSION_V4_OUT_DATAPATH_FW_VERSION_LEN 4
2621 /* The SOC boot version as four numbers - a.b.c.d */
2623 #define MC_CMD_GET_VERSION_V4_OUT_SOC_BOOT_VERSION_LEN 4
2624 #define MC_CMD_GET_VERSION_V4_OUT_SOC_BOOT_VERSION_NUM 4
2625 /* The SOC uboot version as four numbers - a.b.c.d */
2627 #define MC_CMD_GET_VERSION_V4_OUT_SOC_UBOOT_VERSION_LEN 4
2628 #define MC_CMD_GET_VERSION_V4_OUT_SOC_UBOOT_VERSION_NUM 4
2629 /* The SOC main rootfs version as four numbers - a.b.c.d */
2631 #define MC_CMD_GET_VERSION_V4_OUT_SOC_MAIN_ROOTFS_VERSION_LEN 4
2632 #define MC_CMD_GET_VERSION_V4_OUT_SOC_MAIN_ROOTFS_VERSION_NUM 4
2633 /* The SOC recovery buildroot version as four numbers - a.b.c.d */
2635 #define MC_CMD_GET_VERSION_V4_OUT_SOC_RECOVERY_BUILDROOT_VERSION_LEN 4
2636 #define MC_CMD_GET_VERSION_V4_OUT_SOC_RECOVERY_BUILDROOT_VERSION_NUM 4
2646 /* MC_CMD_GET_VERSION_OUT_FIRMWARE_LEN 4 */
2649 #define MC_CMD_GET_VERSION_V5_OUT_PCOL_OFST 4
2650 #define MC_CMD_GET_VERSION_V5_OUT_PCOL_LEN 4
2657 #define MC_CMD_GET_VERSION_V5_OUT_VERSION_LO_LEN 4
2661 #define MC_CMD_GET_VERSION_V5_OUT_VERSION_HI_LEN 4
2669 #define MC_CMD_GET_VERSION_V5_OUT_FLAGS_LEN 4
2683 #define MC_CMD_GET_VERSION_V5_OUT_BOARD_EXT_INFO_PRESENT_LBN 4
2717 #define MC_CMD_GET_VERSION_V5_OUT_MCFW_SECURITY_LEVEL_LEN 4
2721 /* The SUC firmware version as four numbers - a.b.c.d */
2723 #define MC_CMD_GET_VERSION_V5_OUT_SUCFW_VERSION_LEN 4
2724 #define MC_CMD_GET_VERSION_V5_OUT_SUCFW_VERSION_NUM 4
2729 #define MC_CMD_GET_VERSION_V5_OUT_SUCFW_BUILD_DATE_LO_LEN 4
2733 #define MC_CMD_GET_VERSION_V5_OUT_SUCFW_BUILD_DATE_HI_LEN 4
2740 #define MC_CMD_GET_VERSION_V5_OUT_SUCFW_CHIP_ID_LEN 4
2741 /* The CMC firmware version as four numbers - a.b.c.d */
2743 #define MC_CMD_GET_VERSION_V5_OUT_CMCFW_VERSION_LEN 4
2744 #define MC_CMD_GET_VERSION_V5_OUT_CMCFW_VERSION_NUM 4
2749 #define MC_CMD_GET_VERSION_V5_OUT_CMCFW_BUILD_DATE_LO_LEN 4
2753 #define MC_CMD_GET_VERSION_V5_OUT_CMCFW_BUILD_DATE_HI_LEN 4
2758 * FPGA_VERSION[0]: x => Image H{x} FPGA_VERSION[1]: Revision letter (0 => A, 1
2762 #define MC_CMD_GET_VERSION_V5_OUT_FPGA_VERSION_LEN 4
2772 #define MC_CMD_GET_VERSION_V5_OUT_BOARD_REVISION_LEN 4
2776 /* The version of the datapath hardware design as three number - a.b.c */
2778 #define MC_CMD_GET_VERSION_V5_OUT_DATAPATH_HW_VERSION_LEN 4
2781 * number - a.b.c
2784 #define MC_CMD_GET_VERSION_V5_OUT_DATAPATH_FW_VERSION_LEN 4
2786 /* The SOC boot version as four numbers - a.b.c.d */
2788 #define MC_CMD_GET_VERSION_V5_OUT_SOC_BOOT_VERSION_LEN 4
2789 #define MC_CMD_GET_VERSION_V5_OUT_SOC_BOOT_VERSION_NUM 4
2790 /* The SOC uboot version as four numbers - a.b.c.d */
2792 #define MC_CMD_GET_VERSION_V5_OUT_SOC_UBOOT_VERSION_LEN 4
2793 #define MC_CMD_GET_VERSION_V5_OUT_SOC_UBOOT_VERSION_NUM 4
2794 /* The SOC main rootfs version as four numbers - a.b.c.d */
2796 #define MC_CMD_GET_VERSION_V5_OUT_SOC_MAIN_ROOTFS_VERSION_LEN 4
2797 #define MC_CMD_GET_VERSION_V5_OUT_SOC_MAIN_ROOTFS_VERSION_NUM 4
2798 /* The SOC recovery buildroot version as four numbers - a.b.c.d */
2800 #define MC_CMD_GET_VERSION_V5_OUT_SOC_RECOVERY_BUILDROOT_VERSION_LEN 4
2801 #define MC_CMD_GET_VERSION_V5_OUT_SOC_RECOVERY_BUILDROOT_VERSION_NUM 4
2802 /* Board version as four numbers - a.b.c.d. BOARD_VERSION[0] duplicates the
2806 #define MC_CMD_GET_VERSION_V5_OUT_BOARD_VERSION_LEN 4
2807 #define MC_CMD_GET_VERSION_V5_OUT_BOARD_VERSION_NUM 4
2808 /* Bundle version as four numbers - a.b.c.d */
2810 #define MC_CMD_GET_VERSION_V5_OUT_BUNDLE_VERSION_LEN 4
2811 #define MC_CMD_GET_VERSION_V5_OUT_BUNDLE_VERSION_NUM 4
2832 /* enum: Send a PTP packet. This operation is used on Siena and Huntington.
2914 * is in sync with host. Once set, IN_SYNC flag is cleared by hardware after a
2923 #define MC_CMD_PTP_IN_CMD_LEN 4
2924 #define MC_CMD_PTP_IN_PERIPH_ID_OFST 4
2925 #define MC_CMD_PTP_IN_PERIPH_ID_LEN 4
2930 #define MC_CMD_PTP_IN_ENABLE_QUEUE_LEN 4
2933 #define MC_CMD_PTP_IN_ENABLE_MODE_LEN 4
2950 /* MC_CMD_PTP_IN_CMD_LEN 4 */
2951 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
2952 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
2961 /* MC_CMD_PTP_IN_CMD_LEN 4 */
2962 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
2963 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
2966 #define MC_CMD_PTP_IN_TRANSMIT_LENGTH_LEN 4
2977 /* MC_CMD_PTP_IN_CMD_LEN 4 */
2978 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
2979 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
2984 /* MC_CMD_PTP_IN_CMD_LEN 4 */
2985 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
2986 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
2991 /* MC_CMD_PTP_IN_CMD_LEN 4 */
2992 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
2993 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
2998 /* MC_CMD_PTP_IN_CMD_LEN 4 */
2999 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3000 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3005 #define MC_CMD_PTP_IN_ADJUST_FREQ_LO_LEN 4
3009 #define MC_CMD_PTP_IN_ADJUST_FREQ_HI_LEN 4
3021 #define MC_CMD_PTP_IN_ADJUST_SECONDS_LEN 4
3024 #define MC_CMD_PTP_IN_ADJUST_MAJOR_LEN 4
3027 #define MC_CMD_PTP_IN_ADJUST_NANOSECONDS_LEN 4
3030 #define MC_CMD_PTP_IN_ADJUST_MINOR_LEN 4
3035 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3036 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3037 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3042 #define MC_CMD_PTP_IN_ADJUST_V2_FREQ_LO_LEN 4
3046 #define MC_CMD_PTP_IN_ADJUST_V2_FREQ_HI_LEN 4
3058 #define MC_CMD_PTP_IN_ADJUST_V2_SECONDS_LEN 4
3061 #define MC_CMD_PTP_IN_ADJUST_V2_MAJOR_LEN 4
3064 #define MC_CMD_PTP_IN_ADJUST_V2_NANOSECONDS_LEN 4
3067 #define MC_CMD_PTP_IN_ADJUST_V2_MINOR_LEN 4
3070 #define MC_CMD_PTP_IN_ADJUST_V2_MAJOR_HI_LEN 4
3075 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3076 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3077 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3080 #define MC_CMD_PTP_IN_SYNCHRONIZE_NUMTIMESETS_LEN 4
3087 #define MC_CMD_PTP_IN_SYNCHRONIZE_START_ADDR_LO_LEN 4
3091 #define MC_CMD_PTP_IN_SYNCHRONIZE_START_ADDR_HI_LEN 4
3098 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3099 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3100 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3105 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3106 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3107 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3110 #define MC_CMD_PTP_IN_MANFTEST_PACKET_TEST_ENABLE_LEN 4
3115 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3116 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3117 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3122 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3123 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3124 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3127 #define MC_CMD_PTP_IN_DEBUG_DEBUG_PARAM_LEN 4
3132 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3133 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3134 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3136 #define MC_CMD_PTP_IN_FPGAREAD_ADDR_LEN 4
3138 #define MC_CMD_PTP_IN_FPGAREAD_NUMBYTES_LEN 4
3147 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3148 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3149 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3151 #define MC_CMD_PTP_IN_FPGAWRITE_ADDR_LEN 4
3161 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3162 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3163 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3166 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_SECONDS_LEN 4
3169 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_MAJOR_LEN 4
3172 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_NANOSECONDS_LEN 4
3175 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_MINOR_LEN 4
3180 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3181 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3182 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3185 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_V2_SECONDS_LEN 4
3188 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_V2_MAJOR_LEN 4
3191 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_V2_NANOSECONDS_LEN 4
3194 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_V2_MINOR_LEN 4
3197 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_V2_MAJOR_HI_LEN 4
3202 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3203 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3204 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3209 #define MC_CMD_PTP_IN_CLOCK_FREQ_ADJUST_FREQ_LO_LEN 4
3213 #define MC_CMD_PTP_IN_CLOCK_FREQ_ADJUST_FREQ_HI_LEN 4
3222 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3223 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3224 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3227 #define MC_CMD_PTP_IN_RX_SET_VLAN_FILTER_NUM_VLAN_TAGS_LEN 4
3230 #define MC_CMD_PTP_IN_RX_SET_VLAN_FILTER_VLAN_TAG_LEN 4
3236 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3237 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3238 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3241 #define MC_CMD_PTP_IN_RX_SET_UUID_FILTER_ENABLE_LEN 4
3246 #define MC_CMD_PTP_IN_RX_SET_UUID_FILTER_UUID_LO_LEN 4
3250 #define MC_CMD_PTP_IN_RX_SET_UUID_FILTER_UUID_HI_LEN 4
3257 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3258 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3259 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3262 #define MC_CMD_PTP_IN_RX_SET_DOMAIN_FILTER_ENABLE_LEN 4
3265 #define MC_CMD_PTP_IN_RX_SET_DOMAIN_FILTER_DOMAIN_LEN 4
3270 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3271 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3272 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3275 #define MC_CMD_PTP_IN_SET_CLK_SRC_CLK_LEN 4
3284 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3285 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3286 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3291 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3293 #define MC_CMD_PTP_IN_PPS_ENABLE_OP_OFST 4
3294 #define MC_CMD_PTP_IN_PPS_ENABLE_OP_LEN 4
3303 #define MC_CMD_PTP_IN_PPS_ENABLE_QUEUE_ID_LEN 4
3308 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3309 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3310 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3315 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3316 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3317 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3322 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3323 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3324 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3329 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3330 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3331 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3334 #define MC_CMD_PTP_IN_TIME_EVENT_SUBSCRIBE_QUEUE_LEN 4
3345 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3346 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3347 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3350 #define MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE_CONTROL_LEN 4
3351 /* enum: Unsubscribe a single queue */
3357 #define MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE_QUEUE_LEN 4
3362 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3363 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3364 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3367 #define MC_CMD_PTP_IN_TIME_EVENT_SUBSCRIBE_V2_QUEUE_ID_LEN 4
3370 #define MC_CMD_PTP_IN_TIME_EVENT_SUBSCRIBE_V2_FLAGS_LEN 4
3378 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3379 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3380 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3383 #define MC_CMD_PTP_IN_MANFTEST_PPS_TEST_ENABLE_LEN 4
3388 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3389 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3390 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3393 #define MC_CMD_PTP_IN_SET_SYNC_STATUS_STATUS_LEN 4
3402 #define MC_CMD_PTP_IN_SET_SYNC_STATUS_TIMEOUT_LEN 4
3404 #define MC_CMD_PTP_IN_SET_SYNC_STATUS_RESERVED0_LEN 4
3406 #define MC_CMD_PTP_IN_SET_SYNC_STATUS_RESERVED1_LEN 4
3411 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3412 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3413 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3422 #define MC_CMD_PTP_OUT_TRANSMIT_SECONDS_LEN 4
3425 #define MC_CMD_PTP_OUT_TRANSMIT_MAJOR_LEN 4
3427 #define MC_CMD_PTP_OUT_TRANSMIT_NANOSECONDS_OFST 4
3428 #define MC_CMD_PTP_OUT_TRANSMIT_NANOSECONDS_LEN 4
3430 #define MC_CMD_PTP_OUT_TRANSMIT_MINOR_OFST 4
3431 #define MC_CMD_PTP_OUT_TRANSMIT_MINOR_LEN 4
3443 #define MC_CMD_PTP_OUT_READ_NIC_TIME_SECONDS_LEN 4
3446 #define MC_CMD_PTP_OUT_READ_NIC_TIME_MAJOR_LEN 4
3448 #define MC_CMD_PTP_OUT_READ_NIC_TIME_NANOSECONDS_OFST 4
3449 #define MC_CMD_PTP_OUT_READ_NIC_TIME_NANOSECONDS_LEN 4
3451 #define MC_CMD_PTP_OUT_READ_NIC_TIME_MINOR_OFST 4
3452 #define MC_CMD_PTP_OUT_READ_NIC_TIME_MINOR_LEN 4
3458 #define MC_CMD_PTP_OUT_READ_NIC_TIME_V2_SECONDS_LEN 4
3461 #define MC_CMD_PTP_OUT_READ_NIC_TIME_V2_MAJOR_LEN 4
3463 #define MC_CMD_PTP_OUT_READ_NIC_TIME_V2_NANOSECONDS_OFST 4
3464 #define MC_CMD_PTP_OUT_READ_NIC_TIME_V2_NANOSECONDS_LEN 4
3466 #define MC_CMD_PTP_OUT_READ_NIC_TIME_V2_MINOR_OFST 4
3467 #define MC_CMD_PTP_OUT_READ_NIC_TIME_V2_MINOR_LEN 4
3470 #define MC_CMD_PTP_OUT_READ_NIC_TIME_V2_MAJOR_HI_LEN 4
3476 #define MC_CMD_PTP_OUT_STATUS_CLOCK_FREQ_LEN 4
3478 #define MC_CMD_PTP_OUT_STATUS_STATS_TX_OFST 4
3479 #define MC_CMD_PTP_OUT_STATUS_STATS_TX_LEN 4
3482 #define MC_CMD_PTP_OUT_STATUS_STATS_RX_LEN 4
3485 #define MC_CMD_PTP_OUT_STATUS_STATS_TS_LEN 4
3488 #define MC_CMD_PTP_OUT_STATUS_STATS_FM_LEN 4
3491 #define MC_CMD_PTP_OUT_STATUS_STATS_NFM_LEN 4
3494 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFLOW_LEN 4
3497 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_BAD_LEN 4
3500 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MIN_LEN 4
3503 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MAX_LEN 4
3506 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_LAST_LEN 4
3509 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MEAN_LEN 4
3512 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MIN_LEN 4
3515 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MAX_LEN 4
3518 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_LAST_LEN 4
3521 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MEAN_LEN 4
3529 /* A set of host and NIC times */
3537 #define MC_CMD_PTP_OUT_SYNCHRONIZE_HOSTSTART_LEN 4
3539 #define MC_CMD_PTP_OUT_SYNCHRONIZE_SECONDS_OFST 4
3540 #define MC_CMD_PTP_OUT_SYNCHRONIZE_SECONDS_LEN 4
3542 #define MC_CMD_PTP_OUT_SYNCHRONIZE_MAJOR_OFST 4
3543 #define MC_CMD_PTP_OUT_SYNCHRONIZE_MAJOR_LEN 4
3546 #define MC_CMD_PTP_OUT_SYNCHRONIZE_NANOSECONDS_LEN 4
3549 #define MC_CMD_PTP_OUT_SYNCHRONIZE_MINOR_LEN 4
3552 #define MC_CMD_PTP_OUT_SYNCHRONIZE_HOSTEND_LEN 4
3555 #define MC_CMD_PTP_OUT_SYNCHRONIZE_WAITNS_LEN 4
3561 #define MC_CMD_PTP_OUT_MANFTEST_BASIC_TEST_RESULT_LEN 4
3593 #define MC_CMD_PTP_OUT_MANFTEST_BASIC_TEST_EXTOSC_OFST 4
3594 #define MC_CMD_PTP_OUT_MANFTEST_BASIC_TEST_EXTOSC_LEN 4
3600 #define MC_CMD_PTP_OUT_MANFTEST_PACKET_TEST_RESULT_LEN 4
3602 #define MC_CMD_PTP_OUT_MANFTEST_PACKET_TEST_FPGACOUNT_OFST 4
3603 #define MC_CMD_PTP_OUT_MANFTEST_PACKET_TEST_FPGACOUNT_LEN 4
3606 #define MC_CMD_PTP_OUT_MANFTEST_PACKET_TEST_FILTERCOUNT_LEN 4
3621 #define MC_CMD_PTP_OUT_GET_TIME_FORMAT_LEN 4
3624 * is not supported (older firmware) a format of seconds and nanoseconds should
3629 #define MC_CMD_PTP_OUT_GET_TIME_FORMAT_FORMAT_LEN 4
3641 * is not supported (older firmware) a format of seconds and nanoseconds should
3645 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_TIME_FORMAT_LEN 4
3655 /* Minimum acceptable value for a corrected synchronization timeset. When
3656 * comparing host and NIC clock times, the MC returns a set of samples that
3662 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_SYNC_WINDOW_MIN_OFST 4
3663 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_SYNC_WINDOW_MIN_LEN 4
3666 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_CAPABILITIES_LEN 4
3680 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_RESERVED0_LEN 4
3682 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_RESERVED1_LEN 4
3684 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_RESERVED2_LEN 4
3690 * is not supported (older firmware) a format of seconds and nanoseconds should
3694 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_TIME_FORMAT_LEN 4
3704 /* Minimum acceptable value for a corrected synchronization timeset. When
3705 * comparing host and NIC clock times, the MC returns a set of samples that
3711 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_SYNC_WINDOW_MIN_OFST 4
3712 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_SYNC_WINDOW_MIN_LEN 4
3715 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_CAPABILITIES_LEN 4
3729 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_RESERVED0_LEN 4
3731 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_RESERVED1_LEN 4
3733 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_RESERVED2_LEN 4
3737 * response is not supported a value of -0.1 ns should be assumed, which is
3738 * equivalent to a -10% adjustment.
3743 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_FREQ_ADJ_MIN_LO_LEN 4
3747 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_FREQ_ADJ_MIN_HI_LEN 4
3753 * response is not supported a value of 0.1 ns should be assumed, which is
3754 * equivalent to a +10% adjustment.
3759 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_FREQ_ADJ_MAX_LO_LEN 4
3763 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_FREQ_ADJ_MAX_HI_LEN 4
3771 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_TRANSMIT_LEN 4
3773 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_RECEIVE_OFST 4
3774 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_RECEIVE_LEN 4
3777 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_PPS_OUT_LEN 4
3780 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_PPS_IN_LEN 4
3786 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PTP_TX_LEN 4
3788 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PTP_RX_OFST 4
3789 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PTP_RX_LEN 4
3792 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PPS_OUT_LEN 4
3795 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PPS_IN_LEN 4
3798 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_GENERAL_TX_LEN 4
3801 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_GENERAL_RX_LEN 4
3804 #define MC_CMD_PTP_OUT_MANFTEST_PPS_LEN 4
3807 #define MC_CMD_PTP_OUT_MANFTEST_PPS_TEST_RESULT_LEN 4
3818 #define MC_CMD_PTP_OUT_GET_SYNC_TIMEOUT_CURRENT_LEN 4
3820 #define MC_CMD_PTP_OUT_GET_SYNC_TIMEOUT_MAXIMUM_OFST 4
3821 #define MC_CMD_PTP_OUT_GET_SYNC_TIMEOUT_MAXIMUM_LEN 4
3843 #define MC_CMD_GET_BOARD_CFG_OUT_BOARD_TYPE_LEN 4
3844 #define MC_CMD_GET_BOARD_CFG_OUT_BOARD_NAME_OFST 4
3850 #define MC_CMD_GET_BOARD_CFG_OUT_CAPABILITIES_PORT0_LEN 4
3855 #define MC_CMD_GET_BOARD_CFG_OUT_CAPABILITIES_PORT1_LEN 4
3870 #define MC_CMD_GET_BOARD_CFG_OUT_MAC_COUNT_PORT0_LEN 4
3875 #define MC_CMD_GET_BOARD_CFG_OUT_MAC_COUNT_PORT1_LEN 4
3880 #define MC_CMD_GET_BOARD_CFG_OUT_MAC_STRIDE_PORT0_LEN 4
3885 #define MC_CMD_GET_BOARD_CFG_OUT_MAC_STRIDE_PORT1_LEN 4
3886 /* Siena only. This field contains a 16-bit value for each of the types of
3887 * NVRAM area. The values are defined in the firmware/mc/platform/.c file for a
3904 * issue a subsequent MC_CMD_GET_CAPABILITIES command to determine which
3917 #define MC_CMD_DRV_ATTACH_IN_NEW_STATE_LEN 4
3937 #define MC_CMD_DRV_ATTACH_IN_WANT_V2_LINKCHANGES_LBN 4
3946 #define MC_CMD_DRV_ATTACH_IN_UPDATE_OFST 4
3947 #define MC_CMD_DRV_ATTACH_IN_UPDATE_LEN 4
3950 #define MC_CMD_DRV_ATTACH_IN_FIRMWARE_ID_LEN 4
3988 #define MC_CMD_DRV_ATTACH_IN_V2_NEW_STATE_LEN 4
4008 #define MC_CMD_DRV_ATTACH_IN_V2_WANT_V2_LINKCHANGES_LBN 4
4017 #define MC_CMD_DRV_ATTACH_IN_V2_UPDATE_OFST 4
4018 #define MC_CMD_DRV_ATTACH_IN_V2_UPDATE_LEN 4
4021 #define MC_CMD_DRV_ATTACH_IN_V2_FIRMWARE_ID_LEN 4
4053 * handled by the NIC. This is a zero-terminated ASCII string.
4059 #define MC_CMD_DRV_ATTACH_OUT_LEN 4
4062 #define MC_CMD_DRV_ATTACH_OUT_OLD_STATE_LEN 4
4068 #define MC_CMD_DRV_ATTACH_EXT_OUT_OLD_STATE_LEN 4
4070 #define MC_CMD_DRV_ATTACH_EXT_OUT_FUNC_FLAGS_OFST 4
4071 #define MC_CMD_DRV_ATTACH_EXT_OUT_FUNC_FLAGS_LEN 4
4127 #define MC_CMD_ENTITY_RESET_IN_LEN 4
4128 /* Optional flags field. Omitting this will perform a "legacy" reset action
4132 #define MC_CMD_ENTITY_RESET_IN_FLAG_LEN 4
4157 #define MC_CMD_PUTS_IN_DEST_LEN 4
4164 #define MC_CMD_PUTS_IN_DHOST_OFST 4
4178 * Report PHY configuration. This guarantees to succeed even if the PHY is in a
4192 * identifies a real or virtual network port by MAE port and link end. See the
4198 #define MC_CMD_GET_PHY_CFG_IN_V2_TARGET_LO_LEN 4
4201 #define MC_CMD_GET_PHY_CFG_IN_V2_TARGET_HI_OFST 4
4202 #define MC_CMD_GET_PHY_CFG_IN_V2_TARGET_HI_LEN 4
4207 #define MC_CMD_GET_PHY_CFG_IN_V2_TARGET_MPORT_SELECTOR_LEN 4
4209 #define MC_CMD_GET_PHY_CFG_IN_V2_TARGET_MPORT_SELECTOR_FLAT_LEN 4
4215 #define MC_CMD_GET_PHY_CFG_IN_V2_TARGET_MPORT_SELECTOR_PPORT_ID_WIDTH 4
4217 #define MC_CMD_GET_PHY_CFG_IN_V2_TARGET_MPORT_SELECTOR_FUNC_INTF_ID_WIDTH 4
4219 #define MC_CMD_GET_PHY_CFG_IN_V2_TARGET_MPORT_SELECTOR_FUNC_MH_PF_ID_WIDTH 4
4224 #define MC_CMD_GET_PHY_CFG_IN_V2_TARGET_LINK_END_OFST 4
4225 #define MC_CMD_GET_PHY_CFG_IN_V2_TARGET_LINK_END_LEN 4
4229 #define MC_CMD_GET_PHY_CFG_IN_V2_TARGET_FLAT_LO_LEN 4
4232 #define MC_CMD_GET_PHY_CFG_IN_V2_TARGET_FLAT_HI_OFST 4
4233 #define MC_CMD_GET_PHY_CFG_IN_V2_TARGET_FLAT_HI_LEN 4
4241 #define MC_CMD_GET_PHY_CFG_OUT_FLAGS_LEN 4
4255 #define MC_CMD_GET_PHY_CFG_OUT_POWEROFF_LBN 4
4264 #define MC_CMD_GET_PHY_CFG_OUT_TYPE_OFST 4
4265 #define MC_CMD_GET_PHY_CFG_OUT_TYPE_LEN 4
4268 #define MC_CMD_GET_PHY_CFG_OUT_SUPPORTED_CAP_LEN 4
4279 #define MC_CMD_PHY_CAP_100FDX_LBN 4
4337 #define MC_CMD_GET_PHY_CFG_OUT_CHANNEL_LEN 4
4340 #define MC_CMD_GET_PHY_CFG_OUT_PRT_LEN 4
4343 #define MC_CMD_GET_PHY_CFG_OUT_STATS_MASK_LEN 4
4349 #define MC_CMD_GET_PHY_CFG_OUT_MEDIA_TYPE_LEN 4
4367 #define MC_CMD_GET_PHY_CFG_OUT_MMD_MASK_LEN 4
4388 * Start a BIST test on the PHY. Locks required: PHY_LOCK if doing a PHY BIST
4397 #define MC_CMD_START_BIST_IN_LEN 4
4400 #define MC_CMD_START_BIST_IN_TYPE_LEN 4
4424 * Poll for BIST completion. Returns a single status code, and optionally some
4426 * after validating OUTLEN and MC_CMD_GET_PHY_CFG.TYPE. If a driver can't
4428 * OUT.RESULT. Locks required: PHY_LOCK if doing a PHY BIST. Return code: 0,
4443 #define MC_CMD_POLL_BIST_OUT_RESULT_LEN 4
4452 #define MC_CMD_POLL_BIST_OUT_PRIVATE_OFST 4
4453 #define MC_CMD_POLL_BIST_OUT_PRIVATE_LEN 4
4459 /* MC_CMD_POLL_BIST_OUT_RESULT_LEN 4 */
4462 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_LENGTH_A_OFST 4
4463 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_LENGTH_A_LEN 4
4465 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_LENGTH_B_LEN 4
4467 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_LENGTH_C_LEN 4
4469 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_LENGTH_D_LEN 4
4470 /* Status of each channel A */
4472 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_STATUS_A_LEN 4
4485 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_STATUS_B_LEN 4
4490 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_STATUS_C_LEN 4
4495 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_STATUS_D_LEN 4
4503 /* MC_CMD_POLL_BIST_OUT_RESULT_LEN 4 */
4506 #define MC_CMD_POLL_BIST_OUT_MRSFP_TEST_OFST 4
4507 #define MC_CMD_POLL_BIST_OUT_MRSFP_TEST_LEN 4
4531 /* MC_CMD_POLL_BIST_OUT_RESULT_LEN 4 */
4534 #define MC_CMD_POLL_BIST_OUT_MEM_TEST_OFST 4
4535 #define MC_CMD_POLL_BIST_OUT_MEM_TEST_LEN 4
4552 #define MC_CMD_POLL_BIST_OUT_MEM_ADDR_LEN 4
4555 #define MC_CMD_POLL_BIST_OUT_MEM_BUS_LEN 4
4576 #define MC_CMD_POLL_BIST_OUT_MEM_EXPECT_LEN 4
4579 #define MC_CMD_POLL_BIST_OUT_MEM_ACTUAL_LEN 4
4582 #define MC_CMD_POLL_BIST_OUT_MEM_ECC_LEN 4
4585 #define MC_CMD_POLL_BIST_OUT_MEM_ECC_PARITY_LEN 4
4588 #define MC_CMD_POLL_BIST_OUT_MEM_ECC_FATAL_LEN 4
4593 * Returns a bitmask of loopback modes available at each speed.
4606 * which identifies a real or virtual network port by MAE port and link end.
4612 #define MC_CMD_GET_LOOPBACK_MODES_IN_V2_TARGET_LO_LEN 4
4615 #define MC_CMD_GET_LOOPBACK_MODES_IN_V2_TARGET_HI_OFST 4
4616 #define MC_CMD_GET_LOOPBACK_MODES_IN_V2_TARGET_HI_LEN 4
4621 #define MC_CMD_GET_LOOPBACK_MODES_IN_V2_TARGET_MPORT_SELECTOR_LEN 4
4623 #define MC_CMD_GET_LOOPBACK_MODES_IN_V2_TARGET_MPORT_SELECTOR_FLAT_LEN 4
4629 #define MC_CMD_GET_LOOPBACK_MODES_IN_V2_TARGET_MPORT_SELECTOR_PPORT_ID_WIDTH 4
4631 #define MC_CMD_GET_LOOPBACK_MODES_IN_V2_TARGET_MPORT_SELECTOR_FUNC_INTF_ID_WIDTH 4
4633 #define MC_CMD_GET_LOOPBACK_MODES_IN_V2_TARGET_MPORT_SELECTOR_FUNC_MH_PF_ID_WIDTH 4
4638 #define MC_CMD_GET_LOOPBACK_MODES_IN_V2_TARGET_LINK_END_OFST 4
4639 #define MC_CMD_GET_LOOPBACK_MODES_IN_V2_TARGET_LINK_END_LEN 4
4643 #define MC_CMD_GET_LOOPBACK_MODES_IN_V2_TARGET_FLAT_LO_LEN 4
4646 #define MC_CMD_GET_LOOPBACK_MODES_IN_V2_TARGET_FLAT_HI_OFST 4
4647 #define MC_CMD_GET_LOOPBACK_MODES_IN_V2_TARGET_FLAT_HI_LEN 4
4657 #define MC_CMD_GET_LOOPBACK_MODES_OUT_100M_LO_LEN 4
4660 #define MC_CMD_GET_LOOPBACK_MODES_OUT_100M_HI_OFST 4
4661 #define MC_CMD_GET_LOOPBACK_MODES_OUT_100M_HI_LEN 4
4747 #define MC_CMD_GET_LOOPBACK_MODES_OUT_1G_LO_LEN 4
4751 #define MC_CMD_GET_LOOPBACK_MODES_OUT_1G_HI_LEN 4
4761 #define MC_CMD_GET_LOOPBACK_MODES_OUT_10G_LO_LEN 4
4765 #define MC_CMD_GET_LOOPBACK_MODES_OUT_10G_HI_LEN 4
4775 #define MC_CMD_GET_LOOPBACK_MODES_OUT_SUGGESTED_LO_LEN 4
4779 #define MC_CMD_GET_LOOPBACK_MODES_OUT_SUGGESTED_HI_LEN 4
4789 #define MC_CMD_GET_LOOPBACK_MODES_OUT_40G_LO_LEN 4
4793 #define MC_CMD_GET_LOOPBACK_MODES_OUT_40G_HI_LEN 4
4808 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_100M_LO_LEN 4
4811 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_100M_HI_OFST 4
4812 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_100M_HI_LEN 4
4898 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_1G_LO_LEN 4
4902 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_1G_HI_LEN 4
4912 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_10G_LO_LEN 4
4916 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_10G_HI_LEN 4
4926 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_SUGGESTED_LO_LEN 4
4930 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_SUGGESTED_HI_LEN 4
4940 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_40G_LO_LEN 4
4944 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_40G_HI_LEN 4
4954 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_25G_LO_LEN 4
4958 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_25G_HI_LEN 4
4968 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_50G_LO_LEN 4
4972 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_50G_HI_LEN 4
4982 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_100G_LO_LEN 4
4986 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_100G_HI_LEN 4
5001 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_100M_LO_LEN 4
5004 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_100M_HI_OFST 4
5005 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_100M_HI_LEN 4
5091 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_1G_LO_LEN 4
5095 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_1G_HI_LEN 4
5105 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_10G_LO_LEN 4
5109 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_10G_HI_LEN 4
5119 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_SUGGESTED_LO_LEN 4
5123 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_SUGGESTED_HI_LEN 4
5133 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_40G_LO_LEN 4
5137 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_40G_HI_LEN 4
5147 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_25G_LO_LEN 4
5151 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_25G_HI_LEN 4
5161 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_50G_LO_LEN 4
5165 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_50G_HI_LEN 4
5175 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_100G_LO_LEN 4
5179 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_100G_HI_LEN 4
5189 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_200G_LO_LEN 4
5193 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_200G_HI_LEN 4
5201 #define AN_TYPE_LEN 4
5203 #define AN_TYPE_TYPE_LEN 4
5219 #define FEC_TYPE_LEN 4
5221 #define FEC_TYPE_TYPE_LEN 4
5224 /* enum: IEEE 802.3, Clause 74 BASE-R FEC (a.k.a Firecode) */
5247 /* The enums in this field can be used either as bitwise indices into a tech
5269 /* enum: 40GBASE-R PCS/PMA over 4 lane shielded copper balanced cable PMD. See
5273 /* enum: 40GBASE-R PCS/PMA over 4 lane multimode fiber PMD as specified in
5277 /* enum: 40GBASE-R PCS/PMA over 4 WDM lane single mode fiber PMD with long
5305 /* enum: 100GBASE-R PCS/PMA over 4 lane multimode fiber PMD. See IEEE 802.3
5309 /* enum: 100GBASE-R PCS/PMA over 4 lane shielded copper balanced cable PMD. See
5313 /* enum: 100GBASE-R PCS/PMA over 4 WDM lane single mode fiber PMD, with
5374 /* enum: 200GBASE-R PCS/PMA over 4 lane multimode fiber PMD. See IEEE 802.3
5378 /* enum: 200GBASE-R PCS/PMA over 4 WDM lane single-mode fiber PMD as specified
5382 /* enum: 200GBASE-R PCS/PMA over 4-lane single-mode fiber PMD. See IEEE 802.3
5386 /* enum: 200GBASE-R PCS/PMA over 4 lane shielded copper balanced cable PMD as
5452 /* enum: 400GBASE-R PCS/PMA over 4 WDM lane single-mode fiber PMD. See IEEE
5456 /* enum: 400GBASE-R PCS/PMA over 4-lane single-mode fiber PMD as specified in
5460 /* enum: 400GBASE-R PCS/PMA over 4 lane shielded balanced copper cable PMD as
5483 #define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_LO_LEN 4
5486 #define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_HI_OFST 4
5487 #define MC_CMD_LINK_STATUS_FLAGS_STATUS_FLAGS_HI_LEN 4
5533 /* enum: If set, indicates that the number of symbol errors in a 8192-codeword
5551 /* enum: If set, autonegotiation has failed to negotiate a common set of
5599 #define MC_CMD_ETH_AN_FIELDS_FEC_MASK_LEN 4
5607 #define MC_CMD_ETH_AN_FIELDS_FEC_REQ_LEN 4
5626 #define MC_CMD_LOOPBACK_V2_LEN 4
5628 #define MC_CMD_LOOPBACK_V2_MODE_LEN 4
5631 /* enum: Let firmware choose a supported loopback mode */
5653 #define MC_CMD_FCNTL_LEN 4
5655 #define MC_CMD_FCNTL_MASK_LEN 4
5672 #define MC_CMD_LINK_FLAGS_LEN 4
5677 #define MC_CMD_LINK_FLAGS_MASK_LEN 4
5712 #define MC_CMD_LINK_CTRL_IN_PORT_HANDLE_LEN 4
5714 #define MC_CMD_LINK_CTRL_IN_CONTROL_FLAGS_OFST 4
5715 #define MC_CMD_LINK_CTRL_IN_CONTROL_FLAGS_LEN 4
5725 #define MC_CMD_LINK_CTRL_IN_RESERVED_LO_LEN 4
5729 #define MC_CMD_LINK_CTRL_IN_RESERVED_HI_LEN 4
5749 * a weaker FEC mode may get negotiated, depending on what the link partner
5793 #define MC_CMD_LINK_STATE_IN_LEN 4
5796 #define MC_CMD_LINK_STATE_IN_PORT_HANDLE_LEN 4
5804 #define MC_CMD_LINK_STATE_OUT_STATUS_FLAGS_LO_LEN 4
5807 #define MC_CMD_LINK_STATE_OUT_STATUS_FLAGS_HI_OFST 4
5808 #define MC_CMD_LINK_STATE_OUT_STATUS_FLAGS_HI_LEN 4
5847 #define MC_CMD_LINK_STATE_OUT_ADVERTISED_ABILITIES_FEC_MASK_LEN 4
5849 #define MC_CMD_LINK_STATE_OUT_ADVERTISED_ABILITIES_FEC_REQ_LEN 4
5859 #define MC_CMD_LINK_STATE_OUT_LINK_PARTNER_ABILITIES_FEC_MASK_LEN 4
5861 #define MC_CMD_LINK_STATE_OUT_LINK_PARTNER_ABILITIES_FEC_REQ_LEN 4
5873 #define MC_CMD_LINK_STATE_OUT_SUPPORTED_ABILITIES_FEC_MASK_LEN 4
5875 #define MC_CMD_LINK_STATE_OUT_SUPPORTED_ABILITIES_FEC_REQ_LEN 4
5880 #define MC_CMD_LINK_STATE_OUT_CONTROL_FLAGS_LEN 4
5899 #define MC_CMD_LINK_STATE_OUT_V2_STATUS_FLAGS_LO_LEN 4
5902 #define MC_CMD_LINK_STATE_OUT_V2_STATUS_FLAGS_HI_OFST 4
5903 #define MC_CMD_LINK_STATE_OUT_V2_STATUS_FLAGS_HI_LEN 4
5948 #define MC_CMD_LINK_STATE_OUT_V2_CONTROL_FLAGS_LEN 4
5962 #define MC_CMD_LINK_STATE_OUT_V2_LOCAL_AN_SUPPORT_LEN 4
5974 #define MC_CMD_LINK_STATE_OUT_V3_STATUS_FLAGS_LO_LEN 4
5977 #define MC_CMD_LINK_STATE_OUT_V3_STATUS_FLAGS_HI_OFST 4
5978 #define MC_CMD_LINK_STATE_OUT_V3_STATUS_FLAGS_HI_LEN 4
6023 #define MC_CMD_LINK_STATE_OUT_V3_CONTROL_FLAGS_LEN 4
6037 #define MC_CMD_LINK_STATE_OUT_V3_LOCAL_AN_SUPPORT_LEN 4
6046 #define MC_CMD_LINK_STATE_OUT_V3_LINK_SPEED_LEN 4
6048 #define MC_CMD_LINK_STATE_OUT_V3_FLAGS_LEN 4
6070 * identifies a real or virtual network port by MAE port and link end. See the
6076 #define MC_CMD_GET_LINK_IN_V2_TARGET_LO_LEN 4
6079 #define MC_CMD_GET_LINK_IN_V2_TARGET_HI_OFST 4
6080 #define MC_CMD_GET_LINK_IN_V2_TARGET_HI_LEN 4
6085 #define MC_CMD_GET_LINK_IN_V2_TARGET_MPORT_SELECTOR_LEN 4
6087 #define MC_CMD_GET_LINK_IN_V2_TARGET_MPORT_SELECTOR_FLAT_LEN 4
6093 #define MC_CMD_GET_LINK_IN_V2_TARGET_MPORT_SELECTOR_PPORT_ID_WIDTH 4
6095 #define MC_CMD_GET_LINK_IN_V2_TARGET_MPORT_SELECTOR_FUNC_INTF_ID_WIDTH 4
6097 #define MC_CMD_GET_LINK_IN_V2_TARGET_MPORT_SELECTOR_FUNC_MH_PF_ID_WIDTH 4
6102 #define MC_CMD_GET_LINK_IN_V2_TARGET_LINK_END_OFST 4
6103 #define MC_CMD_GET_LINK_IN_V2_TARGET_LINK_END_LEN 4
6107 #define MC_CMD_GET_LINK_IN_V2_TARGET_FLAT_LO_LEN 4
6110 #define MC_CMD_GET_LINK_IN_V2_TARGET_FLAT_HI_OFST 4
6111 #define MC_CMD_GET_LINK_IN_V2_TARGET_FLAT_HI_LEN 4
6121 #define MC_CMD_GET_LINK_OUT_CAP_LEN 4
6125 #define MC_CMD_GET_LINK_OUT_LP_CAP_OFST 4
6126 #define MC_CMD_GET_LINK_OUT_LP_CAP_LEN 4
6131 #define MC_CMD_GET_LINK_OUT_LINK_SPEED_LEN 4
6134 #define MC_CMD_GET_LINK_OUT_LOOPBACK_MODE_LEN 4
6138 #define MC_CMD_GET_LINK_OUT_FLAGS_LEN 4
6165 #define MC_CMD_GET_LINK_OUT_FCNTL_LEN 4
6170 #define MC_CMD_GET_LINK_OUT_MAC_FAULT_LEN 4
6190 #define MC_CMD_GET_LINK_OUT_V2_CAP_LEN 4
6194 #define MC_CMD_GET_LINK_OUT_V2_LP_CAP_OFST 4
6195 #define MC_CMD_GET_LINK_OUT_V2_LP_CAP_LEN 4
6200 #define MC_CMD_GET_LINK_OUT_V2_LINK_SPEED_LEN 4
6203 #define MC_CMD_GET_LINK_OUT_V2_LOOPBACK_MODE_LEN 4
6207 #define MC_CMD_GET_LINK_OUT_V2_FLAGS_LEN 4
6234 #define MC_CMD_GET_LINK_OUT_V2_FCNTL_LEN 4
6239 #define MC_CMD_GET_LINK_OUT_V2_MAC_FAULT_LEN 4
6260 #define MC_CMD_GET_LINK_OUT_V2_LD_CAP_LEN 4
6263 #define MC_CMD_GET_LINK_OUT_V2_AN_TYPE_LEN 4
6268 #define MC_CMD_GET_LINK_OUT_V2_FEC_TYPE_LEN 4
6272 #define MC_CMD_GET_LINK_OUT_V2_EXT_FLAGS_LEN 4
6286 #define MC_CMD_GET_LINK_OUT_V2_PCS_LOCK_LBN 4
6321 #define MC_CMD_SET_LINK_IN_CAP_LEN 4
6323 #define MC_CMD_SET_LINK_IN_FLAGS_OFST 4
6324 #define MC_CMD_SET_LINK_IN_FLAGS_LEN 4
6325 #define MC_CMD_SET_LINK_IN_LOWPOWER_OFST 4
6328 #define MC_CMD_SET_LINK_IN_POWEROFF_OFST 4
6331 #define MC_CMD_SET_LINK_IN_TXDIS_OFST 4
6334 #define MC_CMD_SET_LINK_IN_LINKDOWN_OFST 4
6339 #define MC_CMD_SET_LINK_IN_LOOPBACK_MODE_LEN 4
6342 /* A loopback speed of "0" is supported, and means (choose any available
6346 #define MC_CMD_SET_LINK_IN_LOOPBACK_SPEED_LEN 4
6357 #define MC_CMD_SET_LINK_IN_V2_CAP_LEN 4
6359 #define MC_CMD_SET_LINK_IN_V2_FLAGS_OFST 4
6360 #define MC_CMD_SET_LINK_IN_V2_FLAGS_LEN 4
6361 #define MC_CMD_SET_LINK_IN_V2_LOWPOWER_OFST 4
6364 #define MC_CMD_SET_LINK_IN_V2_POWEROFF_OFST 4
6367 #define MC_CMD_SET_LINK_IN_V2_TXDIS_OFST 4
6370 #define MC_CMD_SET_LINK_IN_V2_LINKDOWN_OFST 4
6375 #define MC_CMD_SET_LINK_IN_V2_LOOPBACK_MODE_LEN 4
6378 /* A loopback speed of "0" is supported, and means (choose any available
6382 #define MC_CMD_SET_LINK_IN_V2_LOOPBACK_SPEED_LEN 4
6398 #define MC_CMD_SET_LINK_IN_V3_CAP_LEN 4
6400 #define MC_CMD_SET_LINK_IN_V3_FLAGS_OFST 4
6401 #define MC_CMD_SET_LINK_IN_V3_FLAGS_LEN 4
6402 #define MC_CMD_SET_LINK_IN_V3_LOWPOWER_OFST 4
6405 #define MC_CMD_SET_LINK_IN_V3_POWEROFF_OFST 4
6408 #define MC_CMD_SET_LINK_IN_V3_TXDIS_OFST 4
6411 #define MC_CMD_SET_LINK_IN_V3_LINKDOWN_OFST 4
6416 #define MC_CMD_SET_LINK_IN_V3_LOOPBACK_MODE_LEN 4
6419 /* A loopback speed of "0" is supported, and means (choose any available
6423 #define MC_CMD_SET_LINK_IN_V3_LOOPBACK_SPEED_LEN 4
6436 * identifies a real or virtual network port by MAE port and link end. See the
6442 #define MC_CMD_SET_LINK_IN_V3_TARGET_LO_LEN 4
6446 #define MC_CMD_SET_LINK_IN_V3_TARGET_HI_LEN 4
6451 #define MC_CMD_SET_LINK_IN_V3_TARGET_MPORT_SELECTOR_LEN 4
6453 #define MC_CMD_SET_LINK_IN_V3_TARGET_MPORT_SELECTOR_FLAT_LEN 4
6459 #define MC_CMD_SET_LINK_IN_V3_TARGET_MPORT_SELECTOR_PPORT_ID_WIDTH 4
6461 #define MC_CMD_SET_LINK_IN_V3_TARGET_MPORT_SELECTOR_FUNC_INTF_ID_WIDTH 4
6463 #define MC_CMD_SET_LINK_IN_V3_TARGET_MPORT_SELECTOR_FUNC_MH_PF_ID_WIDTH 4
6469 #define MC_CMD_SET_LINK_IN_V3_TARGET_LINK_END_LEN 4
6473 #define MC_CMD_SET_LINK_IN_V3_TARGET_FLAT_LO_LEN 4
6477 #define MC_CMD_SET_LINK_IN_V3_TARGET_FLAT_HI_LEN 4
6495 #define MC_CMD_SET_ID_LED_IN_LEN 4
6498 #define MC_CMD_SET_ID_LED_IN_STATE_LEN 4
6522 #define MC_CMD_SET_MAC_IN_MTU_LEN 4
6523 #define MC_CMD_SET_MAC_IN_DRAIN_OFST 4
6524 #define MC_CMD_SET_MAC_IN_DRAIN_LEN 4
6528 #define MC_CMD_SET_MAC_IN_ADDR_LO_LEN 4
6532 #define MC_CMD_SET_MAC_IN_ADDR_HI_LEN 4
6536 #define MC_CMD_SET_MAC_IN_REJECT_LEN 4
6544 #define MC_CMD_SET_MAC_IN_FCNTL_LEN 4
6558 #define MC_CMD_SET_MAC_IN_FLAGS_LEN 4
6569 #define MC_CMD_SET_MAC_EXT_IN_MTU_LEN 4
6570 #define MC_CMD_SET_MAC_EXT_IN_DRAIN_OFST 4
6571 #define MC_CMD_SET_MAC_EXT_IN_DRAIN_LEN 4
6575 #define MC_CMD_SET_MAC_EXT_IN_ADDR_LO_LEN 4
6579 #define MC_CMD_SET_MAC_EXT_IN_ADDR_HI_LEN 4
6583 #define MC_CMD_SET_MAC_EXT_IN_REJECT_LEN 4
6591 #define MC_CMD_SET_MAC_EXT_IN_FCNTL_LEN 4
6605 #define MC_CMD_SET_MAC_EXT_IN_FLAGS_LEN 4
6609 /* Select which parameters to configure. A parameter will only be modified if
6615 #define MC_CMD_SET_MAC_EXT_IN_CONTROL_LEN 4
6629 #define MC_CMD_SET_MAC_EXT_IN_CFG_FCS_LBN 4
6638 #define MC_CMD_SET_MAC_V3_IN_MTU_LEN 4
6639 #define MC_CMD_SET_MAC_V3_IN_DRAIN_OFST 4
6640 #define MC_CMD_SET_MAC_V3_IN_DRAIN_LEN 4
6644 #define MC_CMD_SET_MAC_V3_IN_ADDR_LO_LEN 4
6648 #define MC_CMD_SET_MAC_V3_IN_ADDR_HI_LEN 4
6652 #define MC_CMD_SET_MAC_V3_IN_REJECT_LEN 4
6660 #define MC_CMD_SET_MAC_V3_IN_FCNTL_LEN 4
6674 #define MC_CMD_SET_MAC_V3_IN_FLAGS_LEN 4
6678 /* Select which parameters to configure. A parameter will only be modified if
6684 #define MC_CMD_SET_MAC_V3_IN_CONTROL_LEN 4
6698 #define MC_CMD_SET_MAC_V3_IN_CFG_FCS_LBN 4
6701 * identifies a real or virtual network port by MAE port and link end. See the
6707 #define MC_CMD_SET_MAC_V3_IN_TARGET_LO_LEN 4
6711 #define MC_CMD_SET_MAC_V3_IN_TARGET_HI_LEN 4
6716 #define MC_CMD_SET_MAC_V3_IN_TARGET_MPORT_SELECTOR_LEN 4
6718 #define MC_CMD_SET_MAC_V3_IN_TARGET_MPORT_SELECTOR_FLAT_LEN 4
6724 #define MC_CMD_SET_MAC_V3_IN_TARGET_MPORT_SELECTOR_PPORT_ID_WIDTH 4
6726 #define MC_CMD_SET_MAC_V3_IN_TARGET_MPORT_SELECTOR_FUNC_INTF_ID_WIDTH 4
6728 #define MC_CMD_SET_MAC_V3_IN_TARGET_MPORT_SELECTOR_FUNC_MH_PF_ID_WIDTH 4
6734 #define MC_CMD_SET_MAC_V3_IN_TARGET_LINK_END_LEN 4
6738 #define MC_CMD_SET_MAC_V3_IN_TARGET_FLAT_LO_LEN 4
6742 #define MC_CMD_SET_MAC_V3_IN_TARGET_FLAT_HI_LEN 4
6750 #define MC_CMD_SET_MAC_V2_OUT_LEN 4
6756 #define MC_CMD_SET_MAC_V2_OUT_MTU_LEN 4
6761 * Get generic PHY statistics. This call returns the statistics for a generic
6762 * PHY in a sparse array (indexed by the enumerate). Each value is represented
6763 * by a 32bit number. If the DMA_ADDR is 0, then no DMA is performed, and the
6779 #define MC_CMD_PHY_STATS_IN_DMA_ADDR_LO_LEN 4
6782 #define MC_CMD_PHY_STATS_IN_DMA_ADDR_HI_OFST 4
6783 #define MC_CMD_PHY_STATS_IN_DMA_ADDR_HI_LEN 4
6793 #define MC_CMD_PHY_STATS_OUT_NO_DMA_STATISTICS_LEN 4
6805 /* enum: PMA-PMD SNR A. */
6867 #define MC_CMD_MAC_STATS_IN_DMA_ADDR_LO_LEN 4
6870 #define MC_CMD_MAC_STATS_IN_DMA_ADDR_HI_OFST 4
6871 #define MC_CMD_MAC_STATS_IN_DMA_ADDR_HI_LEN 4
6875 #define MC_CMD_MAC_STATS_IN_CMD_LEN 4
6889 #define MC_CMD_MAC_STATS_IN_PERIODIC_CLEAR_LBN 4
6903 #define MC_CMD_MAC_STATS_IN_DMA_LEN_LEN 4
6906 #define MC_CMD_MAC_STATS_IN_PORT_ID_LEN 4
6914 #define MC_CMD_MAC_STATS_V2_IN_DMA_ADDR_LO_LEN 4
6917 #define MC_CMD_MAC_STATS_V2_IN_DMA_ADDR_HI_OFST 4
6918 #define MC_CMD_MAC_STATS_V2_IN_DMA_ADDR_HI_LEN 4
6922 #define MC_CMD_MAC_STATS_V2_IN_CMD_LEN 4
6936 #define MC_CMD_MAC_STATS_V2_IN_PERIODIC_CLEAR_LBN 4
6950 #define MC_CMD_MAC_STATS_V2_IN_DMA_LEN_LEN 4
6953 #define MC_CMD_MAC_STATS_V2_IN_PORT_ID_LEN 4
6955 * identifies a real or virtual network port by MAE port and link end. See the
6961 #define MC_CMD_MAC_STATS_V2_IN_TARGET_LO_LEN 4
6965 #define MC_CMD_MAC_STATS_V2_IN_TARGET_HI_LEN 4
6970 #define MC_CMD_MAC_STATS_V2_IN_TARGET_MPORT_SELECTOR_LEN 4
6972 #define MC_CMD_MAC_STATS_V2_IN_TARGET_MPORT_SELECTOR_FLAT_LEN 4
6978 #define MC_CMD_MAC_STATS_V2_IN_TARGET_MPORT_SELECTOR_PPORT_ID_WIDTH 4
6980 #define MC_CMD_MAC_STATS_V2_IN_TARGET_MPORT_SELECTOR_FUNC_INTF_ID_WIDTH 4
6982 #define MC_CMD_MAC_STATS_V2_IN_TARGET_MPORT_SELECTOR_FUNC_MH_PF_ID_WIDTH 4
6988 #define MC_CMD_MAC_STATS_V2_IN_TARGET_LINK_END_LEN 4
6992 #define MC_CMD_MAC_STATS_V2_IN_TARGET_FLAT_LO_LEN 4
6996 #define MC_CMD_MAC_STATS_V2_IN_TARGET_FLAT_HI_LEN 4
7008 #define MC_CMD_MAC_STATS_OUT_NO_DMA_STATISTICS_LO_LEN 4
7011 #define MC_CMD_MAC_STATS_OUT_NO_DMA_STATISTICS_HI_OFST 4
7012 #define MC_CMD_MAC_STATS_OUT_NO_DMA_STATISTICS_HI_LEN 4
7171 #define MC_CMD_MAC_STATS_V2_OUT_NO_DMA_STATISTICS_LO_LEN 4
7174 #define MC_CMD_MAC_STATS_V2_OUT_NO_DMA_STATISTICS_HI_OFST 4
7175 #define MC_CMD_MAC_STATS_V2_OUT_NO_DMA_STATISTICS_HI_LEN 4
7197 * GENERATION_END in a MAC_STATS_V2 response and otherwise unused.
7211 #define MC_CMD_MAC_STATS_V3_OUT_NO_DMA_STATISTICS_LO_LEN 4
7214 #define MC_CMD_MAC_STATS_V3_OUT_NO_DMA_STATISTICS_HI_OFST 4
7215 #define MC_CMD_MAC_STATS_V3_OUT_NO_DMA_STATISTICS_HI_LEN 4
7222 /* enum: Number of CTPIO fallbacks because a DMA packet was in progress on the
7226 /* enum: Number of times a CTPIO send wrote beyond frame end (informational
7248 /* enum: Number of CTPIO failures because the host started a new frame before
7252 /* enum: Number of CTPIO failures because a write was not a multiple of 32 bits
7257 * sending a CTPIO frame
7278 * GENERATION_END in a MAC_STATS_V3 response and otherwise unused.
7292 #define MC_CMD_MAC_STATS_V4_OUT_NO_DMA_STATISTICS_LO_LEN 4
7295 #define MC_CMD_MAC_STATS_V4_OUT_NO_DMA_STATISTICS_HI_OFST 4
7296 #define MC_CMD_MAC_STATS_V4_OUT_NO_DMA_STATISTICS_HI_LEN 4
7316 * GENERATION_END in a MAC_STATS_V4 response and otherwise unused.
7330 #define MC_CMD_MAC_STATS_V5_OUT_NO_DMA_STATISTICS_LO_LEN 4
7333 #define MC_CMD_MAC_STATS_V5_OUT_NO_DMA_STATISTICS_HI_OFST 4
7334 #define MC_CMD_MAC_STATS_V5_OUT_NO_DMA_STATISTICS_HI_LEN 4
7346 * GENERATION_END in a MAC_STATS_V5 response and otherwise unused.
7355 * Set a WoL filter.
7365 #define MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_LEN 4
7368 /* A type value of 1 is unused. */
7369 #define MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4
7370 #define MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_LEN 4
7386 #define MC_CMD_WOL_FILTER_SET_IN_DATA_LEN 4
7392 /* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_LEN 4 */
7393 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
7394 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_LEN 4 */
7398 #define MC_CMD_WOL_FILTER_SET_IN_MAGIC_MAC_LO_LEN 4
7402 #define MC_CMD_WOL_FILTER_SET_IN_MAGIC_MAC_HI_LEN 4
7409 /* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_LEN 4 */
7410 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
7411 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_LEN 4 */
7413 #define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_SRC_IP_LEN 4
7415 #define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_DST_IP_LEN 4
7424 /* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_LEN 4 */
7425 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
7426 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_LEN 4 */
7439 /* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_LEN 4 */
7440 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
7441 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_LEN 4 */
7456 /* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_LEN 4 */
7457 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
7458 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_LEN 4 */
7460 #define MC_CMD_WOL_FILTER_SET_IN_LINK_MASK_LEN 4
7469 #define MC_CMD_WOL_FILTER_SET_OUT_LEN 4
7471 #define MC_CMD_WOL_FILTER_SET_OUT_FILTER_ID_LEN 4
7476 * Remove a WoL filter. Locks required: None. Returns: 0, EINVAL, ENOSYS
7484 #define MC_CMD_WOL_FILTER_REMOVE_IN_LEN 4
7486 #define MC_CMD_WOL_FILTER_REMOVE_IN_FILTER_ID_LEN 4
7503 #define MC_CMD_WOL_FILTER_RESET_IN_LEN 4
7505 #define MC_CMD_WOL_FILTER_RESET_IN_MASK_LEN 4
7528 #define MC_CMD_NVRAM_TYPES_OUT_LEN 4
7531 #define MC_CMD_NVRAM_TYPES_OUT_TYPES_LEN 4
7579 * Read info about a virtual NVRAM partition. Locks required: none. Returns: 0,
7588 #define MC_CMD_NVRAM_INFO_IN_LEN 4
7590 #define MC_CMD_NVRAM_INFO_IN_TYPE_LEN 4
7597 #define MC_CMD_NVRAM_INFO_OUT_TYPE_LEN 4
7600 #define MC_CMD_NVRAM_INFO_OUT_SIZE_OFST 4
7601 #define MC_CMD_NVRAM_INFO_OUT_SIZE_LEN 4
7603 #define MC_CMD_NVRAM_INFO_OUT_ERASESIZE_LEN 4
7605 #define MC_CMD_NVRAM_INFO_OUT_FLAGS_LEN 4
7628 #define MC_CMD_NVRAM_INFO_OUT_PHYSDEV_LEN 4
7630 #define MC_CMD_NVRAM_INFO_OUT_PHYSADDR_LEN 4
7635 #define MC_CMD_NVRAM_INFO_V2_OUT_TYPE_LEN 4
7638 #define MC_CMD_NVRAM_INFO_V2_OUT_SIZE_OFST 4
7639 #define MC_CMD_NVRAM_INFO_V2_OUT_SIZE_LEN 4
7641 #define MC_CMD_NVRAM_INFO_V2_OUT_ERASESIZE_LEN 4
7643 #define MC_CMD_NVRAM_INFO_V2_OUT_FLAGS_LEN 4
7666 #define MC_CMD_NVRAM_INFO_V2_OUT_PHYSDEV_LEN 4
7668 #define MC_CMD_NVRAM_INFO_V2_OUT_PHYSADDR_LEN 4
7672 #define MC_CMD_NVRAM_INFO_V2_OUT_WRITESIZE_LEN 4
7677 * Start a group of update operations on a virtual NVRAM partition. Locks
7679 * PHY_LOCK required and not held). In an adapter bound to a TSA controller,
7680 * MC_CMD_NVRAM_UPDATE_START can only be used on a subset of partition types
7682 * perform this operation on a restricted partition will return the error
7693 #define MC_CMD_NVRAM_UPDATE_START_IN_LEN 4
7695 #define MC_CMD_NVRAM_UPDATE_START_IN_TYPE_LEN 4
7706 #define MC_CMD_NVRAM_UPDATE_START_V2_IN_TYPE_LEN 4
7709 #define MC_CMD_NVRAM_UPDATE_START_V2_IN_FLAGS_OFST 4
7710 #define MC_CMD_NVRAM_UPDATE_START_V2_IN_FLAGS_LEN 4
7711 #define MC_CMD_NVRAM_UPDATE_START_V2_IN_FLAG_REPORT_VERIFY_RESULT_OFST 4
7721 * Read data from a virtual NVRAM partition. Locks required: PHY_LOCK if
7733 #define MC_CMD_NVRAM_READ_IN_TYPE_LEN 4
7736 #define MC_CMD_NVRAM_READ_IN_OFFSET_OFST 4
7737 #define MC_CMD_NVRAM_READ_IN_OFFSET_LEN 4
7740 #define MC_CMD_NVRAM_READ_IN_LENGTH_LEN 4
7745 #define MC_CMD_NVRAM_READ_IN_V2_TYPE_LEN 4
7748 #define MC_CMD_NVRAM_READ_IN_V2_OFFSET_OFST 4
7749 #define MC_CMD_NVRAM_READ_IN_V2_OFFSET_LEN 4
7752 #define MC_CMD_NVRAM_READ_IN_V2_LENGTH_LEN 4
7753 /* Optional control info. If a partition is stored with an A/B versioning
7756 * from. This allows it to perform a read-modify-write-verify with the write
7762 #define MC_CMD_NVRAM_READ_IN_V2_MODE_LEN 4
7768 /* enum: Read from the current partition of an A/B pair, even if holding the
7772 /* enum: Read from the non-current (i.e. to be updated) partition of an A/B
7792 * Write data to a virtual NVRAM partition. Locks required: PHY_LOCK if
7808 #define MC_CMD_NVRAM_WRITE_IN_TYPE_LEN 4
7811 #define MC_CMD_NVRAM_WRITE_IN_OFFSET_OFST 4
7812 #define MC_CMD_NVRAM_WRITE_IN_OFFSET_LEN 4
7814 #define MC_CMD_NVRAM_WRITE_IN_LENGTH_LEN 4
7827 * Erase sector(s) from a virtual NVRAM partition. Locks required: PHY_LOCK if
7839 #define MC_CMD_NVRAM_ERASE_IN_TYPE_LEN 4
7842 #define MC_CMD_NVRAM_ERASE_IN_OFFSET_OFST 4
7843 #define MC_CMD_NVRAM_ERASE_IN_OFFSET_LEN 4
7845 #define MC_CMD_NVRAM_ERASE_IN_LENGTH_LEN 4
7853 * Finish a group of update operations on a virtual NVRAM partition. Locks
7856 * a TSA controller, MC_CMD_NVRAM_UPDATE_FINISH can only be used on a subset of
7858 * Attempting to perform this operation on a restricted partition will return
7871 #define MC_CMD_NVRAM_UPDATE_FINISH_IN_TYPE_LEN 4
7874 #define MC_CMD_NVRAM_UPDATE_FINISH_IN_REBOOT_OFST 4
7875 #define MC_CMD_NVRAM_UPDATE_FINISH_IN_REBOOT_LEN 4
7884 #define MC_CMD_NVRAM_UPDATE_FINISH_V2_IN_TYPE_LEN 4
7887 #define MC_CMD_NVRAM_UPDATE_FINISH_V2_IN_REBOOT_OFST 4
7888 #define MC_CMD_NVRAM_UPDATE_FINISH_V2_IN_REBOOT_LEN 4
7890 #define MC_CMD_NVRAM_UPDATE_FINISH_V2_IN_FLAGS_LEN 4
7916 * This process takes a few seconds to complete. So is likely to take more than
7919 * MCDI command is run in a background MCDI processing thread. This response
7924 #define MC_CMD_NVRAM_UPDATE_FINISH_V2_OUT_LEN 4
7927 * the field are marked with a prefix 'Internal-error'.
7930 #define MC_CMD_NVRAM_UPDATE_FINISH_V2_OUT_RESULT_CODE_LEN 4
7961 /* enum: The image contains a test-signed certificate, but the adapter accepts
7965 /* enum: The image has a lower security level than the current firmware. */
7973 /* enum: Internal-error. The bundle does not have a valid reflash image layout.
7984 /* enum: Internal-error. The number of components in a bundle do not match the
7996 /* enum: Internal-error. The hash of a component does not match the hash stored
8002 /* enum: Internal-error. The component does not have a valid reflash image
8006 /* enum: The bundle processing code failed to copy a component to its target
8015 * a valid partition.
8023 * the field are marked with a prefix 'Internal-error'.
8026 #define MC_CMD_NVRAM_UPDATE_FINISH_V3_OUT_RESULT_CODE_LEN 4
8057 /* enum: The image contains a test-signed certificate, but the adapter accepts
8061 /* enum: The image has a lower security level than the current firmware. */
8069 /* enum: Internal-error. The bundle does not have a valid reflash image layout.
8080 /* enum: Internal-error. The number of components in a bundle do not match the
8092 /* enum: Internal-error. The hash of a component does not match the hash stored
8098 /* enum: Internal-error. The component does not have a valid reflash image
8102 /* enum: The bundle processing code failed to copy a component to its target
8111 * a valid partition.
8114 /* If the update was a user configuration, what action(s) the user must take to
8117 #define MC_CMD_NVRAM_UPDATE_FINISH_V3_OUT_ACTIONS_REQUIRED_OFST 4
8118 #define MC_CMD_NVRAM_UPDATE_FINISH_V3_OUT_ACTIONS_REQUIRED_LEN 4
8129 /* If the update failed with MC_CMD_NVRAM_VERIFY_RC_BAD_CONFIG, a null-
8141 * assertion failure (at which point it is expected to perform a complete tear
8151 * Locks required: NONE Returns: Nothing. You get back a response with ERR=1,
8160 #define MC_CMD_REBOOT_IN_LEN 4
8162 #define MC_CMD_REBOOT_IN_FLAGS_LEN 4
8173 * Each sensor has a single (16bit) value, and a corresponding state. The
8177 * This call returns a mask (32bit) of the sensors that are supported by this
8181 * equal limit values. If one range is used, a value outside that range results
8182 * in STATE_FATAL. If two ranges are used, a value outside the second range
8183 * results in STATE_FATAL while a value outside the first and inside the second
8191 * If the request does not contain a PAGE value then firmware will only return
8194 * If the request contains a PAGE value then firmware responds with the sensor
8209 #define MC_CMD_SENSOR_INFO_EXT_IN_LEN 4
8217 #define MC_CMD_SENSOR_INFO_EXT_IN_PAGE_LEN 4
8228 #define MC_CMD_SENSOR_INFO_EXT_IN_V2_PAGE_LEN 4
8230 #define MC_CMD_SENSOR_INFO_EXT_IN_V2_FLAGS_OFST 4
8231 #define MC_CMD_SENSOR_INFO_EXT_IN_V2_FLAGS_LEN 4
8232 #define MC_CMD_SENSOR_INFO_EXT_IN_V2_ENGINEERING_OFST 4
8237 #define MC_CMD_SENSOR_INFO_OUT_LENMIN 4
8240 #define MC_CMD_SENSOR_INFO_OUT_LEN(num) (4+8*(num))
8241 #define MC_CMD_SENSOR_INFO_OUT_MC_CMD_SENSOR_ENTRY_NUM(len) (((len)-4)/8)
8243 #define MC_CMD_SENSOR_INFO_OUT_MASK_LEN 4
8290 /* enum: Fan 4 speed: RPM */
8306 /* enum: Not a sensor: reserved for the next page flag */
8342 /* enum: 0.9v power phase A voltage: mV */
8344 /* enum: 0.9v power phase A current: mA */
8346 /* enum: 0.9V voltage regulator phase A temperature: degC */
8364 /* enum: Not a sensor: reserved for the next page flag */
8424 /* enum: Engineering sensor 4 */
8434 /* enum: Not a sensor: reserved for the next page flag */
8437 #define MC_CMD_SENSOR_ENTRY_OFST 4
8439 #define MC_CMD_SENSOR_ENTRY_LO_OFST 4
8440 #define MC_CMD_SENSOR_ENTRY_LO_LEN 4
8444 #define MC_CMD_SENSOR_ENTRY_HI_LEN 4
8452 #define MC_CMD_SENSOR_INFO_EXT_OUT_LENMIN 4
8455 #define MC_CMD_SENSOR_INFO_EXT_OUT_LEN(num) (4+8*(num))
8456 #define MC_CMD_SENSOR_INFO_EXT_OUT_MC_CMD_SENSOR_ENTRY_NUM(len) (((len)-4)/8)
8458 #define MC_CMD_SENSOR_INFO_EXT_OUT_MASK_LEN 4
8465 /* MC_CMD_SENSOR_ENTRY_OFST 4 */
8467 /* MC_CMD_SENSOR_ENTRY_LO_OFST 4 */
8468 /* MC_CMD_SENSOR_ENTRY_LO_LEN 4 */
8472 /* MC_CMD_SENSOR_ENTRY_HI_LEN 4 */
8489 #define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MIN2_OFST 4
8503 * sensors), into host memory. Each array element is a
8511 * The MC will send a SENSOREVT event every time any sensor changes state. The
8523 /* DMA address of host buffer for sensor readings (must be 4Kbyte aligned).
8531 #define MC_CMD_READ_SENSORS_IN_DMA_ADDR_LO_LEN 4
8534 #define MC_CMD_READ_SENSORS_IN_DMA_ADDR_HI_OFST 4
8535 #define MC_CMD_READ_SENSORS_IN_DMA_ADDR_HI_LEN 4
8541 /* DMA address of host buffer for sensor readings (must be 4Kbyte aligned).
8549 #define MC_CMD_READ_SENSORS_EXT_IN_DMA_ADDR_LO_LEN 4
8552 #define MC_CMD_READ_SENSORS_EXT_IN_DMA_ADDR_HI_OFST 4
8553 #define MC_CMD_READ_SENSORS_EXT_IN_DMA_ADDR_HI_LEN 4
8558 #define MC_CMD_READ_SENSORS_EXT_IN_LENGTH_LEN 4
8562 /* DMA address of host buffer for sensor readings (must be 4Kbyte aligned).
8570 #define MC_CMD_READ_SENSORS_EXT_IN_V2_DMA_ADDR_LO_LEN 4
8573 #define MC_CMD_READ_SENSORS_EXT_IN_V2_DMA_ADDR_HI_OFST 4
8574 #define MC_CMD_READ_SENSORS_EXT_IN_V2_DMA_ADDR_HI_LEN 4
8579 #define MC_CMD_READ_SENSORS_EXT_IN_V2_LENGTH_LEN 4
8582 #define MC_CMD_READ_SENSORS_EXT_IN_V2_FLAGS_LEN 4
8594 #define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_LEN 4
8609 /* enum: Sensor is working but does not currently have a reading. */
8625 * Report current state of PHY. A 'zombie' PHY is a PHY that has failed to boot
8640 * identifies a real or virtual network port by MAE port and link end. See the
8646 #define MC_CMD_GET_PHY_STATE_IN_V2_TARGET_LO_LEN 4
8649 #define MC_CMD_GET_PHY_STATE_IN_V2_TARGET_HI_OFST 4
8650 #define MC_CMD_GET_PHY_STATE_IN_V2_TARGET_HI_LEN 4
8655 #define MC_CMD_GET_PHY_STATE_IN_V2_TARGET_MPORT_SELECTOR_LEN 4
8657 #define MC_CMD_GET_PHY_STATE_IN_V2_TARGET_MPORT_SELECTOR_FLAT_LEN 4
8663 #define MC_CMD_GET_PHY_STATE_IN_V2_TARGET_MPORT_SELECTOR_PPORT_ID_WIDTH 4
8665 #define MC_CMD_GET_PHY_STATE_IN_V2_TARGET_MPORT_SELECTOR_FUNC_INTF_ID_WIDTH 4
8667 #define MC_CMD_GET_PHY_STATE_IN_V2_TARGET_MPORT_SELECTOR_FUNC_MH_PF_ID_WIDTH 4
8672 #define MC_CMD_GET_PHY_STATE_IN_V2_TARGET_LINK_END_OFST 4
8673 #define MC_CMD_GET_PHY_STATE_IN_V2_TARGET_LINK_END_LEN 4
8677 #define MC_CMD_GET_PHY_STATE_IN_V2_TARGET_FLAT_LO_LEN 4
8680 #define MC_CMD_GET_PHY_STATE_IN_V2_TARGET_FLAT_HI_OFST 4
8681 #define MC_CMD_GET_PHY_STATE_IN_V2_TARGET_FLAT_HI_LEN 4
8686 #define MC_CMD_GET_PHY_STATE_OUT_LEN 4
8688 #define MC_CMD_GET_PHY_STATE_OUT_STATE_LEN 4
8708 #define MC_CMD_WOL_FILTER_GET_OUT_LEN 4
8710 #define MC_CMD_WOL_FILTER_GET_OUT_FILTER_ID_LEN 4
8715 * Enable/Disable a given workaround. The mcfw will return EINVAL if it doesn't
8716 * understand the given workaround number - which should not be treated as a
8718 * workaround, that's between the driver and the mcfw on a per-workaround
8730 #define MC_CMD_WORKAROUND_IN_TYPE_LEN 4
8758 #define MC_CMD_WORKAROUND_IN_ENABLED_OFST 4
8759 #define MC_CMD_WORKAROUND_IN_ENABLED_LEN 4
8767 #define MC_CMD_WORKAROUND_EXT_OUT_LEN 4
8769 #define MC_CMD_WORKAROUND_EXT_OUT_FLAGS_LEN 4
8780 * output data, are interpreted on a per-type basis. For SFP+, PAGE=0 or 1
8781 * returns a 128-byte block read from module I2C address 0xA0 offset 0 or 0x80.
8783 * PAGE=3 is the module limits. For DSFP, module addressing requires a
8785 * Management Interface Specification (CMIS) for further details. A BANK:PAGE
8795 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_LEN 4
8797 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_PAGE_LEN 4
8808 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_PAGE_LEN 4
8816 * identifies a real or virtual network port by MAE port and link end. See the
8819 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_OFST 4
8821 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_LO_OFST 4
8822 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_LO_LEN 4
8826 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_HI_LEN 4
8830 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_MPORT_SELECTOR_OFST 4
8831 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_MPORT_SELECTOR_LEN 4
8832 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_MPORT_SELECTOR_FLAT_OFST 4
8833 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_MPORT_SELECTOR_FLAT_LEN 4
8836 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_MPORT_SELECTOR_MPORT_ID_OFST 4
8839 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_MPORT_SELECTOR_PPORT_ID_WIDTH 4
8841 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_MPORT_SELECTOR_FUNC_INTF_ID_WIDTH 4
8843 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_MPORT_SELECTOR_FUNC_MH_PF_ID_WIDTH 4
8846 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_MPORT_SELECTOR_FUNC_VF_ID_OFST 4
8849 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_LINK_END_LEN 4
8850 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_FLAT_OFST 4
8852 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_FLAT_LO_OFST 4
8853 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_FLAT_LO_LEN 4
8857 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_V2_TARGET_FLAT_HI_LEN 4
8865 #define MC_CMD_GET_PHY_MEDIA_INFO_OUT_LEN(num) (4+1*(num))
8866 #define MC_CMD_GET_PHY_MEDIA_INFO_OUT_DATA_NUM(len) (((len)-4)/1)
8869 #define MC_CMD_GET_PHY_MEDIA_INFO_OUT_DATALEN_LEN 4
8870 #define MC_CMD_GET_PHY_MEDIA_INFO_OUT_DATA_OFST 4
8879 * Test a particular NVRAM partition for valid contents (where "valid" depends
8888 #define MC_CMD_NVRAM_TEST_IN_LEN 4
8890 #define MC_CMD_NVRAM_TEST_IN_TYPE_LEN 4
8895 #define MC_CMD_NVRAM_TEST_OUT_LEN 4
8897 #define MC_CMD_NVRAM_TEST_OUT_RESULT_LEN 4
8920 #define MC_CMD_NVRAM_PARTITIONS_OUT_LENMIN 4
8923 #define MC_CMD_NVRAM_PARTITIONS_OUT_LEN(num) (4+4*(num))
8924 #define MC_CMD_NVRAM_PARTITIONS_OUT_TYPE_ID_NUM(len) (((len)-4)/4)
8927 #define MC_CMD_NVRAM_PARTITIONS_OUT_NUM_PARTITIONS_LEN 4
8929 #define MC_CMD_NVRAM_PARTITIONS_OUT_TYPE_ID_OFST 4
8930 #define MC_CMD_NVRAM_PARTITIONS_OUT_TYPE_ID_LEN 4
8938 * Reads soft metadata for a virtual NVRAM partition type. Locks required:
8947 #define MC_CMD_NVRAM_METADATA_IN_LEN 4
8950 #define MC_CMD_NVRAM_METADATA_IN_TYPE_LEN 4
8960 #define MC_CMD_NVRAM_METADATA_OUT_TYPE_LEN 4
8961 #define MC_CMD_NVRAM_METADATA_OUT_FLAGS_OFST 4
8962 #define MC_CMD_NVRAM_METADATA_OUT_FLAGS_LEN 4
8963 #define MC_CMD_NVRAM_METADATA_OUT_SUBTYPE_VALID_OFST 4
8966 #define MC_CMD_NVRAM_METADATA_OUT_VERSION_VALID_OFST 4
8969 #define MC_CMD_NVRAM_METADATA_OUT_DESCRIPTION_VALID_OFST 4
8974 #define MC_CMD_NVRAM_METADATA_OUT_SUBTYPE_LEN 4
8984 /* 4th component of W.X.Y.Z version number for content of this partition */
9017 #define MC_CMD_GET_MAC_ADDRESSES_OUT_MAC_COUNT_LEN 4
9020 #define MC_CMD_GET_MAC_ADDRESSES_OUT_MAC_STRIDE_LEN 4
9026 /* A value below this will trigger a warning event. */
9028 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_LO_WARNING_LEN 4
9031 /* A value below this will trigger a critical event. */
9032 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_LO_CRITICAL_OFST 4
9033 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_LO_CRITICAL_LEN 4
9036 /* A value below this will shut down the card. */
9038 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_LO_FATAL_LEN 4
9041 /* A value above this will trigger a warning event. */
9043 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_HI_WARNING_LEN 4
9046 /* A value above this will trigger a critical event. */
9048 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_HI_CRITICAL_LEN 4
9051 /* A value above this will shut down the card. */
9053 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_HI_FATAL_LEN 4
9057 /* MC_CMD_DYNAMIC_SENSORS_DESCRIPTION structuredef: Description of a sensor.
9066 #define MC_CMD_DYNAMIC_SENSORS_DESCRIPTION_HANDLE_LEN 4
9069 /* A human-readable name for the sensor (zero terminated string, max 32 bytes)
9071 #define MC_CMD_DYNAMIC_SENSORS_DESCRIPTION_NAME_OFST 4
9079 #define MC_CMD_DYNAMIC_SENSORS_DESCRIPTION_TYPE_LEN 4
9080 /* enum: A voltage sensor. Unit is mV */
9082 /* enum: A current sensor. Unit is mA */
9084 /* enum: A power sensor. Unit is mW */
9086 /* enum: A temperature sensor. Unit is Celsius */
9088 /* enum: A cooling fan sensor. Unit is RPM */
9092 /* A single MC_CMD_DYNAMIC_SENSORS_LIMITS structure */
9098 /* MC_CMD_DYNAMIC_SENSORS_READING structuredef: State and value of a sensor.
9105 #define MC_CMD_DYNAMIC_SENSORS_READING_HANDLE_LEN 4
9109 #define MC_CMD_DYNAMIC_SENSORS_READING_VALUE_OFST 4
9110 #define MC_CMD_DYNAMIC_SENSORS_READING_VALUE_LEN 4
9115 #define MC_CMD_DYNAMIC_SENSORS_READING_STATE_LEN 4
9136 * Return a complete list of handles for sensors currently managed by the MC,
9137 * and a generation count for this version of the sensor table. On systems
9145 * sensor table is modified. When the table is modified, a
9150 * to allow a future path to supporting more than
9152 * the maximum number that will fit in a single response. As this is a fairly
9155 * implemented as a wrapper for `list` in the sensor_query SPHINX service.
9169 #define MC_CMD_DYNAMIC_SENSORS_LIST_OUT_LEN(num) (8+4*(num))
9170 #define MC_CMD_DYNAMIC_SENSORS_LIST_OUT_HANDLES_NUM(len) (((len)-8)/4)
9171 /* Generation count, which will be updated each time a sensor is added to or
9175 #define MC_CMD_DYNAMIC_SENSORS_LIST_OUT_GENERATION_LEN 4
9179 #define MC_CMD_DYNAMIC_SENSORS_LIST_OUT_COUNT_OFST 4
9180 #define MC_CMD_DYNAMIC_SENSORS_LIST_OUT_COUNT_LEN 4
9183 #define MC_CMD_DYNAMIC_SENSORS_LIST_OUT_HANDLES_LEN 4
9191 * Get descriptions for a set of sensors, specified as an array of sensor
9193 * correspond to a sensor currently managed by the MC will be dropped from from
9194 * the response. This may happen when a sensor table update is in progress, and
9197 * implemented as a wrapper for `get_descriptions` in the sensor_query SPHINX
9209 #define MC_CMD_DYNAMIC_SENSORS_GET_DESCRIPTIONS_IN_LEN(num) (0+4*(num))
9210 #define MC_CMD_DYNAMIC_SENSORS_GET_DESCRIPTIONS_IN_HANDLES_NUM(len) (((len)-0)/4)
9213 #define MC_CMD_DYNAMIC_SENSORS_GET_DESCRIPTIONS_IN_HANDLES_LEN 4
9234 * Read the state and value for a set of sensors, specified as an array of
9235 * sensor handles as returned by MC_CMD_DYNAMIC_SENSORS_LIST. In the case of a
9238 * erroneous. Any handles which do not correspond to a sensor currently managed
9239 * by the MC will be dropped from from the response. This may happen when a
9242 * and the MC. On Riverhead this command is implemented as a wrapper for
9254 #define MC_CMD_DYNAMIC_SENSORS_GET_READINGS_IN_LEN(num) (0+4*(num))
9255 #define MC_CMD_DYNAMIC_SENSORS_GET_READINGS_IN_HANDLES_NUM(len) (((len)-0)/4)
9258 #define MC_CMD_DYNAMIC_SENSORS_GET_READINGS_IN_HANDLES_LEN 4
9277 #define MC_CMD_MAC_FLAGS_LEN 4
9282 #define MC_CMD_MAC_FLAGS_MASK_LEN 4
9292 #define MC_CMD_TRANSMISSION_MODE_LEN 4
9294 #define MC_CMD_TRANSMISSION_MODE_MASK_LEN 4
9303 #define MC_CMD_MAC_CONFIG_OPTIONS_LEN 4
9305 #define MC_CMD_MAC_CONFIG_OPTIONS_MASK_LEN 4
9334 #define MC_CMD_MAC_CTRL_IN_PORT_HANDLE_LEN 4
9335 /* Select which parameters to configure. A parameter will only be modified if
9338 #define MC_CMD_MAC_CTRL_IN_CONTROL_FLAGS_OFST 4
9339 #define MC_CMD_MAC_CTRL_IN_CONTROL_FLAGS_LEN 4
9347 #define MC_CMD_MAC_CTRL_IN_ADDR_LO_LEN 4
9351 #define MC_CMD_MAC_CTRL_IN_ADDR_HI_LEN 4
9356 #define MC_CMD_MAC_CTRL_IN_MAX_FRAME_LEN_LEN 4
9359 #define MC_CMD_MAC_CTRL_IN_FCNTL_LEN 4
9367 #define MC_CMD_MAC_CTRL_IN_TRANSMISSION_MODE_LEN 4
9373 #define MC_CMD_MAC_CTRL_IN_FLAGS_LEN 4
9382 #define MC_CMD_MAC_CTRL_IN_V2_PORT_HANDLE_LEN 4
9383 /* Select which parameters to configure. A parameter will only be modified if
9386 #define MC_CMD_MAC_CTRL_IN_V2_CONTROL_FLAGS_OFST 4
9387 #define MC_CMD_MAC_CTRL_IN_V2_CONTROL_FLAGS_LEN 4
9395 #define MC_CMD_MAC_CTRL_IN_V2_ADDR_LO_LEN 4
9399 #define MC_CMD_MAC_CTRL_IN_V2_ADDR_HI_LEN 4
9404 #define MC_CMD_MAC_CTRL_IN_V2_MAX_FRAME_LEN_LEN 4
9407 #define MC_CMD_MAC_CTRL_IN_V2_FCNTL_LEN 4
9415 #define MC_CMD_MAC_CTRL_IN_V2_TRANSMISSION_MODE_LEN 4
9421 #define MC_CMD_MAC_CTRL_IN_V2_FLAGS_LEN 4
9455 #define MC_CMD_MAC_STATE_IN_LEN 4
9458 #define MC_CMD_MAC_STATE_IN_PORT_HANDLE_LEN 4
9464 #define MC_CMD_MAC_STATE_OUT_MAX_FRAME_LEN_LEN 4
9466 #define MC_CMD_MAC_STATE_OUT_FCNTL_OFST 4
9467 #define MC_CMD_MAC_STATE_OUT_FCNTL_LEN 4
9475 #define MC_CMD_MAC_STATE_OUT_ADDR_LO_LEN 4
9479 #define MC_CMD_MAC_STATE_OUT_ADDR_HI_LEN 4
9484 #define MC_CMD_MAC_STATE_OUT_MAC_FAULT_FLAGS_LEN 4
9486 /* enum: Indicates a local MAC fault. */
9488 /* enum: Indicates a remote MAC fault. */
9490 /* enum: Indicates a pending reconfiguration of the MAC. */
9492 /* The flags that were used to configure the MAC. This is a copy of the FLAGS
9496 #define MC_CMD_MAC_STATE_OUT_FLAGS_LEN 4
9500 /* The transmission mode that was used to configure the MAC. This is a copy of
9504 #define MC_CMD_MAC_STATE_OUT_TRANSMISSION_MODE_LEN 4
9508 /* The control flags that were used to configure the MAC. This is a copy of the
9512 #define MC_CMD_MAC_STATE_OUT_CONTROL_FLAGS_LEN 4
9520 * Obtain a handle that can be operated on to configure and query the status of
9533 #define MC_CMD_GET_ASSIGNED_PORT_HANDLE_OUT_LEN 4
9536 #define MC_CMD_GET_ASSIGNED_PORT_HANDLE_OUT_PORT_HANDLE_LEN 4
9539 #define MC_CMD_STAT_ID_LEN 4
9554 /* enum: This value is used to mark the start of a generation of statistics for
9555 * DMA synchronization. It is incremented whenever a new set of statistics is
9559 /* enum: This value is used to mark the end of a generation of statistics for
9668 * allowed maximum receive unit (MRU). This indicates that a packet either has
9669 * a bad CRC or has an RX error.
9672 /* enum: Packets dropped due to having no descriptor. This is a datapath stat
9716 #define MC_CMD_STAT_DESC_STAT_ID_LEN 4
9737 #define MC_CMD_STAT_DESC_STAT_INDEX_OFST 4
9750 * Get a list of descriptors that describe the layout and size of the stats
9751 * buffer required for retrieving statistics for a given port. Each entry in
9774 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_IN_PORT_HANDLE_LEN 4
9780 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_IN_OFFSET_OFST 4
9781 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_IN_OFFSET_LEN 4
9795 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_OUT_GENERATION_LEN 4
9802 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_OUT_DMA_BUFFER_SIZE_OFST 4
9803 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_OUT_DMA_BUFFER_SIZE_LEN 4
9805 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_OUT_FLAGS_LEN 4
9815 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_OUT_ENTRY_SIZE_LEN 4
9818 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_OUT_ENTRY_COUNT_LEN 4
9827 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_OUT_ENTRIES_LO_LEN 4
9831 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_OUT_ENTRIES_HI_LEN 4
9859 #define MC_CMD_MAC_STATISTICS_IN_PORT_HANDLE_LEN 4
9861 #define MC_CMD_MAC_STATISTICS_IN_CMD_OFST 4
9862 #define MC_CMD_MAC_STATISTICS_IN_CMD_LEN 4
9863 #define MC_CMD_MAC_STATISTICS_IN_DMA_OFST 4
9866 #define MC_CMD_MAC_STATISTICS_IN_CLEAR_OFST 4
9869 #define MC_CMD_MAC_STATISTICS_IN_PERIODIC_CHANGE_OFST 4
9872 #define MC_CMD_MAC_STATISTICS_IN_PERIODIC_ENABLE_OFST 4
9875 #define MC_CMD_MAC_STATISTICS_IN_PERIODIC_NOEVENT_OFST 4
9876 #define MC_CMD_MAC_STATISTICS_IN_PERIODIC_NOEVENT_LBN 4
9878 #define MC_CMD_MAC_STATISTICS_IN_PERIOD_MS_OFST 4
9887 #define MC_CMD_MAC_STATISTICS_IN_DMA_ADDR_LO_LEN 4
9891 #define MC_CMD_MAC_STATISTICS_IN_DMA_ADDR_HI_LEN 4
9900 #define MC_CMD_MAC_STATISTICS_IN_DMA_LEN_LEN 4
9906 #define MC_CMD_MAC_STATISTICS_OUT_LEN(num) (4+1*(num))
9907 #define MC_CMD_MAC_STATISTICS_OUT_DATA_NUM(len) (((len)-4)/1)
9910 #define MC_CMD_MAC_STATISTICS_OUT_DATALEN_LEN 4
9911 #define MC_CMD_MAC_STATISTICS_OUT_DATA_OFST 4
9917 /* NET_PORT_HANDLE_DESC structuredef: Network port descriptor containing a port
9923 #define NET_PORT_HANDLE_DESC_PORT_HANDLE_LEN 4
9929 #define NET_PORT_HANDLE_DESC_PORT_PROPERTIES_OFST 4
9931 #define NET_PORT_HANDLE_DESC_PORT_PROPERTIES_LO_OFST 4
9932 #define NET_PORT_HANDLE_DESC_PORT_PROPERTIES_LO_LEN 4
9936 #define NET_PORT_HANDLE_DESC_PORT_PROPERTIES_HI_LEN 4
9939 #define NET_PORT_HANDLE_DESC_PORT_TYPE_OFST 4
9945 #define NET_PORT_HANDLE_DESC_IS_ZOMBIE_OFST 4
9963 /* This is an opaque 40 byte label exposed to users as a unique identifier of
9964 * the port. It is represented as a zero-terminated ASCII string and assigned
9965 * by the port administrator which is typically either the firmware for a
9980 * After a start-of-day port enumeration, firmware keeps track of all available
9981 * ports upon creation or deletion and updates the ports if there is a change.
9982 * This command is cleared after a control interface reset (e.g. FLR,
10003 #define MC_CMD_ENUM_PORTS_OUT_FLAGS_LEN 4
10008 #define MC_CMD_ENUM_PORTS_OUT_PORT_COUNT_OFST 4
10009 #define MC_CMD_ENUM_PORTS_OUT_PORT_COUNT_LEN 4
10011 #define MC_CMD_ENUM_PORTS_OUT_SIZEOF_NET_PORT_HANDLE_DESC_LEN 4
10024 #define MC_CMD_ENUM_PORTS_OUT_PORT_HANDLES_PORT_HANDLE_LEN 4
10028 #define MC_CMD_ENUM_PORTS_OUT_PORT_HANDLES_PORT_PROPERTIES_LO_LEN 4
10032 #define MC_CMD_ENUM_PORTS_OUT_PORT_HANDLES_PORT_PROPERTIES_HI_LEN 4
10048 * for a fixed onboard transceiver or an inserted module. The returned data is
10058 #define MC_CMD_GET_TRANSCEIVER_PROPERTIES_IN_LEN 4
10061 #define MC_CMD_GET_TRANSCEIVER_PROPERTIES_IN_PORT_HANDLE_LEN 4
10076 /* Preferred FEC modes. This is a function of the cable type and length. */
10078 #define MC_CMD_GET_TRANSCEIVER_PROPERTIES_OUT_PREFERRED_FEC_MASK_LEN 4
10106 /* enum: Ethernet over a single backplane lane for connections between
10170 * cage. This information is fixed for a given board but not for a given ASIC.
10175 #define MC_CMD_GET_FIXED_PORT_PROPERTIES_IN_LEN 4
10178 #define MC_CMD_GET_FIXED_PORT_PROPERTIES_IN_PORT_HANDLE_LEN 4
10189 #define MC_CMD_GET_FIXED_PORT_PROPERTIES_OUT_ABILITIES_FEC_MASK_LEN 4
10191 #define MC_CMD_GET_FIXED_PORT_PROPERTIES_OUT_ABILITIES_FEC_REQ_LEN 4
10206 /* This field serves as a cage index that uniquely identifies the cage to which
10208 * multiple ports on a single cage are used.
10219 #define MC_CMD_GET_FIXED_PORT_PROPERTIES_OUT_MAX_FRAME_LEN_LEN 4
10238 /* This field serves as a cage index that uniquely identifies the cage to which
10240 * multiple ports on a single cage are used.
10251 #define MC_CMD_GET_FIXED_PORT_PROPERTIES_OUT_V2_MAX_FRAME_LEN_LEN 4
10258 #define MC_CMD_GET_FIXED_PORT_PROPERTIES_OUT_V2_LOOPBACK_MODES_MASK_V2_LO_LEN 4
10262 #define MC_CMD_GET_FIXED_PORT_PROPERTIES_OUT_V2_LOOPBACK_MODES_MASK_V2_HI_LEN 4
10286 #define MC_CMD_GET_MODULE_DATA_IN_PORT_HANDLE_LEN 4
10310 #define MC_CMD_GET_MODULE_DATA_IN_LENGTH_LEN 4
10313 * 8-bit wide ADDRESSING field. This new field provides a correctly aligned
10320 #define MC_CMD_GET_MODULE_DATA_IN_V2_PORT_HANDLE_LEN 4
10344 #define MC_CMD_GET_MODULE_DATA_IN_V2_LENGTH_LEN 4
10346 #define MC_CMD_GET_MODULE_DATA_IN_V2_ADDRESSING_OFST 4
10348 #define MC_CMD_GET_MODULE_DATA_IN_V2_MODULE_ADDR_OFST 4
10356 #define MC_CMD_GET_MODULE_DATA_OUT_LEN(num) (4+1*(num))
10357 #define MC_CMD_GET_MODULE_DATA_OUT_DATA_NUM(len) (((len)-4)/1)
10360 #define MC_CMD_GET_MODULE_DATA_OUT_DATALEN_LEN 4
10361 #define MC_CMD_GET_MODULE_DATA_OUT_DATA_OFST 4
10368 #define EVENT_MASK_LEN 4
10370 #define EVENT_MASK_TYPE_LEN 4
10388 * specified network port events for a given port identified by PORT_HANDLE. At
10396 #define MC_CMD_SET_NETPORT_EVENTS_MASK_IN_PORT_HANDLE_LEN 4
10400 #define MC_CMD_SET_NETPORT_EVENTS_MASK_IN_EVENT_MASK_OFST 4
10401 #define MC_CMD_SET_NETPORT_EVENTS_MASK_IN_EVENT_MASK_LEN 4
10418 /* MC_CMD_GET_NETPORT_EVENTS_MASK_IN msgrequest: Get event delivery mask a
10421 #define MC_CMD_GET_NETPORT_EVENTS_MASK_IN_LEN 4
10424 #define MC_CMD_GET_NETPORT_EVENTS_MASK_IN_PORT_HANDLE_LEN 4
10427 #define MC_CMD_GET_NETPORT_EVENTS_MASK_OUT_LEN 4
10432 #define MC_CMD_GET_NETPORT_EVENTS_MASK_OUT_EVENT_MASK_LEN 4
10447 * supported by the platform. Information returned is fixed for a given NIC
10453 #define MC_CMD_GET_SUPPORTED_NETPORT_EVENTS_OUT_LEN 4
10458 #define MC_CMD_GET_SUPPORTED_NETPORT_EVENTS_OUT_EVENT_MASK_LEN 4
10484 #define MC_CMD_GET_NETPORT_STATISTICS_IN_PORT_HANDLE_LEN 4
10486 #define MC_CMD_GET_NETPORT_STATISTICS_IN_CMD_OFST 4
10487 #define MC_CMD_GET_NETPORT_STATISTICS_IN_CMD_LEN 4
10488 #define MC_CMD_GET_NETPORT_STATISTICS_IN_DMA_OFST 4
10491 #define MC_CMD_GET_NETPORT_STATISTICS_IN_CLEAR_OFST 4
10494 #define MC_CMD_GET_NETPORT_STATISTICS_IN_PERIODIC_CHANGE_OFST 4
10497 #define MC_CMD_GET_NETPORT_STATISTICS_IN_PERIODIC_ENABLE_OFST 4
10500 #define MC_CMD_GET_NETPORT_STATISTICS_IN_PERIODIC_NOEVENT_OFST 4
10501 #define MC_CMD_GET_NETPORT_STATISTICS_IN_PERIODIC_NOEVENT_LBN 4
10503 #define MC_CMD_GET_NETPORT_STATISTICS_IN_PERIOD_MS_OFST 4
10507 * transfer. This field must contain a valid address under either of these
10514 #define MC_CMD_GET_NETPORT_STATISTICS_IN_DMA_ADDR_LO_LEN 4
10518 #define MC_CMD_GET_NETPORT_STATISTICS_IN_DMA_ADDR_HI_LEN 4
10524 * will result in an EINVAL error. This field must contain a valid length under
10529 #define MC_CMD_GET_NETPORT_STATISTICS_IN_DMA_LEN_LEN 4
10546 #define MC_CMD_GET_NETPORT_STATISTICS_OUT_STATS_LO_LEN 4
10549 #define MC_CMD_GET_NETPORT_STATISTICS_OUT_STATS_HI_OFST 4
10550 #define MC_CMD_GET_NETPORT_STATISTICS_OUT_STATS_HI_LEN 4
10558 #define EVB_PORT_ID_LEN 4
10560 #define EVB_PORT_ID_PORT_ID_LEN 4
10649 /* enum: FPGA jump instruction (a.k.a. boot) partition to select Stage1
10699 /* enum: Spare partition 4 */
10720 * platforms. See SF-119124-PS. The STATIC_CONFIG partition may contain a
10727 * a bundle update in TLV format
10749 * details of sensors leading up to a critical failure (where the board is shut
10759 * number for a bundle update), or discarded with an error if not recognised as
10760 * a supported type.
10787 #define LICENSED_APP_ID_LEN 4
10789 #define LICENSED_APP_ID_ID_LEN 4
10831 #define LICENSED_V3_FEATURES_MASK_LO_LEN 4
10834 #define LICENSED_V3_FEATURES_MASK_HI_OFST 4
10835 #define LICENSED_V3_FEATURES_MASK_HI_LEN 4
10851 #define LICENSED_V3_FEATURES_RX_TIMESTAMPS_LBN 4
10882 /* enum: This is a TX completion event, not a timestamp */
10884 /* enum: This is a TX completion event for a CTPIO transmit. The event format
10888 /* enum: This is the low part of a TX timestamp for a CTPIO transmission. The
10892 /* enum: This is the high part of a TX timestamp for a CTPIO transmission. The
10896 /* enum: This is the low part of a TX timestamp event */
10898 /* enum: This is the high part of a TX timestamp event */
10903 #define TX_TIMESTAMP_EVENT_TSTAMP_DATA_HI_OFST 4
10910 /* The RSS mode for a particular packet type is a value from 0 - 15 which can
10911 * be considered as 4 bits selecting which fields are included in the hash. (A
10913 * generation tools require this structure to be a whole number of bytes wide,
10914 * but only 4 bits are relevant.
10937 * end with an address for each 4k of host memory required to back the EVQ.
10952 #define MC_CMD_INIT_EVQ_IN_SIZE_LEN 4
10953 /* Desired instance. Must be set to a specific instance, which is a function
10957 #define MC_CMD_INIT_EVQ_IN_INSTANCE_OFST 4
10958 #define MC_CMD_INIT_EVQ_IN_INSTANCE_LEN 4
10962 #define MC_CMD_INIT_EVQ_IN_TMR_LOAD_LEN 4
10965 #define MC_CMD_INIT_EVQ_IN_TMR_RELOAD_LEN 4
10968 #define MC_CMD_INIT_EVQ_IN_FLAGS_LEN 4
10982 #define MC_CMD_INIT_EVQ_IN_FLAG_RX_MERGE_LBN 4
10991 #define MC_CMD_INIT_EVQ_IN_TMR_MODE_LEN 4
11002 #define MC_CMD_INIT_EVQ_IN_TARGET_EVQ_LEN 4
11004 * MC_CMD_RESOURCE_INSTANCE_ANY unless a specific one required for test
11008 #define MC_CMD_INIT_EVQ_IN_IRQ_NUM_LEN 4
11011 #define MC_CMD_INIT_EVQ_IN_COUNT_MODE_LEN 4
11022 #define MC_CMD_INIT_EVQ_IN_COUNT_THRSHLD_LEN 4
11023 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11027 #define MC_CMD_INIT_EVQ_IN_DMA_ADDR_LO_LEN 4
11031 #define MC_CMD_INIT_EVQ_IN_DMA_ADDR_HI_LEN 4
11039 #define MC_CMD_INIT_EVQ_OUT_LEN 4
11042 #define MC_CMD_INIT_EVQ_OUT_IRQ_LEN 4
11052 #define MC_CMD_INIT_EVQ_V2_IN_SIZE_LEN 4
11053 /* Desired instance. Must be set to a specific instance, which is a function
11057 #define MC_CMD_INIT_EVQ_V2_IN_INSTANCE_OFST 4
11058 #define MC_CMD_INIT_EVQ_V2_IN_INSTANCE_LEN 4
11062 #define MC_CMD_INIT_EVQ_V2_IN_TMR_LOAD_LEN 4
11065 #define MC_CMD_INIT_EVQ_V2_IN_TMR_RELOAD_LEN 4
11068 #define MC_CMD_INIT_EVQ_V2_IN_FLAGS_LEN 4
11082 #define MC_CMD_INIT_EVQ_V2_IN_FLAG_RX_MERGE_LBN 4
11092 #define MC_CMD_INIT_EVQ_V2_IN_FLAG_TYPE_WIDTH 4
11116 #define MC_CMD_INIT_EVQ_V2_IN_TMR_MODE_LEN 4
11127 #define MC_CMD_INIT_EVQ_V2_IN_TARGET_EVQ_LEN 4
11129 * MC_CMD_RESOURCE_INSTANCE_ANY unless a specific one required for test
11133 #define MC_CMD_INIT_EVQ_V2_IN_IRQ_NUM_LEN 4
11136 #define MC_CMD_INIT_EVQ_V2_IN_COUNT_MODE_LEN 4
11147 #define MC_CMD_INIT_EVQ_V2_IN_COUNT_THRSHLD_LEN 4
11148 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11152 #define MC_CMD_INIT_EVQ_V2_IN_DMA_ADDR_LO_LEN 4
11156 #define MC_CMD_INIT_EVQ_V2_IN_DMA_ADDR_HI_LEN 4
11167 #define MC_CMD_INIT_EVQ_V2_OUT_IRQ_LEN 4
11169 #define MC_CMD_INIT_EVQ_V2_OUT_FLAGS_OFST 4
11170 #define MC_CMD_INIT_EVQ_V2_OUT_FLAGS_LEN 4
11171 #define MC_CMD_INIT_EVQ_V2_OUT_FLAG_CUT_THRU_OFST 4
11174 #define MC_CMD_INIT_EVQ_V2_OUT_FLAG_RX_MERGE_OFST 4
11177 #define MC_CMD_INIT_EVQ_V2_OUT_FLAG_TX_MERGE_OFST 4
11180 #define MC_CMD_INIT_EVQ_V2_OUT_FLAG_RXQ_FORCE_EV_MERGING_OFST 4
11190 #define MC_CMD_INIT_EVQ_V3_IN_SIZE_LEN 4
11191 /* Desired instance. Must be set to a specific instance, which is a function
11195 #define MC_CMD_INIT_EVQ_V3_IN_INSTANCE_OFST 4
11196 #define MC_CMD_INIT_EVQ_V3_IN_INSTANCE_LEN 4
11200 #define MC_CMD_INIT_EVQ_V3_IN_TMR_LOAD_LEN 4
11203 #define MC_CMD_INIT_EVQ_V3_IN_TMR_RELOAD_LEN 4
11206 #define MC_CMD_INIT_EVQ_V3_IN_FLAGS_LEN 4
11220 #define MC_CMD_INIT_EVQ_V3_IN_FLAG_RX_MERGE_LBN 4
11230 #define MC_CMD_INIT_EVQ_V3_IN_FLAG_TYPE_WIDTH 4
11254 #define MC_CMD_INIT_EVQ_V3_IN_TMR_MODE_LEN 4
11265 #define MC_CMD_INIT_EVQ_V3_IN_TARGET_EVQ_LEN 4
11267 * MC_CMD_RESOURCE_INSTANCE_ANY unless a specific one required for test
11271 #define MC_CMD_INIT_EVQ_V3_IN_IRQ_NUM_LEN 4
11274 #define MC_CMD_INIT_EVQ_V3_IN_COUNT_MODE_LEN 4
11285 #define MC_CMD_INIT_EVQ_V3_IN_COUNT_THRSHLD_LEN 4
11286 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11290 #define MC_CMD_INIT_EVQ_V3_IN_DMA_ADDR_LO_LEN 4
11294 #define MC_CMD_INIT_EVQ_V3_IN_DMA_ADDR_HI_LEN 4
11306 #define MC_CMD_INIT_EVQ_V3_IN_RX_MERGE_TIMEOUT_NS_LEN 4
11313 #define MC_CMD_INIT_EVQ_V3_IN_TX_MERGE_TIMEOUT_NS_LEN 4
11319 #define MC_CMD_INIT_EVQ_V3_OUT_IRQ_LEN 4
11321 #define MC_CMD_INIT_EVQ_V3_OUT_FLAGS_OFST 4
11322 #define MC_CMD_INIT_EVQ_V3_OUT_FLAGS_LEN 4
11323 #define MC_CMD_INIT_EVQ_V3_OUT_FLAG_CUT_THRU_OFST 4
11326 #define MC_CMD_INIT_EVQ_V3_OUT_FLAG_RX_MERGE_OFST 4
11329 #define MC_CMD_INIT_EVQ_V3_OUT_FLAG_TX_MERGE_OFST 4
11332 #define MC_CMD_INIT_EVQ_V3_OUT_FLAG_RXQ_FORCE_EV_MERGING_OFST 4
11339 * set up a receive queue according to the supplied parameters. The IN
11340 * arguments end with an address for each 4k of host memory required to back
11358 #define MC_CMD_INIT_RXQ_IN_SIZE_LEN 4
11361 #define MC_CMD_INIT_RXQ_IN_TARGET_EVQ_OFST 4
11362 #define MC_CMD_INIT_RXQ_IN_TARGET_EVQ_LEN 4
11365 #define MC_CMD_INIT_RXQ_IN_LABEL_LEN 4
11366 /* Desired instance. Must be set to a specific instance, which is a function
11371 #define MC_CMD_INIT_RXQ_IN_INSTANCE_LEN 4
11374 #define MC_CMD_INIT_RXQ_IN_FLAGS_LEN 4
11386 #define MC_CMD_INIT_RXQ_IN_CRC_MODE_WIDTH 4
11401 #define MC_CMD_INIT_RXQ_IN_OWNER_ID_LEN 4
11404 #define MC_CMD_INIT_RXQ_IN_PORT_ID_LEN 4
11405 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11409 #define MC_CMD_INIT_RXQ_IN_DMA_ADDR_LO_LEN 4
11413 #define MC_CMD_INIT_RXQ_IN_DMA_ADDR_HI_LEN 4
11426 #define MC_CMD_INIT_RXQ_EXT_IN_SIZE_LEN 4
11430 #define MC_CMD_INIT_RXQ_EXT_IN_TARGET_EVQ_OFST 4
11431 #define MC_CMD_INIT_RXQ_EXT_IN_TARGET_EVQ_LEN 4
11437 #define MC_CMD_INIT_RXQ_EXT_IN_LABEL_LEN 4
11438 /* Desired instance. Must be set to a specific instance, which is a function
11443 #define MC_CMD_INIT_RXQ_EXT_IN_INSTANCE_LEN 4
11446 #define MC_CMD_INIT_RXQ_EXT_IN_FLAGS_LEN 4
11458 #define MC_CMD_INIT_RXQ_EXT_IN_CRC_MODE_WIDTH 4
11470 #define MC_CMD_INIT_RXQ_EXT_IN_DMA_MODE_WIDTH 4
11477 * multiple fixed-size packet buffers within each bucket. For a full
11509 #define MC_CMD_INIT_RXQ_EXT_IN_OWNER_ID_LEN 4
11512 #define MC_CMD_INIT_RXQ_EXT_IN_PORT_ID_LEN 4
11513 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11517 #define MC_CMD_INIT_RXQ_EXT_IN_DMA_ADDR_LO_LEN 4
11521 #define MC_CMD_INIT_RXQ_EXT_IN_DMA_ADDR_HI_LEN 4
11529 #define MC_CMD_INIT_RXQ_EXT_IN_SNAPSHOT_LENGTH_LEN 4
11535 #define MC_CMD_INIT_RXQ_V3_IN_SIZE_LEN 4
11539 #define MC_CMD_INIT_RXQ_V3_IN_TARGET_EVQ_OFST 4
11540 #define MC_CMD_INIT_RXQ_V3_IN_TARGET_EVQ_LEN 4
11546 #define MC_CMD_INIT_RXQ_V3_IN_LABEL_LEN 4
11547 /* Desired instance. Must be set to a specific instance, which is a function
11552 #define MC_CMD_INIT_RXQ_V3_IN_INSTANCE_LEN 4
11555 #define MC_CMD_INIT_RXQ_V3_IN_FLAGS_LEN 4
11567 #define MC_CMD_INIT_RXQ_V3_IN_CRC_MODE_WIDTH 4
11579 #define MC_CMD_INIT_RXQ_V3_IN_DMA_MODE_WIDTH 4
11586 * multiple fixed-size packet buffers within each bucket. For a full
11618 #define MC_CMD_INIT_RXQ_V3_IN_OWNER_ID_LEN 4
11621 #define MC_CMD_INIT_RXQ_V3_IN_PORT_ID_LEN 4
11622 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11626 #define MC_CMD_INIT_RXQ_V3_IN_DMA_ADDR_LO_LEN 4
11630 #define MC_CMD_INIT_RXQ_V3_IN_DMA_ADDR_HI_LEN 4
11638 #define MC_CMD_INIT_RXQ_V3_IN_SNAPSHOT_LENGTH_LEN 4
11644 #define MC_CMD_INIT_RXQ_V3_IN_ES_PACKET_BUFFERS_PER_BUCKET_LEN 4
11651 #define MC_CMD_INIT_RXQ_V3_IN_ES_MAX_DMA_LEN_LEN 4
11652 /* The length in bytes of a single packet buffer within a
11657 #define MC_CMD_INIT_RXQ_V3_IN_ES_PACKET_STRIDE_LEN 4
11660 * are still no descriptors then the packet will be dropped. A timeout of 0
11665 #define MC_CMD_INIT_RXQ_V3_IN_ES_HEAD_OF_LINE_BLOCK_TIMEOUT_LEN 4
11668 * for systems with a QDMA (currently, Riverhead)
11673 #define MC_CMD_INIT_RXQ_V4_IN_SIZE_LEN 4
11677 #define MC_CMD_INIT_RXQ_V4_IN_TARGET_EVQ_OFST 4
11678 #define MC_CMD_INIT_RXQ_V4_IN_TARGET_EVQ_LEN 4
11684 #define MC_CMD_INIT_RXQ_V4_IN_LABEL_LEN 4
11685 /* Desired instance. Must be set to a specific instance, which is a function
11690 #define MC_CMD_INIT_RXQ_V4_IN_INSTANCE_LEN 4
11693 #define MC_CMD_INIT_RXQ_V4_IN_FLAGS_LEN 4
11705 #define MC_CMD_INIT_RXQ_V4_IN_CRC_MODE_WIDTH 4
11717 #define MC_CMD_INIT_RXQ_V4_IN_DMA_MODE_WIDTH 4
11724 * multiple fixed-size packet buffers within each bucket. For a full
11756 #define MC_CMD_INIT_RXQ_V4_IN_OWNER_ID_LEN 4
11759 #define MC_CMD_INIT_RXQ_V4_IN_PORT_ID_LEN 4
11760 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11764 #define MC_CMD_INIT_RXQ_V4_IN_DMA_ADDR_LO_LEN 4
11768 #define MC_CMD_INIT_RXQ_V4_IN_DMA_ADDR_HI_LEN 4
11776 #define MC_CMD_INIT_RXQ_V4_IN_SNAPSHOT_LENGTH_LEN 4
11782 #define MC_CMD_INIT_RXQ_V4_IN_ES_PACKET_BUFFERS_PER_BUCKET_LEN 4
11789 #define MC_CMD_INIT_RXQ_V4_IN_ES_MAX_DMA_LEN_LEN 4
11790 /* The length in bytes of a single packet buffer within a
11795 #define MC_CMD_INIT_RXQ_V4_IN_ES_PACKET_STRIDE_LEN 4
11798 * are still no descriptors then the packet will be dropped. A timeout of 0
11803 #define MC_CMD_INIT_RXQ_V4_IN_ES_HEAD_OF_LINE_BLOCK_TIMEOUT_LEN 4
11806 #define MC_CMD_INIT_RXQ_V4_IN_V4_DATA_LEN 4
11809 * Riverhead there is a global limit of eight different buffer sizes across all
11810 * active queues. A 2KB and 4KB buffer is guaranteed to be available, but a
11811 * request for a different buffer size will fail if there are already eight
11816 #define MC_CMD_INIT_RXQ_V4_IN_BUFFER_SIZE_BYTES_LEN 4
11818 /* MC_CMD_INIT_RXQ_V5_IN msgrequest: INIT_RXQ request with ability to request a
11824 #define MC_CMD_INIT_RXQ_V5_IN_SIZE_LEN 4
11828 #define MC_CMD_INIT_RXQ_V5_IN_TARGET_EVQ_OFST 4
11829 #define MC_CMD_INIT_RXQ_V5_IN_TARGET_EVQ_LEN 4
11835 #define MC_CMD_INIT_RXQ_V5_IN_LABEL_LEN 4
11836 /* Desired instance. Must be set to a specific instance, which is a function
11841 #define MC_CMD_INIT_RXQ_V5_IN_INSTANCE_LEN 4
11844 #define MC_CMD_INIT_RXQ_V5_IN_FLAGS_LEN 4
11856 #define MC_CMD_INIT_RXQ_V5_IN_CRC_MODE_WIDTH 4
11868 #define MC_CMD_INIT_RXQ_V5_IN_DMA_MODE_WIDTH 4
11875 * multiple fixed-size packet buffers within each bucket. For a full
11907 #define MC_CMD_INIT_RXQ_V5_IN_OWNER_ID_LEN 4
11910 #define MC_CMD_INIT_RXQ_V5_IN_PORT_ID_LEN 4
11911 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11915 #define MC_CMD_INIT_RXQ_V5_IN_DMA_ADDR_LO_LEN 4
11919 #define MC_CMD_INIT_RXQ_V5_IN_DMA_ADDR_HI_LEN 4
11927 #define MC_CMD_INIT_RXQ_V5_IN_SNAPSHOT_LENGTH_LEN 4
11933 #define MC_CMD_INIT_RXQ_V5_IN_ES_PACKET_BUFFERS_PER_BUCKET_LEN 4
11940 #define MC_CMD_INIT_RXQ_V5_IN_ES_MAX_DMA_LEN_LEN 4
11941 /* The length in bytes of a single packet buffer within a
11946 #define MC_CMD_INIT_RXQ_V5_IN_ES_PACKET_STRIDE_LEN 4
11949 * are still no descriptors then the packet will be dropped. A timeout of 0
11954 #define MC_CMD_INIT_RXQ_V5_IN_ES_HEAD_OF_LINE_BLOCK_TIMEOUT_LEN 4
11957 #define MC_CMD_INIT_RXQ_V5_IN_V4_DATA_LEN 4
11960 * Riverhead there is a global limit of eight different buffer sizes across all
11961 * active queues. A 2KB and 4KB buffer is guaranteed to be available, but a
11962 * request for a different buffer size will fail if there are already eight
11967 #define MC_CMD_INIT_RXQ_V5_IN_BUFFER_SIZE_BYTES_LEN 4
11969 * Zero is always a valid prefix id and means the default prefix format
11971 * MC_CMD_GET_RX_PREFIX_ID with a requested set of prefix fields.
11974 #define MC_CMD_INIT_RXQ_V5_IN_RX_PREFIX_ID_LEN 4
12010 #define MC_CMD_INIT_TXQ_IN_SIZE_LEN 4
12014 #define MC_CMD_INIT_TXQ_IN_TARGET_EVQ_OFST 4
12015 #define MC_CMD_INIT_TXQ_IN_TARGET_EVQ_LEN 4
12018 #define MC_CMD_INIT_TXQ_IN_LABEL_LEN 4
12019 /* Desired instance. Must be set to a specific instance, which is a function
12024 #define MC_CMD_INIT_TXQ_IN_INSTANCE_LEN 4
12027 #define MC_CMD_INIT_TXQ_IN_FLAGS_LEN 4
12041 #define MC_CMD_INIT_TXQ_IN_CRC_MODE_LBN 4
12042 #define MC_CMD_INIT_TXQ_IN_CRC_MODE_WIDTH 4
12057 #define MC_CMD_INIT_TXQ_IN_OWNER_ID_LEN 4
12060 #define MC_CMD_INIT_TXQ_IN_PORT_ID_LEN 4
12061 /* 64-bit address of 4k of 4k-aligned host memory buffer */
12065 #define MC_CMD_INIT_TXQ_IN_DMA_ADDR_LO_LEN 4
12069 #define MC_CMD_INIT_TXQ_IN_DMA_ADDR_HI_LEN 4
12082 #define MC_CMD_INIT_TXQ_EXT_IN_SIZE_LEN 4
12086 #define MC_CMD_INIT_TXQ_EXT_IN_TARGET_EVQ_OFST 4
12087 #define MC_CMD_INIT_TXQ_EXT_IN_TARGET_EVQ_LEN 4
12090 #define MC_CMD_INIT_TXQ_EXT_IN_LABEL_LEN 4
12091 /* Desired instance. Must be set to a specific instance, which is a function
12096 #define MC_CMD_INIT_TXQ_EXT_IN_INSTANCE_LEN 4
12099 #define MC_CMD_INIT_TXQ_EXT_IN_FLAGS_LEN 4
12113 #define MC_CMD_INIT_TXQ_EXT_IN_CRC_MODE_LBN 4
12114 #define MC_CMD_INIT_TXQ_EXT_IN_CRC_MODE_WIDTH 4
12147 #define MC_CMD_INIT_TXQ_EXT_IN_OWNER_ID_LEN 4
12150 #define MC_CMD_INIT_TXQ_EXT_IN_PORT_ID_LEN 4
12151 /* 64-bit address of 4k of 4k-aligned host memory buffer */
12155 #define MC_CMD_INIT_TXQ_EXT_IN_DMA_ADDR_LO_LEN 4
12159 #define MC_CMD_INIT_TXQ_EXT_IN_DMA_ADDR_HI_LEN 4
12167 #define MC_CMD_INIT_TXQ_EXT_IN_QBB_FLAGS_LEN 4
12192 #define MC_CMD_FINI_EVQ_IN_LEN 4
12197 #define MC_CMD_FINI_EVQ_IN_INSTANCE_LEN 4
12205 * Teardown a RXQ.
12213 #define MC_CMD_FINI_RXQ_IN_LEN 4
12216 #define MC_CMD_FINI_RXQ_IN_INSTANCE_LEN 4
12224 * Teardown a TXQ.
12232 #define MC_CMD_FINI_TXQ_IN_LEN 4
12235 #define MC_CMD_FINI_TXQ_IN_INSTANCE_LEN 4
12254 #define MC_CMD_DRIVER_EVENT_IN_EVQ_LEN 4
12256 #define MC_CMD_DRIVER_EVENT_IN_DATA_OFST 4
12258 #define MC_CMD_DRIVER_EVENT_IN_DATA_LO_OFST 4
12259 #define MC_CMD_DRIVER_EVENT_IN_DATA_LO_LEN 4
12263 #define MC_CMD_DRIVER_EVENT_IN_DATA_HI_LEN 4
12273 * Execute an arbitrary MCDI command on behalf of a different function, subject
12284 #define MC_CMD_PROXY_CMD_IN_LEN 4
12287 #define MC_CMD_PROXY_CMD_IN_TARGET_LEN 4
12313 #define MC_CMD_FILTER_OP_IN_OP_LEN 4
12327 #define MC_CMD_FILTER_OP_IN_HANDLE_OFST 4
12329 #define MC_CMD_FILTER_OP_IN_HANDLE_LO_OFST 4
12330 #define MC_CMD_FILTER_OP_IN_HANDLE_LO_LEN 4
12334 #define MC_CMD_FILTER_OP_IN_HANDLE_HI_LEN 4
12340 #define MC_CMD_FILTER_OP_IN_PORT_ID_LEN 4
12343 #define MC_CMD_FILTER_OP_IN_MATCH_FIELDS_LEN 4
12357 #define MC_CMD_FILTER_OP_IN_MATCH_DST_MAC_LBN 4
12391 #define MC_CMD_FILTER_OP_IN_RX_DEST_LEN 4
12404 #define MC_CMD_FILTER_OP_IN_RX_QUEUE_LEN 4
12407 #define MC_CMD_FILTER_OP_IN_RX_MODE_LEN 4
12414 /* enum: install a filter entry that will never match; for test purposes only
12422 #define MC_CMD_FILTER_OP_IN_RX_CONTEXT_LEN 4
12425 #define MC_CMD_FILTER_OP_IN_TX_DOMAIN_LEN 4
12431 #define MC_CMD_FILTER_OP_IN_TX_DEST_LEN 4
12466 #define MC_CMD_FILTER_OP_IN_FWDEF0_LEN 4
12469 #define MC_CMD_FILTER_OP_IN_FWDEF1_LEN 4
12488 #define MC_CMD_FILTER_OP_EXT_IN_OP_LEN 4
12492 #define MC_CMD_FILTER_OP_EXT_IN_HANDLE_OFST 4
12494 #define MC_CMD_FILTER_OP_EXT_IN_HANDLE_LO_OFST 4
12495 #define MC_CMD_FILTER_OP_EXT_IN_HANDLE_LO_LEN 4
12499 #define MC_CMD_FILTER_OP_EXT_IN_HANDLE_HI_LEN 4
12505 #define MC_CMD_FILTER_OP_EXT_IN_PORT_ID_LEN 4
12508 #define MC_CMD_FILTER_OP_EXT_IN_MATCH_FIELDS_LEN 4
12522 #define MC_CMD_FILTER_OP_EXT_IN_MATCH_DST_MAC_LBN 4
12598 #define MC_CMD_FILTER_OP_EXT_IN_RX_DEST_LEN 4
12611 #define MC_CMD_FILTER_OP_EXT_IN_RX_QUEUE_LEN 4
12614 #define MC_CMD_FILTER_OP_EXT_IN_RX_MODE_LEN 4
12621 /* enum: install a filter entry that will never match; for test purposes only
12629 #define MC_CMD_FILTER_OP_EXT_IN_RX_CONTEXT_LEN 4
12632 #define MC_CMD_FILTER_OP_EXT_IN_TX_DOMAIN_LEN 4
12638 #define MC_CMD_FILTER_OP_EXT_IN_TX_DEST_LEN 4
12673 #define MC_CMD_FILTER_OP_EXT_IN_FWDEF0_LEN 4
12679 #define MC_CMD_FILTER_OP_EXT_IN_VNI_OR_VSID_LEN 4
12749 #define MC_CMD_FILTER_OP_EXT_IN_IFRM_FWDEF0_LEN 4
12754 #define MC_CMD_FILTER_OP_EXT_IN_IFRM_FWDEF1_LEN 4
12776 #define MC_CMD_FILTER_OP_V3_IN_OP_LEN 4
12780 #define MC_CMD_FILTER_OP_V3_IN_HANDLE_OFST 4
12782 #define MC_CMD_FILTER_OP_V3_IN_HANDLE_LO_OFST 4
12783 #define MC_CMD_FILTER_OP_V3_IN_HANDLE_LO_LEN 4
12787 #define MC_CMD_FILTER_OP_V3_IN_HANDLE_HI_LEN 4
12793 #define MC_CMD_FILTER_OP_V3_IN_PORT_ID_LEN 4
12796 #define MC_CMD_FILTER_OP_V3_IN_MATCH_FIELDS_LEN 4
12810 #define MC_CMD_FILTER_OP_V3_IN_MATCH_DST_MAC_LBN 4
12886 #define MC_CMD_FILTER_OP_V3_IN_RX_DEST_LEN 4
12899 #define MC_CMD_FILTER_OP_V3_IN_RX_QUEUE_LEN 4
12902 #define MC_CMD_FILTER_OP_V3_IN_RX_MODE_LEN 4
12909 /* enum: install a filter entry that will never match; for test purposes only
12917 #define MC_CMD_FILTER_OP_V3_IN_RX_CONTEXT_LEN 4
12920 #define MC_CMD_FILTER_OP_V3_IN_TX_DOMAIN_LEN 4
12926 #define MC_CMD_FILTER_OP_V3_IN_TX_DEST_LEN 4
12961 #define MC_CMD_FILTER_OP_V3_IN_FWDEF0_LEN 4
12967 #define MC_CMD_FILTER_OP_V3_IN_VNI_OR_VSID_LEN 4
13037 #define MC_CMD_FILTER_OP_V3_IN_IFRM_FWDEF0_LEN 4
13042 #define MC_CMD_FILTER_OP_V3_IN_IFRM_FWDEF1_LEN 4
13060 * field. For the cases where these flags induce a valid encoding of the
13064 #define MC_CMD_FILTER_OP_V3_IN_MATCH_ACTION_FLAGS_LEN 4
13078 #define MC_CMD_FILTER_OP_V3_IN_MATCH_STRIP_VLAN_LBN 4
13091 #define MC_CMD_FILTER_OP_V3_IN_MATCH_ACTION_LEN 4
13104 /* the mark value for MATCH_ACTION_MARK. Requesting a value larger than the
13109 #define MC_CMD_FILTER_OP_V3_IN_MATCH_MARK_VALUE_LEN 4
13115 #define MC_CMD_FILTER_OP_OUT_OP_LEN 4
13119 * handles should be considered opaque to the host, although a value of
13120 * 0xFFFFFFFF_FFFFFFFF is guaranteed never to be a valid handle.
13122 #define MC_CMD_FILTER_OP_OUT_HANDLE_OFST 4
13124 #define MC_CMD_FILTER_OP_OUT_HANDLE_LO_OFST 4
13125 #define MC_CMD_FILTER_OP_OUT_HANDLE_LO_LEN 4
13129 #define MC_CMD_FILTER_OP_OUT_HANDLE_HI_LEN 4
13141 #define MC_CMD_FILTER_OP_EXT_OUT_OP_LEN 4
13145 * handles should be considered opaque to the host, although a value of
13146 * 0xFFFFFFFF_FFFFFFFF is guaranteed never to be a valid handle.
13148 #define MC_CMD_FILTER_OP_EXT_OUT_HANDLE_OFST 4
13150 #define MC_CMD_FILTER_OP_EXT_OUT_HANDLE_LO_OFST 4
13151 #define MC_CMD_FILTER_OP_EXT_OUT_HANDLE_LO_LEN 4
13155 #define MC_CMD_FILTER_OP_EXT_OUT_HANDLE_HI_LEN 4
13172 #define MC_CMD_GET_PARSER_DISP_INFO_IN_LEN 4
13175 #define MC_CMD_GET_PARSER_DISP_INFO_IN_OP_LEN 4
13187 * encapsulated frames, which follow a different match sequence to normal
13206 #define MC_CMD_GET_PARSER_DISP_INFO_OUT_LEN(num) (8+4*(num))
13207 #define MC_CMD_GET_PARSER_DISP_INFO_OUT_SUPPORTED_MATCHES_NUM(len) (((len)-8)/4)
13210 #define MC_CMD_GET_PARSER_DISP_INFO_OUT_OP_LEN 4
13214 #define MC_CMD_GET_PARSER_DISP_INFO_OUT_NUM_SUPPORTED_MATCHES_OFST 4
13215 #define MC_CMD_GET_PARSER_DISP_INFO_OUT_NUM_SUPPORTED_MATCHES_LEN 4
13220 #define MC_CMD_GET_PARSER_DISP_INFO_OUT_SUPPORTED_MATCHES_LEN 4
13229 #define MC_CMD_GET_PARSER_DISP_RESTRICTIONS_OUT_OP_LEN 4
13233 #define MC_CMD_GET_PARSER_DISP_RESTRICTIONS_OUT_RESTRICTION_FLAGS_OFST 4
13234 #define MC_CMD_GET_PARSER_DISP_RESTRICTIONS_OUT_RESTRICTION_FLAGS_LEN 4
13235 #define MC_CMD_GET_PARSER_DISP_RESTRICTIONS_OUT_DST_IP_MCAST_ONLY_OFST 4
13249 #define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_OP_LEN 4
13252 /* a version number representing the set of rule lookups that are implemented
13255 #define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_RULES_VERSION_OFST 4
13256 #define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_RULES_VERSION_LEN 4
13261 #define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_SUBNET_MAP_NUM_NODES_LEN 4
13264 #define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_SUBNET_MAP_NUM_ENTRIES_PER_NODE_LEN 4
13265 /* minimum valid value for a subnet ID in a subnet map leaf */
13267 #define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_SUBNET_ID_MIN_LEN 4
13268 /* maximum valid value for a subnet ID in a subnet map leaf */
13270 #define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_SUBNET_ID_MAX_LEN 4
13273 #define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_PORTRANGE_TREE_NUM_ENTRIES_LEN 4
13274 /* minimum valid value for a portrange ID in a port range map leaf */
13276 #define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_PORTRANGE_ID_MIN_LEN 4
13277 /* maximum valid value for a portrange ID in a port range map leaf */
13279 #define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_PORTRANGE_ID_MAX_LEN 4
13282 * returned if a MC_CMD_GET_PARSER_DISP_INFO_IN request is sent with OP value
13290 #define MC_CMD_GET_PARSER_DISP_VNIC_ENCAP_MATCHES_OUT_LEN(num) (8+4*(num))
13291 #define MC_CMD_GET_PARSER_DISP_VNIC_ENCAP_MATCHES_OUT_SUPPORTED_MATCHES_NUM(len) (((len)-8)/4)
13294 #define MC_CMD_GET_PARSER_DISP_VNIC_ENCAP_MATCHES_OUT_OP_LEN 4
13298 #define MC_CMD_GET_PARSER_DISP_VNIC_ENCAP_MATCHES_OUT_NUM_SUPPORTED_MATCHES_OFST 4
13299 #define MC_CMD_GET_PARSER_DISP_VNIC_ENCAP_MATCHES_OUT_NUM_SUPPORTED_MATCHES_LEN 4
13304 #define MC_CMD_GET_PARSER_DISP_VNIC_ENCAP_MATCHES_OUT_SUPPORTED_MATCHES_LEN 4
13315 #define MC_CMD_GET_PARSER_DISP_SUPPORTED_VNIC_ENCAP_TYPES_OUT_OP_LEN 4
13318 #define MC_CMD_GET_PARSER_DISP_SUPPORTED_VNIC_ENCAP_TYPES_OUT_ENCAP_TYPES_SUPPORTED_OFST 4
13319 #define MC_CMD_GET_PARSER_DISP_SUPPORTED_VNIC_ENCAP_TYPES_OUT_ENCAP_TYPES_SUPPORTED_LEN 4
13320 #define MC_CMD_GET_PARSER_DISP_SUPPORTED_VNIC_ENCAP_TYPES_OUT_ENCAP_TYPE_VXLAN_OFST 4
13323 #define MC_CMD_GET_PARSER_DISP_SUPPORTED_VNIC_ENCAP_TYPES_OUT_ENCAP_TYPE_NVGRE_OFST 4
13326 #define MC_CMD_GET_PARSER_DISP_SUPPORTED_VNIC_ENCAP_TYPES_OUT_ENCAP_TYPE_GENEVE_OFST 4
13329 #define MC_CMD_GET_PARSER_DISP_SUPPORTED_VNIC_ENCAP_TYPES_OUT_ENCAP_TYPE_L2GRE_OFST 4
13347 #define MC_CMD_GET_PORT_ASSIGNMENT_OUT_LEN 4
13350 * yet configured, or assigning a port to a given function personality makes no
13354 #define MC_CMD_GET_PORT_ASSIGNMENT_OUT_PORT_LEN 4
13355 /* enum: Special value to indicate no port is assigned to a function. */
13372 #define MC_CMD_ALLOC_VIS_IN_MIN_VI_COUNT_LEN 4
13374 #define MC_CMD_ALLOC_VIS_IN_MAX_VI_COUNT_OFST 4
13375 #define MC_CMD_ALLOC_VIS_IN_MAX_VI_COUNT_LEN 4
13383 #define MC_CMD_ALLOC_VIS_OUT_VI_COUNT_LEN 4
13387 #define MC_CMD_ALLOC_VIS_OUT_VI_BASE_OFST 4
13388 #define MC_CMD_ALLOC_VIS_OUT_VI_BASE_LEN 4
13394 #define MC_CMD_ALLOC_VIS_EXT_OUT_VI_COUNT_LEN 4
13398 #define MC_CMD_ALLOC_VIS_EXT_OUT_VI_BASE_OFST 4
13399 #define MC_CMD_ALLOC_VIS_EXT_OUT_VI_BASE_LEN 4
13402 #define MC_CMD_ALLOC_VIS_EXT_OUT_VI_SHIFT_LEN 4
13438 #define MC_CMD_GET_SRIOV_CFG_OUT_VF_CURRENT_LEN 4
13440 #define MC_CMD_GET_SRIOV_CFG_OUT_VF_MAX_OFST 4
13441 #define MC_CMD_GET_SRIOV_CFG_OUT_VF_MAX_LEN 4
13443 #define MC_CMD_GET_SRIOV_CFG_OUT_FLAGS_LEN 4
13449 #define MC_CMD_GET_SRIOV_CFG_OUT_VF_OFFSET_LEN 4
13452 #define MC_CMD_GET_SRIOV_CFG_OUT_VF_STRIDE_LEN 4
13457 * Allocate a push I/O buffer for later use with a tx queue.
13468 #define MC_CMD_ALLOC_PIOBUF_OUT_LEN 4
13471 #define MC_CMD_ALLOC_PIOBUF_OUT_PIOBUF_HANDLE_LEN 4
13476 * Free a push I/O buffer.
13484 #define MC_CMD_FREE_PIOBUF_IN_LEN 4
13487 #define MC_CMD_FREE_PIOBUF_IN_PIOBUF_HANDLE_LEN 4
13495 * Get TLP steering and ordering information for a VI. The caller must have the
13505 #define MC_CMD_GET_VI_TLP_PROCESSING_IN_LEN 4
13508 #define MC_CMD_GET_VI_TLP_PROCESSING_IN_INSTANCE_LEN 4
13514 #define MC_CMD_GET_VI_TLP_PROCESSING_V2_OUT_LEN 4
13516 #define MC_CMD_GET_VI_TLP_PROCESSING_V2_OUT_DATA_LEN 4
13545 * Set TLP steering and ordering information for a VI. The caller must have the
13549 * of the queue. TLP options of a queue are fixed after queue is initialised,
13565 #define MC_CMD_SET_VI_TLP_PROCESSING_V2_IN_INSTANCE_LEN 4
13566 #define MC_CMD_SET_VI_TLP_PROCESSING_V2_IN_DATA_OFST 4
13567 #define MC_CMD_SET_VI_TLP_PROCESSING_V2_IN_DATA_LEN 4
13568 #define MC_CMD_SET_VI_TLP_PROCESSING_V2_IN_TPH_TAG1_RX_OFST 4
13571 #define MC_CMD_SET_VI_TLP_PROCESSING_V2_IN_TPH_TAG2_EV_OFST 4
13574 #define MC_CMD_SET_VI_TLP_PROCESSING_V2_IN_RELAXED_ORDERING_OFST 4
13577 #define MC_CMD_SET_VI_TLP_PROCESSING_V2_IN_RELAXED_ORDERING_PACKET_DATA_OFST 4
13580 #define MC_CMD_SET_VI_TLP_PROCESSING_V2_IN_ID_BASED_ORDERING_OFST 4
13583 #define MC_CMD_SET_VI_TLP_PROCESSING_V2_IN_NO_SNOOP_OFST 4
13586 #define MC_CMD_SET_VI_TLP_PROCESSING_V2_IN_TPH_ON_OFST 4
13589 #define MC_CMD_SET_VI_TLP_PROCESSING_V2_IN_RELAXED_ORDERING_SYNC_DATA_OFST 4
13615 #define MC_CMD_GET_CAPABILITIES_OUT_FLAGS1_LEN 4
13620 #define MC_CMD_GET_CAPABILITIES_OUT_TX_STRIPING_LBN 4
13704 #define MC_CMD_GET_CAPABILITIES_OUT_RX_DPCPU_FW_ID_OFST 4
13724 /* enum: RXDP Test firmware image 4 */
13766 #define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
13817 #define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
13856 #define MC_CMD_GET_CAPABILITIES_OUT_HW_CAPABILITIES_LEN 4
13859 #define MC_CMD_GET_CAPABILITIES_OUT_LICENSE_CAPABILITIES_LEN 4
13868 #define MC_CMD_GET_CAPABILITIES_V2_OUT_FLAGS1_LEN 4
13873 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_STRIPING_LBN 4
13957 #define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_DPCPU_FW_ID_OFST 4
13977 /* enum: RXDP Test firmware image 4 */
14019 #define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
14070 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
14109 #define MC_CMD_GET_CAPABILITIES_V2_OUT_HW_CAPABILITIES_LEN 4
14112 #define MC_CMD_GET_CAPABILITIES_V2_OUT_LICENSE_CAPABILITIES_LEN 4
14115 #define MC_CMD_GET_CAPABILITIES_V2_OUT_FLAGS2_LEN 4
14129 #define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_CUT_THROUGH_LBN 4
14224 * PF, indexed by PF number. Special values indicate that a PF is either not
14237 * in this field. It is intended for a possible future situation where a more
14239 * should look for a new field supporting the new scheme. The current/old
14243 /* One byte per PF containing the number of its VFs, indexed by PF number. A
14244 * special value indicates that a PF is not present.
14259 #define MC_CMD_GET_CAPABILITIES_V2_OUT_NUM_VIS_PER_PORT_NUM 4
14273 /* Size of a single PIO buffer */
14281 #define MC_CMD_GET_CAPABILITIES_V3_OUT_FLAGS1_LEN 4
14286 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_STRIPING_LBN 4
14370 #define MC_CMD_GET_CAPABILITIES_V3_OUT_RX_DPCPU_FW_ID_OFST 4
14390 /* enum: RXDP Test firmware image 4 */
14432 #define MC_CMD_GET_CAPABILITIES_V3_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
14483 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
14522 #define MC_CMD_GET_CAPABILITIES_V3_OUT_HW_CAPABILITIES_LEN 4
14525 #define MC_CMD_GET_CAPABILITIES_V3_OUT_LICENSE_CAPABILITIES_LEN 4
14528 #define MC_CMD_GET_CAPABILITIES_V3_OUT_FLAGS2_LEN 4
14542 #define MC_CMD_GET_CAPABILITIES_V3_OUT_RX_CUT_THROUGH_LBN 4
14637 * PF, indexed by PF number. Special values indicate that a PF is either not
14650 * in this field. It is intended for a possible future situation where a more
14652 * should look for a new field supporting the new scheme. The current/old
14656 /* One byte per PF containing the number of its VFs, indexed by PF number. A
14657 * special value indicates that a PF is not present.
14672 #define MC_CMD_GET_CAPABILITIES_V3_OUT_NUM_VIS_PER_PORT_NUM 4
14686 /* Size of a single PIO buffer */
14690 * is configurable. This is a global setting that the driver must query to
14696 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
14700 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
14702 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
14719 #define MC_CMD_GET_CAPABILITIES_V4_OUT_FLAGS1_LEN 4
14724 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_STRIPING_LBN 4
14808 #define MC_CMD_GET_CAPABILITIES_V4_OUT_RX_DPCPU_FW_ID_OFST 4
14828 /* enum: RXDP Test firmware image 4 */
14870 #define MC_CMD_GET_CAPABILITIES_V4_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
14921 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
14960 #define MC_CMD_GET_CAPABILITIES_V4_OUT_HW_CAPABILITIES_LEN 4
14963 #define MC_CMD_GET_CAPABILITIES_V4_OUT_LICENSE_CAPABILITIES_LEN 4
14966 #define MC_CMD_GET_CAPABILITIES_V4_OUT_FLAGS2_LEN 4
14980 #define MC_CMD_GET_CAPABILITIES_V4_OUT_RX_CUT_THROUGH_LBN 4
15075 * PF, indexed by PF number. Special values indicate that a PF is either not
15088 * in this field. It is intended for a possible future situation where a more
15090 * should look for a new field supporting the new scheme. The current/old
15094 /* One byte per PF containing the number of its VFs, indexed by PF number. A
15095 * special value indicates that a PF is not present.
15110 #define MC_CMD_GET_CAPABILITIES_V4_OUT_NUM_VIS_PER_PORT_NUM 4
15124 /* Size of a single PIO buffer */
15128 * is configurable. This is a global setting that the driver must query to
15134 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
15138 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
15140 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
15153 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
15165 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FLAGS1_LEN 4
15170 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_STRIPING_LBN 4
15254 #define MC_CMD_GET_CAPABILITIES_V5_OUT_RX_DPCPU_FW_ID_OFST 4
15274 /* enum: RXDP Test firmware image 4 */
15316 #define MC_CMD_GET_CAPABILITIES_V5_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
15367 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
15406 #define MC_CMD_GET_CAPABILITIES_V5_OUT_HW_CAPABILITIES_LEN 4
15409 #define MC_CMD_GET_CAPABILITIES_V5_OUT_LICENSE_CAPABILITIES_LEN 4
15412 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FLAGS2_LEN 4
15426 #define MC_CMD_GET_CAPABILITIES_V5_OUT_RX_CUT_THROUGH_LBN 4
15521 * PF, indexed by PF number. Special values indicate that a PF is either not
15534 * in this field. It is intended for a possible future situation where a more
15536 * should look for a new field supporting the new scheme. The current/old
15540 /* One byte per PF containing the number of its VFs, indexed by PF number. A
15541 * special value indicates that a PF is not present.
15556 #define MC_CMD_GET_CAPABILITIES_V5_OUT_NUM_VIS_PER_PORT_NUM 4
15570 /* Size of a single PIO buffer */
15574 * is configurable. This is a global setting that the driver must query to
15580 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
15584 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
15586 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
15599 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
15610 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FILTER_ACTION_MARK_MAX_LEN 4
15616 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FLAGS1_LEN 4
15621 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_STRIPING_LBN 4
15705 #define MC_CMD_GET_CAPABILITIES_V6_OUT_RX_DPCPU_FW_ID_OFST 4
15725 /* enum: RXDP Test firmware image 4 */
15767 #define MC_CMD_GET_CAPABILITIES_V6_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
15818 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
15857 #define MC_CMD_GET_CAPABILITIES_V6_OUT_HW_CAPABILITIES_LEN 4
15860 #define MC_CMD_GET_CAPABILITIES_V6_OUT_LICENSE_CAPABILITIES_LEN 4
15863 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FLAGS2_LEN 4
15877 #define MC_CMD_GET_CAPABILITIES_V6_OUT_RX_CUT_THROUGH_LBN 4
15972 * PF, indexed by PF number. Special values indicate that a PF is either not
15985 * in this field. It is intended for a possible future situation where a more
15987 * should look for a new field supporting the new scheme. The current/old
15991 /* One byte per PF containing the number of its VFs, indexed by PF number. A
15992 * special value indicates that a PF is not present.
16007 #define MC_CMD_GET_CAPABILITIES_V6_OUT_NUM_VIS_PER_PORT_NUM 4
16021 /* Size of a single PIO buffer */
16025 * is configurable. This is a global setting that the driver must query to
16031 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
16035 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
16037 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
16050 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
16061 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FILTER_ACTION_MARK_MAX_LEN 4
16063 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
16064 * they create an RX queue. Due to hardware limitations, only a small number of
16071 #define MC_CMD_GET_CAPABILITIES_V6_OUT_GUARANTEED_RX_BUFFER_SIZES_LEN 4
16078 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FLAGS1_LEN 4
16083 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_STRIPING_LBN 4
16167 #define MC_CMD_GET_CAPABILITIES_V7_OUT_RX_DPCPU_FW_ID_OFST 4
16187 /* enum: RXDP Test firmware image 4 */
16229 #define MC_CMD_GET_CAPABILITIES_V7_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
16280 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
16319 #define MC_CMD_GET_CAPABILITIES_V7_OUT_HW_CAPABILITIES_LEN 4
16322 #define MC_CMD_GET_CAPABILITIES_V7_OUT_LICENSE_CAPABILITIES_LEN 4
16325 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FLAGS2_LEN 4
16339 #define MC_CMD_GET_CAPABILITIES_V7_OUT_RX_CUT_THROUGH_LBN 4
16434 * PF, indexed by PF number. Special values indicate that a PF is either not
16447 * in this field. It is intended for a possible future situation where a more
16449 * should look for a new field supporting the new scheme. The current/old
16453 /* One byte per PF containing the number of its VFs, indexed by PF number. A
16454 * special value indicates that a PF is not present.
16469 #define MC_CMD_GET_CAPABILITIES_V7_OUT_NUM_VIS_PER_PORT_NUM 4
16483 /* Size of a single PIO buffer */
16487 * is configurable. This is a global setting that the driver must query to
16493 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
16497 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
16499 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
16512 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
16523 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FILTER_ACTION_MARK_MAX_LEN 4
16525 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
16526 * they create an RX queue. Due to hardware limitations, only a small number of
16533 #define MC_CMD_GET_CAPABILITIES_V7_OUT_GUARANTEED_RX_BUFFER_SIZES_LEN 4
16537 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FLAGS3_LEN 4
16551 #define MC_CMD_GET_CAPABILITIES_V7_OUT_VDPA_SUPPORTED_LBN 4
16597 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FLAGS1_LEN 4
16602 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_STRIPING_LBN 4
16686 #define MC_CMD_GET_CAPABILITIES_V8_OUT_RX_DPCPU_FW_ID_OFST 4
16706 /* enum: RXDP Test firmware image 4 */
16748 #define MC_CMD_GET_CAPABILITIES_V8_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
16799 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
16838 #define MC_CMD_GET_CAPABILITIES_V8_OUT_HW_CAPABILITIES_LEN 4
16841 #define MC_CMD_GET_CAPABILITIES_V8_OUT_LICENSE_CAPABILITIES_LEN 4
16844 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FLAGS2_LEN 4
16858 #define MC_CMD_GET_CAPABILITIES_V8_OUT_RX_CUT_THROUGH_LBN 4
16953 * PF, indexed by PF number. Special values indicate that a PF is either not
16966 * in this field. It is intended for a possible future situation where a more
16968 * should look for a new field supporting the new scheme. The current/old
16972 /* One byte per PF containing the number of its VFs, indexed by PF number. A
16973 * special value indicates that a PF is not present.
16988 #define MC_CMD_GET_CAPABILITIES_V8_OUT_NUM_VIS_PER_PORT_NUM 4
17002 /* Size of a single PIO buffer */
17006 * is configurable. This is a global setting that the driver must query to
17012 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
17016 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
17018 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
17031 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
17042 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FILTER_ACTION_MARK_MAX_LEN 4
17044 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
17045 * they create an RX queue. Due to hardware limitations, only a small number of
17052 #define MC_CMD_GET_CAPABILITIES_V8_OUT_GUARANTEED_RX_BUFFER_SIZES_LEN 4
17056 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FLAGS3_LEN 4
17070 #define MC_CMD_GET_CAPABILITIES_V8_OUT_VDPA_SUPPORTED_LBN 4
17118 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TEST_RESERVED_LO_LEN 4
17122 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TEST_RESERVED_HI_LEN 4
17130 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FLAGS1_LEN 4
17135 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_STRIPING_LBN 4
17219 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RX_DPCPU_FW_ID_OFST 4
17239 /* enum: RXDP Test firmware image 4 */
17281 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
17332 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
17371 #define MC_CMD_GET_CAPABILITIES_V9_OUT_HW_CAPABILITIES_LEN 4
17374 #define MC_CMD_GET_CAPABILITIES_V9_OUT_LICENSE_CAPABILITIES_LEN 4
17377 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FLAGS2_LEN 4
17391 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RX_CUT_THROUGH_LBN 4
17486 * PF, indexed by PF number. Special values indicate that a PF is either not
17499 * in this field. It is intended for a possible future situation where a more
17501 * should look for a new field supporting the new scheme. The current/old
17505 /* One byte per PF containing the number of its VFs, indexed by PF number. A
17506 * special value indicates that a PF is not present.
17521 #define MC_CMD_GET_CAPABILITIES_V9_OUT_NUM_VIS_PER_PORT_NUM 4
17535 /* Size of a single PIO buffer */
17539 * is configurable. This is a global setting that the driver must query to
17545 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
17549 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
17551 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
17564 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
17575 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FILTER_ACTION_MARK_MAX_LEN 4
17577 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
17578 * they create an RX queue. Due to hardware limitations, only a small number of
17585 #define MC_CMD_GET_CAPABILITIES_V9_OUT_GUARANTEED_RX_BUFFER_SIZES_LEN 4
17589 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FLAGS3_LEN 4
17603 #define MC_CMD_GET_CAPABILITIES_V9_OUT_VDPA_SUPPORTED_LBN 4
17651 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TEST_RESERVED_LO_LEN 4
17655 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TEST_RESERVED_HI_LEN 4
17659 * from the pool for an RSS context. Note that the table size used must be a
17663 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RSS_MIN_INDIRECTION_TABLE_SIZE_LEN 4
17665 * from the pool for an RSS context. Note that the table size used must be a
17669 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RSS_MAX_INDIRECTION_TABLE_SIZE_LEN 4
17671 * mode. In exclusive mode the context has a configurable indirection table and
17672 * a configurable RSS key.
17675 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RSS_MAX_INDIRECTION_QUEUES_LEN 4
17678 * but it does have a configurable RSS key.
17681 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RSS_MAX_EVEN_SPREADING_QUEUES_LEN 4
17684 * availability of indirection table space allocated from a common pool.
17687 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RSS_NUM_CONTEXTS_LEN 4
17692 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RSS_TABLE_POOL_SIZE_LEN 4
17698 #define MC_CMD_GET_CAPABILITIES_V10_OUT_FLAGS1_LEN 4
17703 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TX_STRIPING_LBN 4
17787 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RX_DPCPU_FW_ID_OFST 4
17807 /* enum: RXDP Test firmware image 4 */
17849 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
17900 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
17939 #define MC_CMD_GET_CAPABILITIES_V10_OUT_HW_CAPABILITIES_LEN 4
17942 #define MC_CMD_GET_CAPABILITIES_V10_OUT_LICENSE_CAPABILITIES_LEN 4
17945 #define MC_CMD_GET_CAPABILITIES_V10_OUT_FLAGS2_LEN 4
17959 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RX_CUT_THROUGH_LBN 4
18054 * PF, indexed by PF number. Special values indicate that a PF is either not
18067 * in this field. It is intended for a possible future situation where a more
18069 * should look for a new field supporting the new scheme. The current/old
18073 /* One byte per PF containing the number of its VFs, indexed by PF number. A
18074 * special value indicates that a PF is not present.
18089 #define MC_CMD_GET_CAPABILITIES_V10_OUT_NUM_VIS_PER_PORT_NUM 4
18103 /* Size of a single PIO buffer */
18107 * is configurable. This is a global setting that the driver must query to
18113 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
18117 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
18119 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
18132 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
18143 #define MC_CMD_GET_CAPABILITIES_V10_OUT_FILTER_ACTION_MARK_MAX_LEN 4
18145 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
18146 * they create an RX queue. Due to hardware limitations, only a small number of
18153 #define MC_CMD_GET_CAPABILITIES_V10_OUT_GUARANTEED_RX_BUFFER_SIZES_LEN 4
18157 #define MC_CMD_GET_CAPABILITIES_V10_OUT_FLAGS3_LEN 4
18171 #define MC_CMD_GET_CAPABILITIES_V10_OUT_VDPA_SUPPORTED_LBN 4
18219 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TEST_RESERVED_LO_LEN 4
18223 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TEST_RESERVED_HI_LEN 4
18227 * from the pool for an RSS context. Note that the table size used must be a
18231 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RSS_MIN_INDIRECTION_TABLE_SIZE_LEN 4
18233 * from the pool for an RSS context. Note that the table size used must be a
18237 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RSS_MAX_INDIRECTION_TABLE_SIZE_LEN 4
18239 * mode. In exclusive mode the context has a configurable indirection table and
18240 * a configurable RSS key.
18243 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RSS_MAX_INDIRECTION_QUEUES_LEN 4
18246 * but it does have a configurable RSS key.
18249 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RSS_MAX_EVEN_SPREADING_QUEUES_LEN 4
18252 * availability of indirection table space allocated from a common pool.
18255 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RSS_NUM_CONTEXTS_LEN 4
18260 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RSS_TABLE_POOL_SIZE_LEN 4
18261 /* A bitmap of the queue sizes the device can provide, where bit N being set
18262 * indicates that 2**N is a valid size. The device may be limited in the number
18263 * of different queue sizes that can exist simultaneously, so a bit being set
18264 * here does not guarantee that an attempt to create a queue of that size will
18268 #define MC_CMD_GET_CAPABILITIES_V10_OUT_SUPPORTED_QUEUE_SIZES_LEN 4
18269 /* A bitmap of queue sizes that are always available, in the same format as
18270 * SUPPORTED_QUEUE_SIZES. Attempting to create a queue with one of these sizes
18274 #define MC_CMD_GET_CAPABILITIES_V10_OUT_GUARANTEED_QUEUE_SIZES_LEN 4
18280 #define MC_CMD_GET_CAPABILITIES_V11_OUT_FLAGS1_LEN 4
18285 #define MC_CMD_GET_CAPABILITIES_V11_OUT_TX_STRIPING_LBN 4
18369 #define MC_CMD_GET_CAPABILITIES_V11_OUT_RX_DPCPU_FW_ID_OFST 4
18389 /* enum: RXDP Test firmware image 4 */
18431 #define MC_CMD_GET_CAPABILITIES_V11_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
18482 #define MC_CMD_GET_CAPABILITIES_V11_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
18521 #define MC_CMD_GET_CAPABILITIES_V11_OUT_HW_CAPABILITIES_LEN 4
18524 #define MC_CMD_GET_CAPABILITIES_V11_OUT_LICENSE_CAPABILITIES_LEN 4
18527 #define MC_CMD_GET_CAPABILITIES_V11_OUT_FLAGS2_LEN 4
18541 #define MC_CMD_GET_CAPABILITIES_V11_OUT_RX_CUT_THROUGH_LBN 4
18636 * PF, indexed by PF number. Special values indicate that a PF is either not
18649 * in this field. It is intended for a possible future situation where a more
18651 * should look for a new field supporting the new scheme. The current/old
18655 /* One byte per PF containing the number of its VFs, indexed by PF number. A
18656 * special value indicates that a PF is not present.
18671 #define MC_CMD_GET_CAPABILITIES_V11_OUT_NUM_VIS_PER_PORT_NUM 4
18685 /* Size of a single PIO buffer */
18689 * is configurable. This is a global setting that the driver must query to
18695 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
18699 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
18701 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
18714 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
18725 #define MC_CMD_GET_CAPABILITIES_V11_OUT_FILTER_ACTION_MARK_MAX_LEN 4
18727 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
18728 * they create an RX queue. Due to hardware limitations, only a small number of
18735 #define MC_CMD_GET_CAPABILITIES_V11_OUT_GUARANTEED_RX_BUFFER_SIZES_LEN 4
18739 #define MC_CMD_GET_CAPABILITIES_V11_OUT_FLAGS3_LEN 4
18753 #define MC_CMD_GET_CAPABILITIES_V11_OUT_VDPA_SUPPORTED_LBN 4
18801 #define MC_CMD_GET_CAPABILITIES_V11_OUT_TEST_RESERVED_LO_LEN 4
18805 #define MC_CMD_GET_CAPABILITIES_V11_OUT_TEST_RESERVED_HI_LEN 4
18809 * from the pool for an RSS context. Note that the table size used must be a
18813 #define MC_CMD_GET_CAPABILITIES_V11_OUT_RSS_MIN_INDIRECTION_TABLE_SIZE_LEN 4
18815 * from the pool for an RSS context. Note that the table size used must be a
18819 #define MC_CMD_GET_CAPABILITIES_V11_OUT_RSS_MAX_INDIRECTION_TABLE_SIZE_LEN 4
18821 * mode. In exclusive mode the context has a configurable indirection table and
18822 * a configurable RSS key.
18825 #define MC_CMD_GET_CAPABILITIES_V11_OUT_RSS_MAX_INDIRECTION_QUEUES_LEN 4
18828 * but it does have a configurable RSS key.
18831 #define MC_CMD_GET_CAPABILITIES_V11_OUT_RSS_MAX_EVEN_SPREADING_QUEUES_LEN 4
18834 * availability of indirection table space allocated from a common pool.
18837 #define MC_CMD_GET_CAPABILITIES_V11_OUT_RSS_NUM_CONTEXTS_LEN 4
18842 #define MC_CMD_GET_CAPABILITIES_V11_OUT_RSS_TABLE_POOL_SIZE_LEN 4
18843 /* A bitmap of the queue sizes the device can provide, where bit N being set
18844 * indicates that 2**N is a valid size. The device may be limited in the number
18845 * of different queue sizes that can exist simultaneously, so a bit being set
18846 * here does not guarantee that an attempt to create a queue of that size will
18850 #define MC_CMD_GET_CAPABILITIES_V11_OUT_SUPPORTED_QUEUE_SIZES_LEN 4
18851 /* A bitmap of queue sizes that are always available, in the same format as
18852 * SUPPORTED_QUEUE_SIZES. Attempting to create a queue with one of these sizes
18856 #define MC_CMD_GET_CAPABILITIES_V11_OUT_GUARANTEED_QUEUE_SIZES_LEN 4
18859 #define MC_CMD_GET_CAPABILITIES_V11_OUT_INDIRECT_MAP_INDEX_COUNT_LEN 4
18865 #define MC_CMD_GET_CAPABILITIES_V12_OUT_FLAGS1_LEN 4
18870 #define MC_CMD_GET_CAPABILITIES_V12_OUT_TX_STRIPING_LBN 4
18954 #define MC_CMD_GET_CAPABILITIES_V12_OUT_RX_DPCPU_FW_ID_OFST 4
18974 /* enum: RXDP Test firmware image 4 */
19016 #define MC_CMD_GET_CAPABILITIES_V12_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
19067 #define MC_CMD_GET_CAPABILITIES_V12_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
19106 #define MC_CMD_GET_CAPABILITIES_V12_OUT_HW_CAPABILITIES_LEN 4
19109 #define MC_CMD_GET_CAPABILITIES_V12_OUT_LICENSE_CAPABILITIES_LEN 4
19112 #define MC_CMD_GET_CAPABILITIES_V12_OUT_FLAGS2_LEN 4
19126 #define MC_CMD_GET_CAPABILITIES_V12_OUT_RX_CUT_THROUGH_LBN 4
19221 * PF, indexed by PF number. Special values indicate that a PF is either not
19234 * in this field. It is intended for a possible future situation where a more
19236 * should look for a new field supporting the new scheme. The current/old
19240 /* One byte per PF containing the number of its VFs, indexed by PF number. A
19241 * special value indicates that a PF is not present.
19256 #define MC_CMD_GET_CAPABILITIES_V12_OUT_NUM_VIS_PER_PORT_NUM 4
19270 /* Size of a single PIO buffer */
19274 * is configurable. This is a global setting that the driver must query to
19280 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
19284 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
19286 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
19299 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
19310 #define MC_CMD_GET_CAPABILITIES_V12_OUT_FILTER_ACTION_MARK_MAX_LEN 4
19312 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
19313 * they create an RX queue. Due to hardware limitations, only a small number of
19320 #define MC_CMD_GET_CAPABILITIES_V12_OUT_GUARANTEED_RX_BUFFER_SIZES_LEN 4
19324 #define MC_CMD_GET_CAPABILITIES_V12_OUT_FLAGS3_LEN 4
19338 #define MC_CMD_GET_CAPABILITIES_V12_OUT_VDPA_SUPPORTED_LBN 4
19386 #define MC_CMD_GET_CAPABILITIES_V12_OUT_TEST_RESERVED_LO_LEN 4
19390 #define MC_CMD_GET_CAPABILITIES_V12_OUT_TEST_RESERVED_HI_LEN 4
19394 * from the pool for an RSS context. Note that the table size used must be a
19398 #define MC_CMD_GET_CAPABILITIES_V12_OUT_RSS_MIN_INDIRECTION_TABLE_SIZE_LEN 4
19400 * from the pool for an RSS context. Note that the table size used must be a
19404 #define MC_CMD_GET_CAPABILITIES_V12_OUT_RSS_MAX_INDIRECTION_TABLE_SIZE_LEN 4
19406 * mode. In exclusive mode the context has a configurable indirection table and
19407 * a configurable RSS key.
19410 #define MC_CMD_GET_CAPABILITIES_V12_OUT_RSS_MAX_INDIRECTION_QUEUES_LEN 4
19413 * but it does have a configurable RSS key.
19416 #define MC_CMD_GET_CAPABILITIES_V12_OUT_RSS_MAX_EVEN_SPREADING_QUEUES_LEN 4
19419 * availability of indirection table space allocated from a common pool.
19422 #define MC_CMD_GET_CAPABILITIES_V12_OUT_RSS_NUM_CONTEXTS_LEN 4
19427 #define MC_CMD_GET_CAPABILITIES_V12_OUT_RSS_TABLE_POOL_SIZE_LEN 4
19428 /* A bitmap of the queue sizes the device can provide, where bit N being set
19429 * indicates that 2**N is a valid size. The device may be limited in the number
19430 * of different queue sizes that can exist simultaneously, so a bit being set
19431 * here does not guarantee that an attempt to create a queue of that size will
19435 #define MC_CMD_GET_CAPABILITIES_V12_OUT_SUPPORTED_QUEUE_SIZES_LEN 4
19436 /* A bitmap of queue sizes that are always available, in the same format as
19437 * SUPPORTED_QUEUE_SIZES. Attempting to create a queue with one of these sizes
19441 #define MC_CMD_GET_CAPABILITIES_V12_OUT_GUARANTEED_QUEUE_SIZES_LEN 4
19444 #define MC_CMD_GET_CAPABILITIES_V12_OUT_INDIRECT_MAP_INDEX_COUNT_LEN 4
19445 /* Number of VIs available for external ports 4-7. Information for ports 0-3 is
19450 #define MC_CMD_GET_CAPABILITIES_V12_OUT_NUM_VIS_PER_PORT2_NUM 4
19455 * Encapsulation for a v2 extended command
19460 #define MC_CMD_V2_EXTN_IN_LEN 4
19475 #define MC_CMD_V2_EXTN_IN_MESSAGE_TYPE_WIDTH 4
19478 /* enum: MCDI command directed to a TSA controller. MCDI responses of this type
19483 * are used for low-level operations directed at the platform as a whole (e.g.
19484 * MMIO device enumeration) rather than individual functions and use a
19493 * Link a push I/O buffer to a TxQ
19504 #define MC_CMD_LINK_PIOBUF_IN_PIOBUF_HANDLE_LEN 4
19505 /* Function Local Instance (VI) number which has a TxQ allocated to it. */
19506 #define MC_CMD_LINK_PIOBUF_IN_TXQ_INSTANCE_OFST 4
19507 #define MC_CMD_LINK_PIOBUF_IN_TXQ_INSTANCE_LEN 4
19515 * Unlink a push I/O buffer from a TxQ
19523 #define MC_CMD_UNLINK_PIOBUF_IN_LEN 4
19526 #define MC_CMD_UNLINK_PIOBUF_IN_TXQ_INSTANCE_LEN 4
19534 * allocate and initialise a v-switch.
19545 #define MC_CMD_VSWITCH_ALLOC_IN_UPSTREAM_PORT_ID_LEN 4
19547 #define MC_CMD_VSWITCH_ALLOC_IN_TYPE_OFST 4
19548 #define MC_CMD_VSWITCH_ALLOC_IN_TYPE_LEN 4
19561 #define MC_CMD_VSWITCH_ALLOC_IN_FLAGS_LEN 4
19573 #define MC_CMD_VSWITCH_ALLOC_IN_NUM_VLAN_TAGS_LEN 4
19581 * de-allocate a v-switch.
19589 #define MC_CMD_VSWITCH_FREE_IN_LEN 4
19592 #define MC_CMD_VSWITCH_FREE_IN_UPSTREAM_PORT_ID_LEN 4
19600 * allocate a v-port.
19611 #define MC_CMD_VPORT_ALLOC_IN_UPSTREAM_PORT_ID_LEN 4
19613 #define MC_CMD_VPORT_ALLOC_IN_TYPE_OFST 4
19614 #define MC_CMD_VPORT_ALLOC_IN_TYPE_LEN 4
19621 /* enum: A normal v-port receives packets which match a specified MAC and/or
19635 #define MC_CMD_VPORT_ALLOC_IN_FLAGS_LEN 4
19647 #define MC_CMD_VPORT_ALLOC_IN_NUM_VLAN_TAGS_LEN 4
19650 #define MC_CMD_VPORT_ALLOC_IN_VLAN_TAGS_LEN 4
19659 #define MC_CMD_VPORT_ALLOC_OUT_LEN 4
19662 #define MC_CMD_VPORT_ALLOC_OUT_VPORT_ID_LEN 4
19667 * de-allocate a v-port.
19675 #define MC_CMD_VPORT_FREE_IN_LEN 4
19678 #define MC_CMD_VPORT_FREE_IN_VPORT_ID_LEN 4
19686 * allocate a v-adaptor.
19697 #define MC_CMD_VADAPTOR_ALLOC_IN_UPSTREAM_PORT_ID_LEN 4
19700 #define MC_CMD_VADAPTOR_ALLOC_IN_FLAGS_LEN 4
19709 #define MC_CMD_VADAPTOR_ALLOC_IN_NUM_VLANS_LEN 4
19712 #define MC_CMD_VADAPTOR_ALLOC_IN_NUM_VLAN_TAGS_LEN 4
19715 #define MC_CMD_VADAPTOR_ALLOC_IN_VLAN_TAGS_LEN 4
19734 * de-allocate a v-adaptor.
19742 #define MC_CMD_VADAPTOR_FREE_IN_LEN 4
19745 #define MC_CMD_VADAPTOR_FREE_IN_UPSTREAM_PORT_ID_LEN 4
19753 * assign a new MAC address to a v-adaptor.
19764 #define MC_CMD_VADAPTOR_SET_MAC_IN_UPSTREAM_PORT_ID_LEN 4
19766 #define MC_CMD_VADAPTOR_SET_MAC_IN_MACADDR_OFST 4
19783 #define MC_CMD_VADAPTOR_QUERY_IN_LEN 4
19786 #define MC_CMD_VADAPTOR_QUERY_IN_UPSTREAM_PORT_ID_LEN 4
19792 #define MC_CMD_VADAPTOR_QUERY_OUT_PORT_FLAGS_LEN 4
19794 #define MC_CMD_VADAPTOR_QUERY_OUT_VADAPTOR_FLAGS_OFST 4
19795 #define MC_CMD_VADAPTOR_QUERY_OUT_VADAPTOR_FLAGS_LEN 4
19798 #define MC_CMD_VADAPTOR_QUERY_OUT_NUM_AVAILABLE_VLAN_TAGS_LEN 4
19803 * assign a port to a PCI function.
19814 #define MC_CMD_EVB_PORT_ASSIGN_IN_PORT_ID_LEN 4
19816 #define MC_CMD_EVB_PORT_ASSIGN_IN_FUNCTION_OFST 4
19817 #define MC_CMD_EVB_PORT_ASSIGN_IN_FUNCTION_LEN 4
19818 #define MC_CMD_EVB_PORT_ASSIGN_IN_PF_OFST 4
19821 #define MC_CMD_EVB_PORT_ASSIGN_IN_VF_OFST 4
19842 #define MC_CMD_RSS_CONTEXT_ALLOC_IN_UPSTREAM_PORT_ID_LEN 4
19844 #define MC_CMD_RSS_CONTEXT_ALLOC_IN_TYPE_OFST 4
19845 #define MC_CMD_RSS_CONTEXT_ALLOC_IN_TYPE_LEN 4
19846 /* enum: Allocate a context for exclusive use. The key and indirection table
19850 /* enum: Allocate a context for shared use; this will spread across a range of
19852 * changed. For this mode, NUM_QUEUES must 2, 4, 8, 16, 32 or 64.
19855 /* enum: Allocate a context to spread evenly across an arbitrary number of
19868 * be useful as a way of obtaining the Toeplitz hash.
19871 #define MC_CMD_RSS_CONTEXT_ALLOC_IN_NUM_QUEUES_LEN 4
19877 #define MC_CMD_RSS_CONTEXT_ALLOC_V2_IN_UPSTREAM_PORT_ID_LEN 4
19879 #define MC_CMD_RSS_CONTEXT_ALLOC_V2_IN_TYPE_OFST 4
19880 #define MC_CMD_RSS_CONTEXT_ALLOC_V2_IN_TYPE_LEN 4
19881 /* enum: Allocate a context for exclusive use. The key and indirection table
19885 /* enum: Allocate a context for shared use; this will spread across a range of
19887 * changed. For this mode, NUM_QUEUES must 2, 4, 8, 16, 32 or 64.
19890 /* enum: Allocate a context to spread evenly across an arbitrary number of
19903 * be useful as a way of obtaining the Toeplitz hash.
19906 #define MC_CMD_RSS_CONTEXT_ALLOC_V2_IN_NUM_QUEUES_LEN 4
19908 * Must be a power of 2. The minimum and maximum table size can be queried
19915 #define MC_CMD_RSS_CONTEXT_ALLOC_V2_IN_INDIRECTION_TABLE_SIZE_LEN 4
19918 #define MC_CMD_RSS_CONTEXT_ALLOC_OUT_LEN 4
19920 * host, although a value of 0xFFFFFFFF is guaranteed never to be a valid
19924 #define MC_CMD_RSS_CONTEXT_ALLOC_OUT_RSS_CONTEXT_ID_LEN 4
19939 #define MC_CMD_RSS_CONTEXT_FREE_IN_LEN 4
19942 #define MC_CMD_RSS_CONTEXT_FREE_IN_RSS_CONTEXT_ID_LEN 4
19961 #define MC_CMD_RSS_CONTEXT_SET_KEY_IN_RSS_CONTEXT_ID_LEN 4
19963 #define MC_CMD_RSS_CONTEXT_SET_KEY_IN_TOEPLITZ_KEY_OFST 4
19980 #define MC_CMD_RSS_CONTEXT_GET_KEY_IN_LEN 4
19983 #define MC_CMD_RSS_CONTEXT_GET_KEY_IN_RSS_CONTEXT_ID_LEN 4
19988 #define MC_CMD_RSS_CONTEXT_GET_KEY_OUT_TOEPLITZ_KEY_OFST 4
19996 * when the RSS context is allocated without specifying a table size.
20007 #define MC_CMD_RSS_CONTEXT_SET_TABLE_IN_RSS_CONTEXT_ID_LEN 4
20009 #define MC_CMD_RSS_CONTEXT_SET_TABLE_IN_INDIRECTION_TABLE_OFST 4
20020 * when the RSS context is allocated without specifying a table size.
20028 #define MC_CMD_RSS_CONTEXT_GET_TABLE_IN_LEN 4
20031 #define MC_CMD_RSS_CONTEXT_GET_TABLE_IN_RSS_CONTEXT_ID_LEN 4
20036 #define MC_CMD_RSS_CONTEXT_GET_TABLE_OUT_INDIRECTION_TABLE_OFST 4
20053 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_RSS_CONTEXT_ID_LEN 4
20060 * reject any attempt to set the FLAGS field to a value > 0xff with EINVAL. In
20066 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_FLAGS_OFST 4
20067 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_FLAGS_LEN 4
20068 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_IPV4_EN_OFST 4
20071 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_TCPV4_EN_OFST 4
20074 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_IPV6_EN_OFST 4
20077 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_TCPV6_EN_OFST 4
20080 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_RESERVED_OFST 4
20081 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_RESERVED_LBN 4
20082 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_RESERVED_WIDTH 4
20083 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TCP_IPV4_RSS_MODE_OFST 4
20085 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TCP_IPV4_RSS_MODE_WIDTH 4
20086 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_UDP_IPV4_RSS_MODE_OFST 4
20088 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_UDP_IPV4_RSS_MODE_WIDTH 4
20089 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_OTHER_IPV4_RSS_MODE_OFST 4
20091 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_OTHER_IPV4_RSS_MODE_WIDTH 4
20092 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TCP_IPV6_RSS_MODE_OFST 4
20094 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TCP_IPV6_RSS_MODE_WIDTH 4
20095 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_UDP_IPV6_RSS_MODE_OFST 4
20097 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_UDP_IPV6_RSS_MODE_WIDTH 4
20098 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_OTHER_IPV6_RSS_MODE_OFST 4
20100 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_OTHER_IPV6_RSS_MODE_WIDTH 4
20116 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_IN_LEN 4
20119 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_IN_RSS_CONTEXT_ID_LEN 4
20128 * guaranteed to be consistent with the _EN flags for a freshly-allocated RSS
20133 * mode by looking only at the _MODE bits; the value returned by a GET can
20134 * always be used for a SET regardless of old/new driver vs. old/new firmware.
20136 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_FLAGS_OFST 4
20137 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_FLAGS_LEN 4
20138 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_IPV4_EN_OFST 4
20141 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_TCPV4_EN_OFST 4
20144 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_IPV6_EN_OFST 4
20147 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_TCPV6_EN_OFST 4
20150 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_RESERVED_OFST 4
20151 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_RESERVED_LBN 4
20152 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_RESERVED_WIDTH 4
20153 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TCP_IPV4_RSS_MODE_OFST 4
20155 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TCP_IPV4_RSS_MODE_WIDTH 4
20156 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_UDP_IPV4_RSS_MODE_OFST 4
20158 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_UDP_IPV4_RSS_MODE_WIDTH 4
20159 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_OTHER_IPV4_RSS_MODE_OFST 4
20161 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_OTHER_IPV4_RSS_MODE_WIDTH 4
20162 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TCP_IPV6_RSS_MODE_OFST 4
20164 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TCP_IPV6_RSS_MODE_WIDTH 4
20165 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_UDP_IPV6_RSS_MODE_OFST 4
20167 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_UDP_IPV6_RSS_MODE_WIDTH 4
20168 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_OTHER_IPV6_RSS_MODE_OFST 4
20170 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_OTHER_IPV6_RSS_MODE_WIDTH 4
20175 * Add a MAC address to a v-port
20186 #define MC_CMD_VPORT_ADD_MAC_ADDRESS_IN_VPORT_ID_LEN 4
20188 #define MC_CMD_VPORT_ADD_MAC_ADDRESS_IN_MACADDR_OFST 4
20197 * Delete a MAC address from a v-port
20208 #define MC_CMD_VPORT_DEL_MAC_ADDRESS_IN_VPORT_ID_LEN 4
20210 #define MC_CMD_VPORT_DEL_MAC_ADDRESS_IN_MACADDR_OFST 4
20219 * Delete a MAC address from a v-port
20227 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_IN_LEN 4
20230 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_IN_VPORT_ID_LEN 4
20233 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_LENMIN 4
20236 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_LEN(num) (4+6*(num))
20237 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_MACADDR_NUM(len) (((len)-4)/6)
20240 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_MACADDR_COUNT_LEN 4
20242 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_MACADDR_OFST 4
20264 #define MC_CMD_VPORT_RECONFIGURE_IN_VPORT_ID_LEN 4
20266 #define MC_CMD_VPORT_RECONFIGURE_IN_FLAGS_OFST 4
20267 #define MC_CMD_VPORT_RECONFIGURE_IN_FLAGS_LEN 4
20268 #define MC_CMD_VPORT_RECONFIGURE_IN_REPLACE_VLAN_TAGS_OFST 4
20271 #define MC_CMD_VPORT_RECONFIGURE_IN_REPLACE_MACADDRS_OFST 4
20279 #define MC_CMD_VPORT_RECONFIGURE_IN_NUM_VLAN_TAGS_LEN 4
20282 #define MC_CMD_VPORT_RECONFIGURE_IN_VLAN_TAGS_LEN 4
20291 #define MC_CMD_VPORT_RECONFIGURE_IN_NUM_MACADDRS_LEN 4
20295 #define MC_CMD_VPORT_RECONFIGURE_IN_MACADDRS_NUM 4
20298 #define MC_CMD_VPORT_RECONFIGURE_OUT_LEN 4
20300 #define MC_CMD_VPORT_RECONFIGURE_OUT_FLAGS_LEN 4
20322 #define MC_CMD_GET_CLOCK_OUT_SYS_FREQ_LEN 4
20324 #define MC_CMD_GET_CLOCK_OUT_DPCPU_FREQ_OFST 4
20325 #define MC_CMD_GET_CLOCK_OUT_DPCPU_FREQ_LEN 4
20338 #define MC_CMD_TRIGGER_INTERRUPT_IN_LEN 4
20341 #define MC_CMD_TRIGGER_INTERRUPT_IN_INTR_LEVEL_LEN 4
20349 * Take a dump of the DUT state
20359 #define MC_CMD_DUMP_DO_IN_PADDING_LEN 4
20360 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_OFST 4
20361 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_LEN 4
20365 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_TYPE_LEN 4
20371 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_NVRAM_PARTITION_TYPE_ID_LEN 4
20373 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_NVRAM_OFFSET_LEN 4
20375 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_ADDR_LO_LEN 4
20377 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_ADDR_HI_LEN 4
20379 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_LO_LEN 4
20382 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_HI_LEN 4
20384 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_DEPTH_LEN 4
20387 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_UART_PORT_LEN 4
20388 /* enum: The uart port this command was received over (if using a uart
20393 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_SIZE_LEN 4
20395 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_LEN 4
20399 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_TYPE_LEN 4
20403 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_NVRAM_PARTITION_TYPE_ID_LEN 4
20405 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_NVRAM_OFFSET_LEN 4
20407 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_ADDR_LO_LEN 4
20409 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_ADDR_HI_LEN 4
20411 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_LO_LEN 4
20413 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_HI_LEN 4
20415 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_DEPTH_LEN 4
20417 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_UART_PORT_LEN 4
20419 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_SIZE_LEN 4
20422 #define MC_CMD_DUMP_DO_OUT_LEN 4
20424 #define MC_CMD_DUMP_DO_OUT_DUMPFILE_SIZE_LEN 4
20439 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_ENABLE_LEN 4
20440 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_OFST 4
20441 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_LEN 4
20445 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_TYPE_LEN 4
20449 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_NVRAM_PARTITION_TYPE_ID_LEN 4
20451 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_NVRAM_OFFSET_LEN 4
20453 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_ADDR_LO_LEN 4
20455 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_ADDR_HI_LEN 4
20457 …e MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_LO_LEN 4
20459 …e MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_HI_LEN 4
20461 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_DEPTH_LEN 4
20463 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_UART_PORT_LEN 4
20465 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_SIZE_LEN 4
20467 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_LEN 4
20471 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_TYPE_LEN 4
20475 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_NVRAM_PARTITION_TYPE_ID_LEN 4
20477 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_NVRAM_OFFSET_LEN 4
20479 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_ADDR_LO_LEN 4
20481 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_ADDR_HI_LEN 4
20483 …e MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_LO_LEN 4
20485 …e MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_HI_LEN 4
20487 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_DEPTH_LEN 4
20489 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_UART_PORT_LEN 4
20491 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_SIZE_LEN 4
20509 #define MC_CMD_GET_FUNCTION_INFO_OUT_PF_LEN 4
20510 #define MC_CMD_GET_FUNCTION_INFO_OUT_VF_OFST 4
20511 #define MC_CMD_GET_FUNCTION_INFO_OUT_VF_LEN 4
20516 #define MC_CMD_GET_FUNCTION_INFO_OUT_V2_PF_LEN 4
20517 #define MC_CMD_GET_FUNCTION_INFO_OUT_V2_VF_OFST 4
20518 #define MC_CMD_GET_FUNCTION_INFO_OUT_V2_VF_LEN 4
20519 /* Values from PCIE_INTERFACE enumeration. For NICs with a single interface, or
20520 * in the case of a V1 response, this should be HOST_PRIMARY.
20523 #define MC_CMD_GET_FUNCTION_INFO_OUT_V2_INTF_LEN 4
20554 #define MC_CMD_KR_TUNE_IN_LENMIN 4
20557 #define MC_CMD_KR_TUNE_IN_LEN(num) (4+4*(num))
20558 #define MC_CMD_KR_TUNE_IN_KR_TUNE_ARGS_NUM(len) (((len)-4)/4)
20572 /* enum: Start KR Serdes Eye diagram plot on a given lane. Lane must have valid
20591 #define MC_CMD_KR_TUNE_IN_KR_TUNE_ARGS_OFST 4
20592 #define MC_CMD_KR_TUNE_IN_KR_TUNE_ARGS_LEN 4
20601 #define MC_CMD_KR_TUNE_RXEQ_GET_IN_LEN 4
20610 #define MC_CMD_KR_TUNE_RXEQ_GET_OUT_LENMIN 4
20613 #define MC_CMD_KR_TUNE_RXEQ_GET_OUT_LEN(num) (0+4*(num))
20614 #define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_NUM(len) (((len)-0)/4)
20617 #define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_LEN 4
20688 /* enum: I/Q clk offset (Medford2 - 4 bit signed (-5 - +5))) */
20710 /* enum: CTLE Boost stages - retimer lineside (Medford2 with DS250x retimer - 4
20729 /* enum: CTLE Boost stages - retimer hostside (Medford2 with DS250x retimer - 4
20761 #define MC_CMD_KR_TUNE_RXEQ_GET_OUT_RESERVED_WIDTH 4
20773 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_LEN(num) (4+4*(num))
20774 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_NUM(len) (((len)-4)/4)
20782 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_OFST 4
20783 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_LEN 4
20787 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_ID_OFST 4
20792 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_LANE_OFST 4
20797 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_AUTOCAL_OFST 4
20800 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_RESERVED_OFST 4
20802 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_RESERVED_WIDTH 4
20803 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_INITIAL_OFST 4
20806 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_RESERVED2_OFST 4
20814 #define MC_CMD_KR_TUNE_TXEQ_GET_IN_LEN 4
20823 #define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LENMIN 4
20826 #define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LEN(num) (0+4*(num))
20827 #define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_NUM(len) (((len)-0)/4)
20830 #define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_LEN 4
20897 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_LEN(num) (4+4*(num))
20898 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_NUM(len) (((len)-4)/4)
20906 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_OFST 4
20907 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_LEN 4
20911 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_ID_OFST 4
20916 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_LANE_OFST 4
20921 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_RESERVED_OFST 4
20924 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_INITIAL_OFST 4
20927 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_RESERVED2_OFST 4
20935 #define MC_CMD_KR_TUNE_RECAL_IN_LEN 4
20955 #define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_LANE_OFST 4
20956 #define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_LANE_LEN 4
20966 #define MC_CMD_KR_TUNE_START_EYE_PLOT_V2_IN_LANE_OFST 4
20967 #define MC_CMD_KR_TUNE_START_EYE_PLOT_V2_IN_LANE_LEN 4
20968 #define MC_CMD_KR_TUNE_START_EYE_PLOT_V2_IN_LANE_NUM_OFST 4
20971 #define MC_CMD_KR_TUNE_START_EYE_PLOT_V2_IN_LANE_ABS_REL_OFST 4
20976 #define MC_CMD_KR_TUNE_START_EYE_PLOT_V2_IN_BER_LEN 4
20982 #define MC_CMD_KR_TUNE_POLL_EYE_PLOT_IN_LEN 4
21010 #define MC_CMD_KR_TUNE_READ_FOM_IN_LANE_OFST 4
21011 #define MC_CMD_KR_TUNE_READ_FOM_IN_LANE_LEN 4
21012 #define MC_CMD_KR_TUNE_READ_FOM_IN_LANE_NUM_OFST 4
21015 #define MC_CMD_KR_TUNE_READ_FOM_IN_LANE_ABS_REL_OFST 4
21020 #define MC_CMD_KR_TUNE_READ_FOM_OUT_LEN 4
21022 #define MC_CMD_KR_TUNE_READ_FOM_OUT_FOM_LEN 4
21032 #define MC_CMD_KR_TUNE_LINK_TRAIN_RUN_IN_RUN_OFST 4
21033 #define MC_CMD_KR_TUNE_LINK_TRAIN_RUN_IN_RUN_LEN 4
21045 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_LANE_OFST 4
21046 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_LANE_LEN 4
21049 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_INITIALIZE_LEN 4
21052 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_PRESET_LEN 4
21055 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_CM1_LEN 4
21061 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_C0_LEN 4
21066 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_CP1_LEN 4
21074 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_CM1_STATUS_LEN 4
21080 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_C0_STATUS_OFST 4
21081 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_C0_STATUS_LEN 4
21086 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_CP1_STATUS_LEN 4
21091 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_CM1_VALUE_LEN 4
21094 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_C0_VALUE_LEN 4
21097 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_CP1_VALUE_LEN 4
21111 #define MC_CMD_LICENSING_IN_LEN 4
21114 #define MC_CMD_LICENSING_IN_OP_LEN 4
21115 /* enum: re-read and apply licenses after a license key partition update; note
21116 * that this operation returns a zero-length response
21126 #define MC_CMD_LICENSING_OUT_VALID_APP_KEYS_LEN 4
21130 #define MC_CMD_LICENSING_OUT_INVALID_APP_KEYS_OFST 4
21131 #define MC_CMD_LICENSING_OUT_INVALID_APP_KEYS_LEN 4
21134 #define MC_CMD_LICENSING_OUT_BLACKLISTED_APP_KEYS_LEN 4
21137 #define MC_CMD_LICENSING_OUT_UNVERIFIABLE_APP_KEYS_LEN 4
21141 #define MC_CMD_LICENSING_OUT_WRONG_NODE_APP_KEYS_LEN 4
21146 #define MC_CMD_LICENSING_OUT_LICENSING_STATE_LEN 4
21149 #define MC_CMD_LICENSING_OUT_LICENSING_SELF_TEST_LEN 4
21167 #define MC_CMD_LICENSING_V3_IN_LEN 4
21170 #define MC_CMD_LICENSING_V3_IN_OP_LEN 4
21171 /* enum: re-read and apply licenses after a license key partition update; note
21172 * that this operation returns a zero-length response
21184 #define MC_CMD_LICENSING_V3_OUT_VALID_KEYS_LEN 4
21188 #define MC_CMD_LICENSING_V3_OUT_INVALID_KEYS_OFST 4
21189 #define MC_CMD_LICENSING_V3_OUT_INVALID_KEYS_LEN 4
21192 #define MC_CMD_LICENSING_V3_OUT_UNVERIFIABLE_KEYS_LEN 4
21195 #define MC_CMD_LICENSING_V3_OUT_WRONG_NODE_KEYS_LEN 4
21200 #define MC_CMD_LICENSING_V3_OUT_LICENSING_STATE_LEN 4
21203 #define MC_CMD_LICENSING_V3_OUT_LICENSING_SELF_TEST_LEN 4
21212 #define MC_CMD_LICENSING_V3_OUT_LICENSED_APPS_LO_LEN 4
21216 #define MC_CMD_LICENSING_V3_OUT_LICENSED_APPS_HI_LEN 4
21226 #define MC_CMD_LICENSING_V3_OUT_LICENSED_FEATURES_LO_LEN 4
21230 #define MC_CMD_LICENSING_V3_OUT_LICENSED_FEATURES_HI_LEN 4
21242 * or a reboot of the MC.) Not used for V3 licensing
21250 #define MC_CMD_GET_LICENSED_APP_STATE_IN_LEN 4
21253 #define MC_CMD_GET_LICENSED_APP_STATE_IN_APP_ID_LEN 4
21256 #define MC_CMD_GET_LICENSED_APP_STATE_OUT_LEN 4
21259 #define MC_CMD_GET_LICENSED_APP_STATE_OUT_STATE_LEN 4
21262 /* enum: a valid license is present for the application */
21279 #define MC_CMD_SET_PARSER_DISP_CONFIG_IN_LEN(num) (8+4*(num))
21280 #define MC_CMD_SET_PARSER_DISP_CONFIG_IN_VALUE_NUM(len) (((len)-8)/4)
21283 #define MC_CMD_SET_PARSER_DISP_CONFIG_IN_TYPE_LEN 4
21285 * internal loopback. (ENTITY is a queue handle, VALUE is a single boolean.)
21289 * internal loopback path. (ENTITY is an EVB_PORT_ID, VALUE is a single
21296 #define MC_CMD_SET_PARSER_DISP_CONFIG_IN_ENTITY_OFST 4
21297 #define MC_CMD_SET_PARSER_DISP_CONFIG_IN_ENTITY_LEN 4
21302 #define MC_CMD_SET_PARSER_DISP_CONFIG_IN_VALUE_LEN 4
21323 /* Each workaround is represented by a single bit according to the enums below.
21326 #define MC_CMD_GET_WORKAROUNDS_OUT_IMPLEMENTED_LEN 4
21327 #define MC_CMD_GET_WORKAROUNDS_OUT_ENABLED_OFST 4
21328 #define MC_CMD_GET_WORKAROUNDS_OUT_ENABLED_LEN 4
21364 #define MC_CMD_PRIVILEGE_MASK_IN_FUNCTION_LEN 4
21375 #define MC_CMD_PRIVILEGE_MASK_IN_NEW_MASK_OFST 4
21376 #define MC_CMD_PRIVILEGE_MASK_IN_NEW_MASK_LEN 4
21393 /* enum: Privilege that allows a Function to change the MAC address configured
21397 /* enum: Privilege that allows a Function to install filters that specify VLANs
21400 * only a set of permitted VLANs. See the vPort flag FLAG_VLAN_RESTRICT.
21409 * an adapter has Bound to a remote ServerLock Controller (see doxbox
21419 /* enum: A dynamic client with this privilege may perform all the same DMA
21423 /* enum: A client with this privilege may perform DMA as any PCIe function on
21429 /* enum: Set this bit to indicate that a new privilege mask is to be set,
21435 #define MC_CMD_PRIVILEGE_MASK_OUT_LEN 4
21438 #define MC_CMD_PRIVILEGE_MASK_OUT_OLD_MASK_LEN 4
21443 * Read/set link state mode of a VF
21452 /* The target function to have its link state mode read or set, must be a VF
21456 #define MC_CMD_LINK_STATE_MODE_IN_FUNCTION_LEN 4
21464 #define MC_CMD_LINK_STATE_MODE_IN_NEW_MODE_OFST 4
21465 #define MC_CMD_LINK_STATE_MODE_IN_NEW_MODE_LEN 4
21474 #define MC_CMD_LINK_STATE_MODE_OUT_LEN 4
21476 #define MC_CMD_LINK_STATE_MODE_OUT_OLD_MODE_LEN 4
21479 #define TUNNEL_ENCAP_UDP_PORT_ENTRY_LEN 4
21506 * cause all functions to see a reset. (Available on Medford only.)
21514 #define MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_IN_LENMIN 4
21517 #define MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_IN_LEN(num) (4+4*(num))
21518 #define MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_IN_ENTRIES_NUM(len) (((len)-4)/4)
21528 /* Entries defining the UDP port to protocol mapping, each laid out as a
21531 #define MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_IN_ENTRIES_OFST 4
21532 #define MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_IN_ENTRIES_LEN 4
21549 * Update the timer load, timer reload and timer mode values for a given EVQ.
21565 #define MC_CMD_SET_EVQ_TMR_IN_INSTANCE_LEN 4
21567 #define MC_CMD_SET_EVQ_TMR_IN_TMR_LOAD_REQ_NS_OFST 4
21568 #define MC_CMD_SET_EVQ_TMR_IN_TMR_LOAD_REQ_NS_LEN 4
21571 #define MC_CMD_SET_EVQ_TMR_IN_TMR_RELOAD_REQ_NS_LEN 4
21574 #define MC_CMD_SET_EVQ_TMR_IN_TMR_MODE_LEN 4
21584 #define MC_CMD_SET_EVQ_TMR_OUT_TMR_LOAD_ACT_NS_LEN 4
21586 #define MC_CMD_SET_EVQ_TMR_OUT_TMR_RELOAD_ACT_NS_OFST 4
21587 #define MC_CMD_SET_EVQ_TMR_OUT_TMR_RELOAD_ACT_NS_LEN 4
21606 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_FLAGS_LEN 4
21609 * requested duration of a timer is this value multiplied by the timer
21612 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_TMR_REG_NS_PER_COUNT_OFST 4
21613 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_TMR_REG_NS_PER_COUNT_LEN 4
21618 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_TMR_REG_MAX_COUNT_LEN 4
21619 /* For timers updated via writes to EVQ_TMR_REG, timer load/reload counts not a
21624 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_TMR_REG_STEP_LEN 4
21629 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_MCDI_TMR_MAX_NS_LEN 4
21630 /* Timer durations requested via MCDI that are not a multiple of this step size
21634 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_MCDI_TMR_STEP_NS_LEN 4
21637 * requested duration of a timer is this value multiplied by the timer
21642 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_BUG35388_TMR_NS_PER_COUNT_LEN 4
21648 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_BUG35388_TMR_MAX_COUNT_LEN 4
21650 * not a multiple of this step size will be rounded in an implementation
21655 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_BUG35388_TMR_STEP_LEN 4
21657 /* CLIENT_HANDLE structuredef: A client is an abstract entity that can make
21659 * Examples of clients include PCIe functions and dynamic clients. A client
21660 * handle is a 32b opaque value used to refer to a client. Further details can
21663 #define CLIENT_HANDLE_LEN 4
21665 #define CLIENT_HANDLE_OPAQUE_LEN 4
21666 /* enum: A client handle guaranteed never to refer to a real client. */
21723 #define SCHED_CREDIT_CHECK_RESULT_NODE_INDEX_OFST 4
21724 #define SCHED_CREDIT_CHECK_RESULT_NODE_INDEX_LEN 4
21729 #define SCHED_CREDIT_CHECK_RESULT_EXPECTED_CREDITS_LEN 4
21734 #define SCHED_CREDIT_CHECK_RESULT_ACTUAL_CREDITS_LEN 4
21741 …* Returns a description of the mapping from DESC_ADDR to TRGT_ADDR for the calling function's addr…
21752 #define MC_CMD_GET_DESC_ADDR_INFO_OUT_LEN 4
21757 #define MC_CMD_GET_DESC_ADDR_INFO_OUT_MAPPING_TYPE_LEN 4
21768 …* Returns a list of the DESC_ADDR regions for the calling function's address space. Only valid if…
21796 …* Set the base TRGT_ADDR for a set of DESC_ADDR regions for the calling function's address space. …
21809 /* A bitmask indicating which regions should have their base TRGT_ADDR updated.
21810 * To update the base TRGR_ADDR for a DESC_ADDR region, the corresponding bit
21814 #define MC_CMD_SET_DESC_ADDR_REGIONS_IN_SET_REGION_MASK_LEN 4
21816 #define MC_CMD_SET_DESC_ADDR_REGIONS_IN_RSVD_OFST 4
21817 #define MC_CMD_SET_DESC_ADDR_REGIONS_IN_RSVD_LEN 4
21826 #define MC_CMD_SET_DESC_ADDR_REGIONS_IN_TRGT_ADDR_BASE_LO_LEN 4
21830 #define MC_CMD_SET_DESC_ADDR_REGIONS_IN_TRGT_ADDR_BASE_HI_LEN 4
21843 * Execute an arbitrary MCDI command on behalf of a different client. The
21847 * indicated client. The given client must be a descendant of the requestor.
21858 #define MC_CMD_CLIENT_CMD_IN_LEN 4
21861 #define MC_CMD_CLIENT_CMD_IN_CLIENT_ID_LEN 4
21869 * Create a new client object. Clients are a system for delineating NIC
21870 * resource ownership, such that groups of resources may be torn down as a
21872 * and a glossary. Clients created by this command are known as "dynamic
21873 * clients". The newly-created client is a child of the client which sent this
21887 #define MC_CMD_CLIENT_ALLOC_OUT_LEN 4
21890 #define MC_CMD_CLIENT_ALLOC_OUT_CLIENT_ID_LEN 4
21905 #define MC_CMD_CLIENT_FREE_IN_LEN 4
21906 /* The ID of the client to be freed. This client must be a descendant of the
21907 * requestor. A client cannot free itself.
21910 #define MC_CMD_CLIENT_FREE_IN_CLIENT_ID_LEN 4
21919 * and a 'user'. The owner is the client which allocated the VI
21936 #define MC_CMD_SET_VI_USER_IN_INSTANCE_LEN 4
21937 /* Client ID to become the new user. This must be a descendant of the owning
21941 #define MC_CMD_SET_VI_USER_IN_CLIENT_ID_OFST 4
21942 #define MC_CMD_SET_VI_USER_IN_CLIENT_ID_LEN 4
21950 * A device reports a set of MAC addresses for each client to use, known as the
21953 * a hint to that client which MAC address its administrator would like to use
21956 * with switching within the device. There is no guarantee that a client will
21957 * be able to send traffic with a source MAC address taken from the list of MAC
21958 * address reported, nor is there a guarantee that a client will be able to
21959 * resource traffic with a destination MAC taken from the list of MAC
21960 * addresses. Likewise, there is no guarantee that a client will not be able to
21961 * use a MAC address not present in the list. Restrictions on switching are
21964 * tenants to use this API whilst a provider is using the EVB API, the MAC
21967 * to allow tenants to use the EVB API whilst a provider is using this API, if
21968 * a client queries the MAC addresses for a vPort using the host_evb_port_id
21971 * (i.e. MC_CMD_VPORT_GET_MAC_ADDRESSES) or implicit (e.g. creation of a
21972 * vAdaptor with a NULL/automatic MAC address). Changing the MAC address on a
21975 * clients. On VirtIO device reset, a vAdaptor is created with an automatic MAC
21986 #define MC_CMD_GET_CLIENT_MAC_ADDRESSES_IN_LEN 4
21987 /* A handle for the client for whom MAC address should be obtained. Use
21992 #define MC_CMD_GET_CLIENT_MAC_ADDRESSES_IN_CLIENT_HANDLE_LEN 4
22010 * Set the permanent MAC addresses for a client. The caller must by an
22020 #define MC_CMD_SET_CLIENT_MAC_ADDRESSES_IN_LENMIN 4
22023 #define MC_CMD_SET_CLIENT_MAC_ADDRESSES_IN_LEN(num) (4+6*(num))
22024 #define MC_CMD_SET_CLIENT_MAC_ADDRESSES_IN_MAC_ADDRS_NUM(len) (((len)-4)/6)
22025 /* A handle for the client for whom MAC addresses should be set */
22027 #define MC_CMD_SET_CLIENT_MAC_ADDRESSES_IN_CLIENT_HANDLE_LEN 4
22029 #define MC_CMD_SET_CLIENT_MAC_ADDRESSES_IN_MAC_ADDRS_OFST 4
22056 #define MC_CMD_CHECK_SCHEDULER_CREDITS_IN_FLAGS_LEN 4
22061 * into pages. This field specifies which (0-indexed) page to request. A
22067 #define MC_CMD_CHECK_SCHEDULER_CREDITS_IN_PAGE_OFST 4
22068 #define MC_CMD_CHECK_SCHEDULER_CREDITS_IN_PAGE_LEN 4
22078 #define MC_CMD_CHECK_SCHEDULER_CREDITS_OUT_TOTAL_RESULTS_LEN 4
22080 #define MC_CMD_CHECK_SCHEDULER_CREDITS_OUT_NUM_PAGES_OFST 4
22081 #define MC_CMD_CHECK_SCHEDULER_CREDITS_OUT_NUM_PAGES_LEN 4
22084 #define MC_CMD_CHECK_SCHEDULER_CREDITS_OUT_RESULTS_THIS_PAGE_LEN 4
22085 /* Result generation count. Incremented any time a request is made with PAGE=0.
22088 #define MC_CMD_CHECK_SCHEDULER_CREDITS_OUT_GENERATION_LEN 4
22099 * Get a list of the virtio features supported by the device.
22107 #define MC_CMD_VIRTIO_GET_FEATURES_IN_LEN 4
22112 #define MC_CMD_VIRTIO_GET_FEATURES_IN_DEVICE_ID_LEN 4
22122 /* Features supported by the device. The result is a bitfield in the format of
22130 #define MC_CMD_VIRTIO_GET_FEATURES_OUT_FEATURES_LO_LEN 4
22133 #define MC_CMD_VIRTIO_GET_FEATURES_OUT_FEATURES_HI_OFST 4
22134 #define MC_CMD_VIRTIO_GET_FEATURES_OUT_FEATURES_HI_LEN 4
22141 * Query whether a given set of features is supported. Fails with ENOSUP if the
22142 * driver requests a feature the device doesn't support. Fails with EINVAL if
22143 * the driver fails to request a feature which the device requires.
22156 #define MC_CMD_VIRTIO_TEST_FEATURES_IN_DEVICE_ID_LEN 4
22159 #define MC_CMD_VIRTIO_TEST_FEATURES_IN_RESERVED_OFST 4
22160 #define MC_CMD_VIRTIO_TEST_FEATURES_IN_RESERVED_LEN 4
22167 #define MC_CMD_VIRTIO_TEST_FEATURES_IN_FEATURES_LO_LEN 4
22171 #define MC_CMD_VIRTIO_TEST_FEATURES_IN_FEATURES_HI_LEN 4
22181 * Create a virtio virtqueue. Fails with EALREADY if the queue already exists.
22182 * Fails with ENOSUP if a feature is requested that isn't supported. Fails with
22183 * EINVAL if a required feature isn't requested, or any other parameter is
22193 /* Type of virtqueue to create. A network rxq and a txq can exist at the same
22194 * time on a single VI.
22198 /* enum: A network device receive queue */
22200 /* enum: A network device transmit queue */
22202 /* enum: A block device request queue */
22206 /* If the calling function is a PF and this field is not VF_NULL, create the
22216 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_INSTANCE_OFST 4
22217 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_INSTANCE_LEN 4
22218 /* Queue size, in entries. Must be a power of two. */
22220 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_SIZE_LEN 4
22223 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_FLAGS_LEN 4
22231 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_DESC_TBL_ADDR_LO_LEN 4
22235 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_DESC_TBL_ADDR_HI_LEN 4
22242 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_AVAIL_RING_ADDR_LO_LEN 4
22246 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_AVAIL_RING_ADDR_HI_LEN 4
22253 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_USED_RING_ADDR_LO_LEN 4
22257 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_USED_RING_ADDR_HI_LEN 4
22264 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_PASID_LEN 4
22275 * spec and in the return from MC_CMD_VIRTIO_GET_FEATURES. Must be a subset of
22283 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_FEATURES_LO_LEN 4
22287 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_FEATURES_HI_LEN 4
22295 * equivalent if the original queue was on a thirdparty device). Otherwise, it
22299 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_INITIAL_AVAIL_IDX_LEN 4
22302 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_INITIAL_PIDX_LEN 4
22306 * the original queue was on a thirdparty device). Otherwise, it should be
22310 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_INITIAL_USED_IDX_LEN 4
22313 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_INITIAL_CIDX_LEN 4
22314 /* A MAE_MPORT_SELECTOR defining which mport this queue should be associated
22319 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_MPORT_SELECTOR_LEN 4
22327 * Destroy a virtio virtqueue
22343 /* If the calling function is a PF and this field is not VF_NULL, destroy the
22351 #define MC_CMD_VIRTIO_FINI_QUEUE_REQ_INSTANCE_OFST 4
22352 #define MC_CMD_VIRTIO_FINI_QUEUE_REQ_INSTANCE_LEN 4
22358 #define MC_CMD_VIRTIO_FINI_QUEUE_RESP_FINAL_AVAIL_IDX_LEN 4
22361 #define MC_CMD_VIRTIO_FINI_QUEUE_RESP_FINAL_PIDX_LEN 4
22363 #define MC_CMD_VIRTIO_FINI_QUEUE_RESP_FINAL_USED_IDX_OFST 4
22364 #define MC_CMD_VIRTIO_FINI_QUEUE_RESP_FINAL_USED_IDX_LEN 4
22366 #define MC_CMD_VIRTIO_FINI_QUEUE_RESP_FINAL_CIDX_OFST 4
22367 #define MC_CMD_VIRTIO_FINI_QUEUE_RESP_FINAL_CIDX_LEN 4
22372 * Get the offset in the BAR of the doorbells for a VI. Doesn't require the
22391 /* If the calling function is a PF and this field is not VF_NULL, query the VI
22399 #define MC_CMD_VIRTIO_GET_DOORBELL_OFFSET_REQ_INSTANCE_OFST 4
22400 #define MC_CMD_VIRTIO_GET_DOORBELL_OFFSET_REQ_INSTANCE_LEN 4
22406 #define MC_CMD_VIRTIO_GET_NET_DOORBELL_OFFSET_RESP_RX_DBL_OFFSET_LEN 4
22408 #define MC_CMD_VIRTIO_GET_NET_DOORBELL_OFFSET_RESP_TX_DBL_OFFSET_OFST 4
22409 #define MC_CMD_VIRTIO_GET_NET_DOORBELL_OFFSET_RESP_TX_DBL_OFFSET_LEN 4
22412 #define MC_CMD_VIRTIO_GET_BLOCK_DOORBELL_OFFSET_RESP_LEN 4
22415 #define MC_CMD_VIRTIO_GET_BLOCK_DOORBELL_OFFSET_RESP_DBL_OFFSET_LEN 4
22417 /* PCIE_FUNCTION structuredef: Structure representing a PCIe function ID
22439 /* enum: Function is a PF (when PF != PF_NULL) or invalid function (when PF ==
22448 #define PCIE_FUNCTION_INTF_OFST 4
22449 #define PCIE_FUNCTION_INTF_LEN 4
22464 * Obtain a handle for a client given a description of that client. N.B. this
22476 /* Type of client to get a client handle for */
22478 #define MC_CMD_GET_CLIENT_HANDLE_IN_TYPE_LEN 4
22479 /* enum: Obtain a client handle for a PCIe function-type client. */
22483 * INTF=CALLER, PF=PF_NULL, VF=... to refer to a VF child of the calling PF or
22484 * a sibling VF of the calling VF. - INTF=CALLER, PF=..., VF=VF_NULL to refer
22485 * to a PF on the calling interface - INTF=CALLER, PF=..., VF=... to refer to a
22487 * the named interface itself - INTF=..., PF=..., VF=VF_NULL to refer to a PF
22488 * on a named interface - INTF=..., PF=..., VF=... to refer to a VF on a named
22489 * interface where ... refers to a small integer for the VF/PF fields, and to
22491 * meaningful to use INTF=CALLER within a structure that's an argument to
22494 #define MC_CMD_GET_CLIENT_HANDLE_IN_FUNC_OFST 4
22496 #define MC_CMD_GET_CLIENT_HANDLE_IN_FUNC_LO_OFST 4
22497 #define MC_CMD_GET_CLIENT_HANDLE_IN_FUNC_LO_LEN 4
22501 #define MC_CMD_GET_CLIENT_HANDLE_IN_FUNC_HI_LEN 4
22509 #define MC_CMD_GET_CLIENT_HANDLE_IN_FUNC_PF_OFST 4
22514 #define MC_CMD_GET_CLIENT_HANDLE_IN_FUNC_INTF_LEN 4
22517 #define MC_CMD_GET_CLIENT_HANDLE_OUT_LEN 4
22519 #define MC_CMD_GET_CLIENT_HANDLE_OUT_HANDLE_LEN 4
22522 #define MAE_FIELD_FLAGS_LEN 4
22524 #define MAE_FIELD_FLAGS_FLAT_LEN 4
22538 * it makes sense to use to determine the encapsulation type of a packet. Its
22539 * intended use is to keep a common packing of fields across multiple MCDI
22541 * use in an MCDI command, the command should end with a variable length byte
22548 #define MAE_ENC_FIELD_PAIRS_INGRESS_MPORT_SELECTOR_LEN 4
22551 #define MAE_ENC_FIELD_PAIRS_INGRESS_MPORT_SELECTOR_MASK_OFST 4
22552 #define MAE_ENC_FIELD_PAIRS_INGRESS_MPORT_SELECTOR_MASK_LEN 4
22612 #define MAE_ENC_FIELD_PAIRS_ENC_SRC_IP4_BE_LEN 4
22616 #define MAE_ENC_FIELD_PAIRS_ENC_SRC_IP4_BE_MASK_LEN 4
22628 #define MAE_ENC_FIELD_PAIRS_ENC_DST_IP4_BE_LEN 4
22632 #define MAE_ENC_FIELD_PAIRS_ENC_DST_IP4_BE_MASK_LEN 4
22706 #define MAE_ENC_FIELD_PAIRS_ENC_IP_FLAGS_BE_LEN 4
22710 #define MAE_ENC_FIELD_PAIRS_ENC_IP_FLAGS_BE_MASK_LEN 4
22735 #define MAE_FIELD_MASK_VALUE_PAIRS_INGRESS_MPORT_SELECTOR_LEN 4
22738 #define MAE_FIELD_MASK_VALUE_PAIRS_INGRESS_MPORT_SELECTOR_MASK_OFST 4
22739 #define MAE_FIELD_MASK_VALUE_PAIRS_INGRESS_MPORT_SELECTOR_MASK_LEN 4
22743 #define MAE_FIELD_MASK_VALUE_PAIRS_MARK_LEN 4
22747 #define MAE_FIELD_MASK_VALUE_PAIRS_MARK_MASK_LEN 4
22807 #define MAE_FIELD_MASK_VALUE_PAIRS_SRC_IP4_BE_LEN 4
22811 #define MAE_FIELD_MASK_VALUE_PAIRS_SRC_IP4_BE_MASK_LEN 4
22823 #define MAE_FIELD_MASK_VALUE_PAIRS_DST_IP4_BE_LEN 4
22827 #define MAE_FIELD_MASK_VALUE_PAIRS_DST_IP4_BE_MASK_LEN 4
22867 #define MAE_FIELD_MASK_VALUE_PAIRS_IP_FLAGS_BE_LEN 4
22871 #define MAE_FIELD_MASK_VALUE_PAIRS_IP_FLAGS_BE_MASK_LEN 4
22899 #define MAE_FIELD_MASK_VALUE_PAIRS_ENCAP_TYPE_LEN 4
22903 #define MAE_FIELD_MASK_VALUE_PAIRS_ENCAP_TYPE_MASK_LEN 4
22907 #define MAE_FIELD_MASK_VALUE_PAIRS_OUTER_RULE_ID_LEN 4
22911 #define MAE_FIELD_MASK_VALUE_PAIRS_OUTER_RULE_ID_MASK_LEN 4
22971 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_SRC_IP4_BE_LEN 4
22975 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_SRC_IP4_BE_MASK_LEN 4
22987 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_DST_IP4_BE_LEN 4
22991 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_DST_IP4_BE_MASK_LEN 4
23027 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_IP_FLAGS_BE_LEN 4
23031 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_IP_FLAGS_BE_MASK_LEN 4
23051 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_VNET_ID_BE_LEN 4
23055 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_VNET_ID_BE_MASK_LEN 4
23062 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_INGRESS_MPORT_SELECTOR_LEN 4
23065 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_INGRESS_MPORT_SELECTOR_MASK_OFST 4
23066 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_INGRESS_MPORT_SELECTOR_MASK_LEN 4
23070 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_MARK_LEN 4
23074 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_MARK_MASK_LEN 4
23134 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_SRC_IP4_BE_LEN 4
23138 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_SRC_IP4_BE_MASK_LEN 4
23150 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_DST_IP4_BE_LEN 4
23154 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_DST_IP4_BE_MASK_LEN 4
23194 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_IP_FLAGS_BE_LEN 4
23198 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_IP_FLAGS_BE_MASK_LEN 4
23226 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENCAP_TYPE_LEN 4
23230 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENCAP_TYPE_MASK_LEN 4
23234 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_OUTER_RULE_ID_LEN 4
23238 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_OUTER_RULE_ID_MASK_LEN 4
23298 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_SRC_IP4_BE_LEN 4
23302 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_SRC_IP4_BE_MASK_LEN 4
23314 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_DST_IP4_BE_LEN 4
23318 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_DST_IP4_BE_MASK_LEN 4
23354 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_IP_FLAGS_BE_LEN 4
23358 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_IP_FLAGS_BE_MASK_LEN 4
23378 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_VNET_ID_BE_LEN 4
23382 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_VNET_ID_BE_MASK_LEN 4
23386 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_FLAGS_LEN 4
23400 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_HAS_OVLAN_LBN 4
23420 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_FLAGS_MASK_LEN 4
23432 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_CT_MARK_LEN 4
23436 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_CT_MARK_MASK_LEN 4
23479 * (whichever is narrower). This selector structure provides a stable way to
23482 #define MAE_MPORT_SELECTOR_LEN 4
23486 #define MAE_MPORT_SELECTOR_FLAT_LEN 4
23487 /* enum: An m-port selector value that is guaranteed never to represent a real
23496 /* enum: The MPORT connected to a given physical port */
23498 /* enum: The MPORT assigned to a given PCIe function. Deprecated in favour of
23504 /* enum: The MPORT assigned to a given PCIe function (see also FWRIVERHD-1108)
23507 /* enum: This is guaranteed never to be a valid selector type */
23514 #define MAE_MPORT_SELECTOR_PPORT_ID_WIDTH 4
23517 #define MAE_MPORT_SELECTOR_FUNC_INTF_ID_WIDTH 4
23525 #define MAE_MPORT_SELECTOR_FUNC_MH_PF_ID_WIDTH 4
23532 /* enum: Used for VF_ID to indicate a physical function. */
23535 * client. - When used by a PF with VF_ID == VF_ID_NULL, the mport selector
23537 * clients use ASSIGNED to achieve this behaviour). - When used by a PF with
23538 * VF_ID != VF_ID_NULL, the mport selector relates to a VF child of the calling
23539 * function. - When used by a VF with VF_ID == VF_ID_NULL, the mport selector
23540 * relates to the PF owning the calling function. - When used by a VF with
23541 * VF_ID != VF_ID_NULL, the mport selector relates to a sibling VF of the
23542 * calling function. - Not meaningful used by a client that is not a PCIe
23553 /* MAE_LINK_ENDPOINT_SELECTOR structuredef: Structure that identifies a real or
23558 * will work in all circumstances. 1. Some will always work (e.g. a VF can
23561 * to address the VNIC end of a link to a physical port), 3. Some are
23563 * fail with EPERM otherwise (e.g. trying to set the MAC on a VF the caller
23564 * cannot administer), and 4. Some could be implementation-specific and fail
23571 #define MAE_LINK_ENDPOINT_SELECTOR_MPORT_SELECTOR_LEN 4
23575 #define MAE_LINK_ENDPOINT_SELECTOR_LINK_END_OFST 4
23576 #define MAE_LINK_ENDPOINT_SELECTOR_LINK_END_LEN 4
23581 /* A field for accessing the endpoint selector as a collection of bits */
23585 #define MAE_LINK_ENDPOINT_SELECTOR_FLAT_LO_LEN 4
23588 #define MAE_LINK_ENDPOINT_SELECTOR_FLAT_HI_OFST 4
23589 #define MAE_LINK_ENDPOINT_SELECTOR_FLAT_HI_LEN 4
23593 * commands that have been extended to take a MAE_LINK_ENDPOINT_SELECTOR
23616 /* The number of field IDs that the NIC supports. Any field with a ID greater
23618 * a support level of MAE_FIELD_UNSUPPORTED in all requests.
23621 #define MC_CMD_MAE_GET_CAPS_OUT_MATCH_FIELD_COUNT_LEN 4
23622 #define MC_CMD_MAE_GET_CAPS_OUT_ENCAP_TYPES_SUPPORTED_OFST 4
23623 #define MC_CMD_MAE_GET_CAPS_OUT_ENCAP_TYPES_SUPPORTED_LEN 4
23624 #define MC_CMD_MAE_GET_CAPS_OUT_ENCAP_TYPE_VXLAN_OFST 4
23627 #define MC_CMD_MAE_GET_CAPS_OUT_ENCAP_TYPE_NVGRE_OFST 4
23630 #define MC_CMD_MAE_GET_CAPS_OUT_ENCAP_TYPE_GENEVE_OFST 4
23633 #define MC_CMD_MAE_GET_CAPS_OUT_ENCAP_TYPE_L2GRE_OFST 4
23638 #define MC_CMD_MAE_GET_CAPS_OUT_COUNTERS_LEN 4
23641 #define MC_CMD_MAE_GET_CAPS_OUT_AR_COUNTERS_LEN 4
23642 /* The total number of counters lists available to allocate. A value of zero
23647 #define MC_CMD_MAE_GET_CAPS_OUT_COUNTER_LISTS_LEN 4
23650 #define MC_CMD_MAE_GET_CAPS_OUT_ENCAP_HEADER_LIMIT_LEN 4
23653 #define MC_CMD_MAE_GET_CAPS_OUT_RSVD_LEN 4
23656 #define MC_CMD_MAE_GET_CAPS_OUT_ACTION_SETS_LEN 4
23659 #define MC_CMD_MAE_GET_CAPS_OUT_ACTION_SET_LISTS_LEN 4
23662 #define MC_CMD_MAE_GET_CAPS_OUT_OUTER_RULES_LEN 4
23665 #define MC_CMD_MAE_GET_CAPS_OUT_ACTION_RULES_LEN 4
23667 * install a MATCH_ACTION filter with a priority number >= ACTION_PRIOS.
23670 #define MC_CMD_MAE_GET_CAPS_OUT_ACTION_PRIOS_LEN 4
23672 * install an OUTER_RULE filter with a priority number >= OUTER_PRIOS.
23675 #define MC_CMD_MAE_GET_CAPS_OUT_OUTER_PRIOS_LEN 4
23679 * a fatal error.
23682 #define MC_CMD_MAE_GET_CAPS_OUT_API_VER_LEN 4
23686 /* The number of field IDs that the NIC supports. Any field with a ID greater
23688 * a support level of MAE_FIELD_UNSUPPORTED in all requests.
23691 #define MC_CMD_MAE_GET_CAPS_V2_OUT_MATCH_FIELD_COUNT_LEN 4
23692 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ENCAP_TYPES_SUPPORTED_OFST 4
23693 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ENCAP_TYPES_SUPPORTED_LEN 4
23694 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ENCAP_TYPE_VXLAN_OFST 4
23697 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ENCAP_TYPE_NVGRE_OFST 4
23700 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ENCAP_TYPE_GENEVE_OFST 4
23703 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ENCAP_TYPE_L2GRE_OFST 4
23708 #define MC_CMD_MAE_GET_CAPS_V2_OUT_COUNTERS_LEN 4
23711 #define MC_CMD_MAE_GET_CAPS_V2_OUT_AR_COUNTERS_LEN 4
23712 /* The total number of counters lists available to allocate. A value of zero
23717 #define MC_CMD_MAE_GET_CAPS_V2_OUT_COUNTER_LISTS_LEN 4
23720 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ENCAP_HEADER_LIMIT_LEN 4
23723 #define MC_CMD_MAE_GET_CAPS_V2_OUT_RSVD_LEN 4
23726 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ACTION_SETS_LEN 4
23729 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ACTION_SET_LISTS_LEN 4
23732 #define MC_CMD_MAE_GET_CAPS_V2_OUT_OUTER_RULES_LEN 4
23735 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ACTION_RULES_LEN 4
23737 * install a MATCH_ACTION filter with a priority number >= ACTION_PRIOS.
23740 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ACTION_PRIOS_LEN 4
23742 * install an OUTER_RULE filter with a priority number >= OUTER_PRIOS.
23745 #define MC_CMD_MAE_GET_CAPS_V2_OUT_OUTER_PRIOS_LEN 4
23749 * a fatal error.
23752 #define MC_CMD_MAE_GET_CAPS_V2_OUT_API_VER_LEN 4
23753 /* Mask of supported counter types. Each bit position corresponds to a value of
23760 #define MC_CMD_MAE_GET_CAPS_V2_OUT_COUNTER_TYPES_SUPPORTED_LEN 4
23763 #define MC_CMD_MAE_GET_CAPS_V2_OUT_CT_COUNTERS_LEN 4
23767 /* The number of field IDs that the NIC supports. Any field with a ID greater
23769 * a support level of MAE_FIELD_UNSUPPORTED in all requests.
23772 #define MC_CMD_MAE_GET_CAPS_V3_OUT_MATCH_FIELD_COUNT_LEN 4
23773 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ENCAP_TYPES_SUPPORTED_OFST 4
23774 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ENCAP_TYPES_SUPPORTED_LEN 4
23775 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ENCAP_TYPE_VXLAN_OFST 4
23778 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ENCAP_TYPE_NVGRE_OFST 4
23781 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ENCAP_TYPE_GENEVE_OFST 4
23784 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ENCAP_TYPE_L2GRE_OFST 4
23789 #define MC_CMD_MAE_GET_CAPS_V3_OUT_COUNTERS_LEN 4
23792 #define MC_CMD_MAE_GET_CAPS_V3_OUT_AR_COUNTERS_LEN 4
23793 /* The total number of counters lists available to allocate. A value of zero
23798 #define MC_CMD_MAE_GET_CAPS_V3_OUT_COUNTER_LISTS_LEN 4
23801 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ENCAP_HEADER_LIMIT_LEN 4
23804 #define MC_CMD_MAE_GET_CAPS_V3_OUT_RSVD_LEN 4
23807 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ACTION_SETS_LEN 4
23810 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ACTION_SET_LISTS_LEN 4
23813 #define MC_CMD_MAE_GET_CAPS_V3_OUT_OUTER_RULES_LEN 4
23816 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ACTION_RULES_LEN 4
23818 * install a MATCH_ACTION filter with a priority number >= ACTION_PRIOS.
23821 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ACTION_PRIOS_LEN 4
23823 * install an OUTER_RULE filter with a priority number >= OUTER_PRIOS.
23826 #define MC_CMD_MAE_GET_CAPS_V3_OUT_OUTER_PRIOS_LEN 4
23830 * a fatal error.
23833 #define MC_CMD_MAE_GET_CAPS_V3_OUT_API_VER_LEN 4
23834 /* Mask of supported counter types. Each bit position corresponds to a value of
23841 #define MC_CMD_MAE_GET_CAPS_V3_OUT_COUNTER_TYPES_SUPPORTED_LEN 4
23844 #define MC_CMD_MAE_GET_CAPS_V3_OUT_CT_COUNTERS_LEN 4
23847 #define MC_CMD_MAE_GET_CAPS_V3_OUT_OR_COUNTERS_LEN 4
23852 * Get a level of support for match fields when used in match-action rules
23863 #define MC_CMD_MAE_GET_AR_CAPS_OUT_LENMIN 4
23866 #define MC_CMD_MAE_GET_AR_CAPS_OUT_LEN(num) (4+4*(num))
23867 #define MC_CMD_MAE_GET_AR_CAPS_OUT_FIELD_FLAGS_NUM(len) (((len)-4)/4)
23870 #define MC_CMD_MAE_GET_AR_CAPS_OUT_COUNT_LEN 4
23871 /* Array of values indicating the NIC's support for a given field, indexed by
23875 #define MC_CMD_MAE_GET_AR_CAPS_OUT_FIELD_FLAGS_OFST 4
23876 #define MC_CMD_MAE_GET_AR_CAPS_OUT_FIELD_FLAGS_LEN 4
23884 * Get a level of support for fields used in outer rule keys.
23895 #define MC_CMD_MAE_GET_OR_CAPS_OUT_LENMIN 4
23898 #define MC_CMD_MAE_GET_OR_CAPS_OUT_LEN(num) (4+4*(num))
23899 #define MC_CMD_MAE_GET_OR_CAPS_OUT_FIELD_FLAGS_NUM(len) (((len)-4)/4)
23902 #define MC_CMD_MAE_GET_OR_CAPS_OUT_COUNT_LEN 4
23904 #define MC_CMD_MAE_GET_OR_CAPS_OUT_FIELD_FLAGS_OFST 4
23905 #define MC_CMD_MAE_GET_OR_CAPS_OUT_FIELD_FLAGS_LEN 4
23924 #define MC_CMD_MAE_COUNTER_ALLOC_IN_LEN 4
23927 #define MC_CMD_MAE_COUNTER_ALLOC_IN_REQUESTED_COUNT_LEN 4
23933 #define MC_CMD_MAE_COUNTER_ALLOC_V2_IN_REQUESTED_COUNT_LEN 4
23935 #define MC_CMD_MAE_COUNTER_ALLOC_V2_IN_COUNTER_TYPE_OFST 4
23936 #define MC_CMD_MAE_COUNTER_ALLOC_V2_IN_COUNTER_TYPE_LEN 4
23944 #define MC_CMD_MAE_COUNTER_ALLOC_OUT_LEN(num) (8+4*(num))
23945 #define MC_CMD_MAE_COUNTER_ALLOC_OUT_COUNTER_ID_NUM(len) (((len)-8)/4)
23953 #define MC_CMD_MAE_COUNTER_ALLOC_OUT_GENERATION_COUNT_LEN 4
23957 * failure to allocate a single counter will cause an error to be returned. It
23960 #define MC_CMD_MAE_COUNTER_ALLOC_OUT_COUNTER_ID_COUNT_OFST 4
23961 #define MC_CMD_MAE_COUNTER_ALLOC_OUT_COUNTER_ID_COUNT_LEN 4
23964 #define MC_CMD_MAE_COUNTER_ALLOC_OUT_COUNTER_ID_LEN 4
23968 /* enum: A counter ID that is guaranteed never to represent a real counter */
23989 #define MC_CMD_MAE_COUNTER_FREE_IN_LEN(num) (4+4*(num))
23990 #define MC_CMD_MAE_COUNTER_FREE_IN_FREE_COUNTER_ID_NUM(len) (((len)-4)/4)
23993 #define MC_CMD_MAE_COUNTER_FREE_IN_COUNTER_ID_COUNT_LEN 4
23995 #define MC_CMD_MAE_COUNTER_FREE_IN_FREE_COUNTER_ID_OFST 4
23996 #define MC_CMD_MAE_COUNTER_FREE_IN_FREE_COUNTER_ID_LEN 4
24005 #define MC_CMD_MAE_COUNTER_FREE_V2_IN_COUNTER_ID_COUNT_LEN 4
24007 #define MC_CMD_MAE_COUNTER_FREE_V2_IN_FREE_COUNTER_ID_OFST 4
24008 #define MC_CMD_MAE_COUNTER_FREE_V2_IN_FREE_COUNTER_ID_LEN 4
24014 #define MC_CMD_MAE_COUNTER_FREE_V2_IN_COUNTER_TYPE_LEN 4
24022 #define MC_CMD_MAE_COUNTER_FREE_OUT_LEN(num) (8+4*(num))
24023 #define MC_CMD_MAE_COUNTER_FREE_OUT_FREED_COUNTER_ID_NUM(len) (((len)-8)/4)
24024 /* Generation count. A packet with generation count == GENERATION_COUNT will
24028 * a packet with generation count > GENERATION_COUNT guarantees that no more
24030 * are present, the counter ID has been reallocated. A counter ID will not be
24031 * reallocated within a single read cycle as this would merge increments from
24036 #define MC_CMD_MAE_COUNTER_FREE_OUT_GENERATION_COUNT_LEN 4
24038 * to free a single counter will cause an error to be returned. It is never
24042 #define MC_CMD_MAE_COUNTER_FREE_OUT_COUNTER_ID_COUNT_OFST 4
24043 #define MC_CMD_MAE_COUNTER_FREE_OUT_COUNTER_ID_COUNT_LEN 4
24045 * failure to free a counter can only occur on incorrect driver behaviour, so
24047 * debugging, attempting to free a single counter at a time will provide a
24051 #define MC_CMD_MAE_COUNTER_FREE_OUT_FREED_COUNTER_ID_LEN 4
24060 * Counters allocated to the calling function will be written in a round robin
24061 * at a fixed cycle rate, assuming sufficient credits are available. The driver
24062 * may cause the counter values to be written at a slower rate by constraining
24064 * packets to a different queue, it must call MAE_COUNTERS_STREAM_STOP to stop
24083 #define MC_CMD_MAE_COUNTERS_STREAM_START_IN_FLAGS_OFST 4
24084 #define MC_CMD_MAE_COUNTERS_STREAM_START_IN_FLAGS_LEN 4
24085 #define MC_CMD_MAE_COUNTERS_STREAM_START_IN_ZERO_SQUASH_DISABLE_OFST 4
24088 #define MC_CMD_MAE_COUNTERS_STREAM_START_IN_COUNTER_STALL_EN_OFST 4
24101 #define MC_CMD_MAE_COUNTERS_STREAM_START_V2_IN_FLAGS_OFST 4
24102 #define MC_CMD_MAE_COUNTERS_STREAM_START_V2_IN_FLAGS_LEN 4
24103 #define MC_CMD_MAE_COUNTERS_STREAM_START_V2_IN_ZERO_SQUASH_DISABLE_OFST 4
24106 #define MC_CMD_MAE_COUNTERS_STREAM_START_V2_IN_COUNTER_STALL_EN_OFST 4
24110 * corresponds to a value of the MAE_COUNTER_TYPE enum. For example a value of
24111 * 0x3 requests both AR and CT counters. A value of zero is invalid. Counter
24112 * types not selected by the mask value won't be included in the stream. If a
24115 * Requesting a counter type which isn't supported by firmware (reported in
24119 #define MC_CMD_MAE_COUNTERS_STREAM_START_V2_IN_COUNTER_TYPES_MASK_LEN 4
24122 #define MC_CMD_MAE_COUNTERS_STREAM_START_OUT_LEN 4
24124 #define MC_CMD_MAE_COUNTERS_STREAM_START_OUT_FLAGS_LEN 4
24146 #define MC_CMD_MAE_COUNTERS_STREAM_STOP_OUT_LEN 4
24154 #define MC_CMD_MAE_COUNTERS_STREAM_STOP_OUT_GENERATION_COUNT_LEN 4
24157 #define MC_CMD_MAE_COUNTERS_STREAM_STOP_V2_OUT_LENMIN 4
24160 #define MC_CMD_MAE_COUNTERS_STREAM_STOP_V2_OUT_LEN(num) (0+4*(num))
24161 #define MC_CMD_MAE_COUNTERS_STREAM_STOP_V2_OUT_GENERATION_COUNT_NUM(len) (((len)-0)/4)
24170 #define MC_CMD_MAE_COUNTERS_STREAM_STOP_V2_OUT_GENERATION_COUNT_LEN 4
24178 * Give a number of credits to the packetiser. Each credit received allows the
24180 * have written sufficient descriptors for a packet of length
24189 #define MC_CMD_MAE_COUNTERS_STREAM_GIVE_CREDITS_IN_LEN 4
24192 #define MC_CMD_MAE_COUNTERS_STREAM_GIVE_CREDITS_IN_NUM_CREDITS_LEN 4
24201 * header must be constructed as a valid packet with 0-length payload.
24213 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_IN_LENMIN 4
24216 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_IN_LEN(num) (4+1*(num))
24217 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_IN_HDR_DATA_NUM(len) (((len)-4)/1)
24219 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_IN_ENCAP_TYPE_LEN 4
24220 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_IN_HDR_DATA_OFST 4
24227 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_OUT_LEN 4
24229 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_OUT_ENCAP_HEADER_ID_LEN 4
24252 #define MC_CMD_MAE_ENCAP_HEADER_UPDATE_IN_EH_ID_LEN 4
24253 #define MC_CMD_MAE_ENCAP_HEADER_UPDATE_IN_ENCAP_TYPE_OFST 4
24254 #define MC_CMD_MAE_ENCAP_HEADER_UPDATE_IN_ENCAP_TYPE_LEN 4
24275 #define MC_CMD_MAE_ENCAP_HEADER_FREE_IN_LENMIN 4
24278 #define MC_CMD_MAE_ENCAP_HEADER_FREE_IN_LEN(num) (0+4*(num))
24279 #define MC_CMD_MAE_ENCAP_HEADER_FREE_IN_EH_ID_NUM(len) (((len)-0)/4)
24282 #define MC_CMD_MAE_ENCAP_HEADER_FREE_IN_EH_ID_LEN 4
24288 #define MC_CMD_MAE_ENCAP_HEADER_FREE_OUT_LENMIN 4
24291 #define MC_CMD_MAE_ENCAP_HEADER_FREE_OUT_LEN(num) (0+4*(num))
24292 #define MC_CMD_MAE_ENCAP_HEADER_FREE_OUT_FREED_EH_ID_NUM(len) (((len)-0)/4)
24295 #define MC_CMD_MAE_ENCAP_HEADER_FREE_OUT_FREED_EH_ID_LEN 4
24321 #define MC_CMD_MAE_MAC_ADDR_ALLOC_OUT_LEN 4
24323 #define MC_CMD_MAE_MAC_ADDR_ALLOC_OUT_MAC_ID_LEN 4
24324 /* enum: An MAC address ID that is guaranteed never to represent a real MAC
24340 #define MC_CMD_MAE_MAC_ADDR_FREE_IN_LENMIN 4
24343 #define MC_CMD_MAE_MAC_ADDR_FREE_IN_LEN(num) (0+4*(num))
24344 #define MC_CMD_MAE_MAC_ADDR_FREE_IN_MAC_ID_NUM(len) (((len)-0)/4)
24347 #define MC_CMD_MAE_MAC_ADDR_FREE_IN_MAC_ID_LEN 4
24353 #define MC_CMD_MAE_MAC_ADDR_FREE_OUT_LENMIN 4
24356 #define MC_CMD_MAE_MAC_ADDR_FREE_OUT_LEN(num) (0+4*(num))
24357 #define MC_CMD_MAE_MAC_ADDR_FREE_OUT_FREED_MAC_ID_NUM(len) (((len)-0)/4)
24360 #define MC_CMD_MAE_MAC_ADDR_FREE_OUT_FREED_MAC_ID_LEN 4
24381 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_FLAGS_LEN 4
24386 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_VLAN_POP_LBN 4
24428 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_VLAN0_TCI_BE_OFST 4
24441 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_RSVD_LEN 4
24444 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_ENCAP_HEADER_ID_LEN 4
24450 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_DELIVER_LEN 4
24455 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_COUNTER_LIST_ID_LEN 4
24458 /* If a driver only wished to update one counter within this action set, then
24459 * it can supply a COUNTER_ID instead of allocating a single-element counter
24462 * is not valid to supply a non-NULL value for both COUNTER_LIST_ID and
24466 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_COUNTER_ID_LEN 4
24470 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_MARK_VALUE_LEN 4
24473 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_SRC_MAC_ID_LEN 4
24476 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_DST_MAC_ID_LEN 4
24484 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_FLAGS_LEN 4
24489 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_VLAN_POP_LBN 4
24531 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_VLAN0_TCI_BE_OFST 4
24544 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_RSVD_LEN 4
24547 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_ENCAP_HEADER_ID_LEN 4
24553 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_DELIVER_LEN 4
24558 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_COUNTER_LIST_ID_LEN 4
24561 /* If a driver only wished to update one counter within this action set, then
24562 * it can supply a COUNTER_ID instead of allocating a single-element counter
24565 * is not valid to supply a non-NULL value for both COUNTER_LIST_ID and
24569 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_COUNTER_ID_LEN 4
24573 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_MARK_VALUE_LEN 4
24576 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_SRC_MAC_ID_LEN 4
24579 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_DST_MAC_ID_LEN 4
24582 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_REPORTED_SRC_MPORT_LEN 4
24630 #define MC_CMD_MAE_ACTION_SET_ALLOC_V3_IN_FLAGS_LEN 4
24635 #define MC_CMD_MAE_ACTION_SET_ALLOC_V3_IN_VLAN_POP_LBN 4
24677 #define MC_CMD_MAE_ACTION_SET_ALLOC_V3_IN_VLAN0_TCI_BE_OFST 4
24690 #define MC_CMD_MAE_ACTION_SET_ALLOC_V3_IN_RSVD_LEN 4
24693 #define MC_CMD_MAE_ACTION_SET_ALLOC_V3_IN_ENCAP_HEADER_ID_LEN 4
24699 #define MC_CMD_MAE_ACTION_SET_ALLOC_V3_IN_DELIVER_LEN 4
24704 #define MC_CMD_MAE_ACTION_SET_ALLOC_V3_IN_COUNTER_LIST_ID_LEN 4
24707 /* If a driver only wished to update one counter within this action set, then
24708 * it can supply a COUNTER_ID instead of allocating a single-element counter
24711 * is not valid to supply a non-NULL value for both COUNTER_LIST_ID and
24715 #define MC_CMD_MAE_ACTION_SET_ALLOC_V3_IN_COUNTER_ID_LEN 4
24719 #define MC_CMD_MAE_ACTION_SET_ALLOC_V3_IN_MARK_VALUE_LEN 4
24722 #define MC_CMD_MAE_ACTION_SET_ALLOC_V3_IN_SRC_MAC_ID_LEN 4
24725 #define MC_CMD_MAE_ACTION_SET_ALLOC_V3_IN_DST_MAC_ID_LEN 4
24728 #define MC_CMD_MAE_ACTION_SET_ALLOC_V3_IN_REPORTED_SRC_MPORT_LEN 4
24791 #define MC_CMD_MAE_ACTION_SET_ALLOC_OUT_LEN 4
24797 #define MC_CMD_MAE_ACTION_SET_ALLOC_OUT_AS_ID_LEN 4
24812 #define MC_CMD_MAE_ACTION_SET_FREE_IN_LENMIN 4
24815 #define MC_CMD_MAE_ACTION_SET_FREE_IN_LEN(num) (0+4*(num))
24816 #define MC_CMD_MAE_ACTION_SET_FREE_IN_AS_ID_NUM(len) (((len)-0)/4)
24819 #define MC_CMD_MAE_ACTION_SET_FREE_IN_AS_ID_LEN 4
24825 #define MC_CMD_MAE_ACTION_SET_FREE_OUT_LENMIN 4
24828 #define MC_CMD_MAE_ACTION_SET_FREE_OUT_LEN(num) (0+4*(num))
24829 #define MC_CMD_MAE_ACTION_SET_FREE_OUT_FREED_AS_ID_NUM(len) (((len)-0)/4)
24832 #define MC_CMD_MAE_ACTION_SET_FREE_OUT_FREED_AS_ID_LEN 4
24855 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_IN_LEN(num) (4+4*(num))
24856 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_IN_AS_IDS_NUM(len) (((len)-4)/4)
24859 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_IN_COUNT_LEN 4
24864 * where one ASL is a sublist of another ASL. The sublist should be allocated
24869 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_IN_AS_IDS_OFST 4
24870 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_IN_AS_IDS_LEN 4
24876 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_OUT_LEN 4
24881 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_OUT_ASL_ID_LEN 4
24898 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_IN_LENMIN 4
24901 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_IN_LEN(num) (0+4*(num))
24902 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_IN_ASL_ID_NUM(len) (((len)-0)/4)
24905 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_IN_ASL_ID_LEN 4
24911 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_OUT_LENMIN 4
24914 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_OUT_LEN(num) (0+4*(num))
24915 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_OUT_FREED_ASL_ID_NUM(len) (((len)-0)/4)
24918 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_OUT_FREED_ASL_ID_LEN 4
24943 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_ENCAP_TYPE_LEN 4
24947 * MC_CMD_MAE_GET_CAPS_OUT.ENCAP_PRIOS If a packet matches two filters with
24950 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_PRIO_OFST 4
24951 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_PRIO_LEN 4
24954 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_LOOKUP_CONTROL_LEN 4
24967 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_CT_TCP_FLAGS_INHIBIT_LBN 4
24975 /* This field controls the actions that are performed when a rule is hit. */
24977 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_ACTION_CONTROL_LEN 4
24982 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_COUNTER_ID_LEN 4
24991 #define MC_CMD_MAE_OUTER_RULE_INSERT_OUT_LEN 4
24993 #define MC_CMD_MAE_OUTER_RULE_INSERT_OUT_OR_ID_LEN 4
25008 #define MC_CMD_MAE_OUTER_RULE_REMOVE_IN_LENMIN 4
25011 #define MC_CMD_MAE_OUTER_RULE_REMOVE_IN_LEN(num) (0+4*(num))
25012 #define MC_CMD_MAE_OUTER_RULE_REMOVE_IN_OR_ID_NUM(len) (((len)-0)/4)
25015 #define MC_CMD_MAE_OUTER_RULE_REMOVE_IN_OR_ID_LEN 4
25021 #define MC_CMD_MAE_OUTER_RULE_REMOVE_OUT_LENMIN 4
25024 #define MC_CMD_MAE_OUTER_RULE_REMOVE_OUT_LEN(num) (0+4*(num))
25025 #define MC_CMD_MAE_OUTER_RULE_REMOVE_OUT_REMOVED_OR_ID_NUM(len) (((len)-0)/4)
25028 #define MC_CMD_MAE_OUTER_RULE_REMOVE_OUT_REMOVED_OR_ID_LEN 4
25036 #define MAE_ACTION_RULE_RESPONSE_ASL_ID_LEN 4
25039 /* Only one of ASL_ID or AS_ID may have a non-NULL value. */
25040 #define MAE_ACTION_RULE_RESPONSE_AS_ID_OFST 4
25041 #define MAE_ACTION_RULE_RESPONSE_AS_ID_LEN 4
25049 #define MAE_ACTION_RULE_RESPONSE_LOOKUP_CONTROL_LEN 4
25074 #define MAE_ACTION_RULE_RESPONSE_COUNTER_ID_LEN 4
25081 * Insert a rule specify that packets matching a filter be processed according
25082 * to a previous allocated action. Masks can be set as indicated by
25099 #define MC_CMD_MAE_ACTION_RULE_INSERT_IN_PRIO_LEN 4
25101 #define MC_CMD_MAE_ACTION_RULE_INSERT_IN_RESPONSE_OFST 4
25105 #define MC_CMD_MAE_ACTION_RULE_INSERT_IN_RSVD_LEN 4
25114 #define MC_CMD_MAE_ACTION_RULE_INSERT_OUT_LEN 4
25116 #define MC_CMD_MAE_ACTION_RULE_INSERT_OUT_AR_ID_LEN 4
25136 #define MC_CMD_MAE_ACTION_RULE_UPDATE_IN_AR_ID_LEN 4
25138 #define MC_CMD_MAE_ACTION_RULE_UPDATE_IN_RESPONSE_OFST 4
25154 #define MC_CMD_MAE_ACTION_RULE_DELETE_IN_LENMIN 4
25157 #define MC_CMD_MAE_ACTION_RULE_DELETE_IN_LEN(num) (0+4*(num))
25158 #define MC_CMD_MAE_ACTION_RULE_DELETE_IN_AR_ID_NUM(len) (((len)-0)/4)
25161 #define MC_CMD_MAE_ACTION_RULE_DELETE_IN_AR_ID_LEN 4
25167 #define MC_CMD_MAE_ACTION_RULE_DELETE_OUT_LENMIN 4
25170 #define MC_CMD_MAE_ACTION_RULE_DELETE_OUT_LEN(num) (0+4*(num))
25171 #define MC_CMD_MAE_ACTION_RULE_DELETE_OUT_DELETED_AR_ID_NUM(len) (((len)-0)/4)
25174 #define MC_CMD_MAE_ACTION_RULE_DELETE_OUT_DELETED_AR_ID_LEN 4
25182 * Return the m-port corresponding to a selector.
25190 #define MC_CMD_MAE_MPORT_LOOKUP_IN_LEN 4
25192 #define MC_CMD_MAE_MPORT_LOOKUP_IN_MPORT_SELECTOR_LEN 4
25195 #define MC_CMD_MAE_MPORT_LOOKUP_OUT_LEN 4
25197 #define MC_CMD_MAE_MPORT_LOOKUP_OUT_MPORT_ID_LEN 4
25202 * Allocates a m-port, which can subsequently be used in action rules as a
25216 #define MC_CMD_MAE_MPORT_ALLOC_IN_TYPE_LEN 4
25218 * descriptor. Traffic received on this type of m-port will go to the VNIC on a
25223 /* enum: This type of m-port has a VNIC attached. Queues can be created on this
25229 #define MC_CMD_MAE_MPORT_ALLOC_IN_UUID_OFST 4
25238 #define MC_CMD_MAE_MPORT_ALLOC_ALIAS_IN_TYPE_LEN 4
25240 * descriptor. Traffic received on this type of m-port will go to the VNIC on a
25245 /* enum: This type of m-port has a VNIC attached. Queues can be created on this
25251 #define MC_CMD_MAE_MPORT_ALLOC_ALIAS_IN_UUID_OFST 4
25258 #define MC_CMD_MAE_MPORT_ALLOC_ALIAS_IN_DELIVER_MPORT_LEN 4
25266 #define MC_CMD_MAE_MPORT_ALLOC_VNIC_IN_TYPE_LEN 4
25268 * descriptor. Traffic received on this type of m-port will go to the VNIC on a
25273 /* enum: This type of m-port has a VNIC attached. Queues can be created on this
25279 #define MC_CMD_MAE_MPORT_ALLOC_VNIC_IN_UUID_OFST 4
25283 #define MC_CMD_MAE_MPORT_ALLOC_OUT_LEN 4
25286 #define MC_CMD_MAE_MPORT_ALLOC_OUT_MPORT_ID_LEN 4
25292 #define MC_CMD_MAE_MPORT_ALLOC_ALIAS_OUT_MPORT_ID_LEN 4
25293 /* A value that will appear in the packet metadata for any packets delivered
25299 #define MC_CMD_MAE_MPORT_ALLOC_ALIAS_OUT_LABEL_LEN 4
25302 #define MC_CMD_MAE_MPORT_ALLOC_VNIC_OUT_LEN 4
25305 #define MC_CMD_MAE_MPORT_ALLOC_VNIC_OUT_MPORT_ID_LEN 4
25310 * Free a m-port which was previously allocated by the driver.
25318 #define MC_CMD_MAE_MPORT_FREE_IN_LEN 4
25321 #define MC_CMD_MAE_MPORT_FREE_IN_MPORT_ID_LEN 4
25329 #define MAE_MPORT_DESC_MPORT_ID_LEN 4
25333 #define MAE_MPORT_DESC_FLAGS_OFST 4
25334 #define MAE_MPORT_DESC_FLAGS_LEN 4
25338 #define MAE_MPORT_DESC_CALLER_FLAGS_LEN 4
25355 #define MAE_MPORT_DESC_MPORT_TYPE_LEN 4
25356 /* enum: Connected to a MAC... */
25360 /* enum: Connected to a VNIC. */
25373 #define MAE_MPORT_DESC_RESERVED_LO_LEN 4
25377 #define MAE_MPORT_DESC_RESERVED_HI_LEN 4
25384 #define MAE_MPORT_DESC_NET_PORT_IDX_LEN 4
25389 #define MAE_MPORT_DESC_ALIAS_DELIVER_MPORT_ID_LEN 4
25394 #define MAE_MPORT_DESC_VNIC_CLIENT_TYPE_LEN 4
25404 #define MAE_MPORT_DESC_VNIC_FUNCTION_INTERFACE_LEN 4
25413 /* enum: Indicates that the function is a PF */
25419 #define MAE_MPORT_DESC_VNIC_PLUGIN_TBD_LEN 4
25426 * Firmware maintains a per-client journal of mport creations and deletions.
25429 * MC_CMD_ENTITY_RESET, the journal is regenerated from a blank start.
25437 #define MC_CMD_MAE_MPORT_READ_JOURNAL_IN_LEN 4
25440 #define MC_CMD_MAE_MPORT_READ_JOURNAL_IN_FLAGS_LEN 4
25450 #define MC_CMD_MAE_MPORT_READ_JOURNAL_OUT_FLAGS_LEN 4
25455 #define MC_CMD_MAE_MPORT_READ_JOURNAL_OUT_MPORT_DESC_COUNT_OFST 4
25456 #define MC_CMD_MAE_MPORT_READ_JOURNAL_OUT_MPORT_DESC_COUNT_LEN 4
25458 #define MC_CMD_MAE_MPORT_READ_JOURNAL_OUT_SIZEOF_MPORT_DESC_LEN 4
25460 * grow in future version of this command. Drivers should use a stride of
25470 * describes the location and properties of one N-bit field within a wider
25487 #define TABLE_FIELD_DESCR_WIDTH_OFST 4
25508 /* A version code that allows field semantics to be extended. All fields
25527 #define MC_CMD_TABLE_LIST_IN_LEN 4
25533 #define MC_CMD_TABLE_LIST_IN_FIRST_TABLE_ID_INDEX_LEN 4
25536 #define MC_CMD_TABLE_LIST_OUT_LENMIN 4
25539 #define MC_CMD_TABLE_LIST_OUT_LEN(num) (4+4*(num))
25540 #define MC_CMD_TABLE_LIST_OUT_TABLE_ID_NUM(len) (((len)-4)/4)
25543 #define MC_CMD_TABLE_LIST_OUT_N_TABLES_LEN 4
25544 /* A sequence of table identifiers. If all N_TABLES items do not fit, further
25545 * items can be obtained by repeating the call with a non-zero
25548 #define MC_CMD_TABLE_LIST_OUT_TABLE_ID_OFST 4
25549 #define MC_CMD_TABLE_LIST_OUT_TABLE_ID_LEN 4
25559 * Request the table descriptor for a particular table. This describes
25572 #define MC_CMD_TABLE_DESCRIPTOR_IN_TABLE_ID_LEN 4
25579 #define MC_CMD_TABLE_DESCRIPTOR_IN_FIRST_FIELDS_INDEX_OFST 4
25580 #define MC_CMD_TABLE_DESCRIPTOR_IN_FIRST_FIELDS_INDEX_LEN 4
25590 #define MC_CMD_TABLE_DESCRIPTOR_OUT_MAX_ENTRIES_LEN 4
25592 * properties of a table that affect programming can be deduced from other
25595 #define MC_CMD_TABLE_DESCRIPTOR_OUT_TYPE_OFST 4
25597 /* enum: Direct table (essentially just an array). Behaves like a BCAM for
25604 /* enum: TCAM (ternary CAM) table: matches fields with a mask. Each entry may
25608 /* enum: STCAM (semi-TCAM) table: like a TCAM but entries shared a limited
25624 /* Number of priorities for STCAM or TCAM; otherwise 0. The priority of a table
25640 * to change semantics in future. A client which does not understand the value
25647 /* A sequence of TABLE_FIELD_DESCR structures: N_KEY_FIELDS items describing
25650 * by repeating the call with a non-zero FIRST_FIELDS_INDEX.
25655 #define MC_CMD_TABLE_DESCRIPTOR_OUT_FIELDS_LO_LEN 4
25659 #define MC_CMD_TABLE_DESCRIPTOR_OUT_FIELDS_HI_LEN 4
25669 * Insert a new entry into a table. The entry must not currently exist. May
25684 #define MC_CMD_TABLE_INSERT_IN_LEN(num) (12+4*(num))
25685 #define MC_CMD_TABLE_INSERT_IN_DATA_NUM(len) (((len)-12)/4)
25688 #define MC_CMD_TABLE_INSERT_IN_TABLE_ID_LEN 4
25692 #define MC_CMD_TABLE_INSERT_IN_KEY_WIDTH_OFST 4
25717 * data values. Each of these items is logically treated as a single wide N-bit
25720 * N-bit value is padded with 0 bits at the MSB end if necessary to make a
25721 * multiple of 32 bits. The value is then packed into this command as a
25725 #define MC_CMD_TABLE_INSERT_IN_DATA_LEN 4
25736 * Delete an existing entry in a table. May return EINVAL for unknown table ID
25751 #define MC_CMD_TABLE_DELETE_IN_LEN(num) (12+4*(num))
25752 #define MC_CMD_TABLE_DELETE_IN_DATA_NUM(len) (((len)-12)/4)
25755 #define MC_CMD_TABLE_DELETE_IN_TABLE_ID_LEN 4
25759 #define MC_CMD_TABLE_DELETE_IN_KEY_WIDTH_OFST 4
25784 * data values. Each of these items is logically treated as a single wide N-bit
25787 * N-bit value is padded with 0 bits at the MSB end if necessary to make a
25788 * multiple of 32 bits. The value is then packed into this command as a
25792 #define MC_CMD_TABLE_DELETE_IN_DATA_LEN 4
25803 * refer to VIs/queues. These bits should be masked off when indexing into a
25806 #define MC_CMD_QUEUE_HANDLE_LEN 4
25811 #define MC_CMD_QUEUE_HANDLE_QUEUE_HANDLE_LEN 4
25818 /* enum: Indicates that the queue instance is a full-featured VI */
25820 /* enum: Indicates that the queue instance is a LL TXQ */
25822 /* enum: Indicates that the queue instance is a LL RXQ */
25824 /* enum: Indicates that the queue instance is a LL EVQ */
25844 #define MC_CMD_ALLOC_LL_QUEUES_IN_MIN_TXQ_COUNT_LEN 4
25846 #define MC_CMD_ALLOC_LL_QUEUES_IN_MAX_TXQ_COUNT_OFST 4
25847 #define MC_CMD_ALLOC_LL_QUEUES_IN_MAX_TXQ_COUNT_LEN 4
25850 #define MC_CMD_ALLOC_LL_QUEUES_IN_MIN_RXQ_COUNT_LEN 4
25853 #define MC_CMD_ALLOC_LL_QUEUES_IN_MAX_RXQ_COUNT_LEN 4
25856 #define MC_CMD_ALLOC_LL_QUEUES_IN_MIN_EVQ_COUNT_LEN 4
25859 #define MC_CMD_ALLOC_LL_QUEUES_IN_MAX_EVQ_COUNT_LEN 4
25865 #define MC_CMD_ALLOC_LL_QUEUES_OUT_LEN(num) (12+4*(num))
25866 #define MC_CMD_ALLOC_LL_QUEUES_OUT_QUEUES_NUM(len) (((len)-12)/4)
25869 #define MC_CMD_ALLOC_LL_QUEUES_OUT_TXQ_COUNT_LEN 4
25871 #define MC_CMD_ALLOC_LL_QUEUES_OUT_RXQ_COUNT_OFST 4
25872 #define MC_CMD_ALLOC_LL_QUEUES_OUT_RXQ_COUNT_LEN 4
25875 #define MC_CMD_ALLOC_LL_QUEUES_OUT_EVQ_COUNT_LEN 4
25876 /* A list of allocated queues, returned as MC_CMD_QUEUE_HANDLEs, not
25882 #define MC_CMD_ALLOC_LL_QUEUES_OUT_QUEUES_LEN 4
25901 #define MC_CMD_FREE_LL_QUEUES_IN_LEN(num) (4+4*(num))
25902 #define MC_CMD_FREE_LL_QUEUES_IN_QUEUES_NUM(len) (((len)-4)/4)
25905 #define MC_CMD_FREE_LL_QUEUES_IN_QUEUE_COUNT_LEN 4
25906 /* A list of queues to free, as a list of MC_CMD_QUEUE_HANDLEs. They must have
25910 #define MC_CMD_FREE_LL_QUEUES_IN_QUEUES_OFST 4
25911 #define MC_CMD_FREE_LL_QUEUES_IN_QUEUES_LEN 4