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
169 #define MC_CMD_ERR_PROXY_PENDING_HANDLE_OFST 4
198 #define MEDFORD_MC_BOOTROM_REAL_NOFLASH_VEC (0x10000 - 4 * 0x4)
226 /* This may be ORed with an EVB_PORT_ID_xxx constant to pass a non-default
236 #define MC_CMD_ERR_ARG_OFST 4
294 /* enum: Stale handle. The handle references a resource that no longer exists.
321 /* enum: The requesting client is not a function */
333 * function for authorization. The driver should wait for a PROXY_RESPONSE
334 * event and then resend its request. This error code is followed by a 32-bit
344 * that has enabled proxying or BLOCK_INDEX points to a function that doesn't
352 * request to a designated admin function for authorization.
370 * resources to do so. Send it again after a command has completed.
410 * interfaces. There is a need to refer to interfaces explicitly from drivers
411 * (for example, a management driver on one interface administering a function
413 * interfaces present on a product. Product documentation will specify which
423 /* enum: Riverhead and keystone products have a second PCIe interface to which
427 /* enum: For MCDI commands issued over a PCIe interface, this value is
439 * mask associated with this field in a match rule is zeroed. The NIC may
440 * either reject requests with an invalid mask for such a field, or may assume
442 * fields that a newer driver might know about but that older firmware does
444 * all match fields defined at the time of its compilation. If a driver see a
447 * and must never set a non-zero mask value for this field.
450 /* enum: The NIC supports this field, but cannot use it in a match rule. The
451 * driver must ensure that any mask for such a field in a match rule is zeroed.
452 * The NIC will reject requests with an invalid mask for such a field.
456 * driver must ensure that any mask for such a field is all ones. The NIC will
457 * reject requests with an invalid mask for such a field.
461 * The driver must ensure that any mask for such a field is either all zeroes
462 * or all ones. The NIC will reject requests with an invalid mask for such a
467 * The driver must ensure that any mask for such a field is either all zeroes
468 * or a consecutive set of ones following by all zeroes (starting from MSB).
469 * The NIC will reject requests with an invalid mask for such a field.
473 * The driver may provide an arbitrary mask for such a field.
554 * matching? TODO: there was a proposal for driver-allocation fields. The
556 * and would be given a field id in return. It could then use that field id in
639 * being associated with a different table. Note that the same counter ID may
655 * [15:8] a unique ID within the block, and [7:0] reserved for future
713 * is constructed as a concatenation (indicated here by "++") of packet header
742 * still be clear. The intent is that a list of fields, with their associated
744 * of the fields in a key or response. (Again, this list includes all of the
745 * fields currently defined within the streaming engines, but only a subset may
748 /* enum: May appear multiple times within a key or response, and indicates that
753 /* enum: Source m-port (a full m-port label). */
755 /* enum: Destination m-port (a full m-port label). */
774 /* enum: Counter ID associated with a response. All-bits-1 is a null value to
779 * allows plugins to make a reinterpretation of packet fields in these keys
783 /* enum: Destination MAC address. The mapping from bytes in a frame to the
784 * 48-bit value for this field is in network order, i.e. a MAC address of
785 * AA:BB:CC:DD:EE:FF becomes a 48-bit value of 0xAABBCCDDEEFF.
804 /* enum: Source IP address, either IPv4 or IPv6. The mapping from bytes in a
817 /* enum: Layer 4 source port. */
819 /* enum: Layer 4 destination port. */
843 /* enum: True if only/inner frame has a recognised L4 IP protocol (TCP or UDP).
897 /* enum: A conntrack entry identifier, passed to plugins. */
903 * byte mapped to a 32-bit value in network order, i.e. the IPv4 address
915 /* enum: True if the conntrack lookup resulted in a hit. */
984 /* enum: 4-byte chunk of added encapsulation header. */
992 /* enum: Static value for layer 4 LACP hash of the encapsulation header. */
995 * instead of the calculated values for the inner frame when delivering a newly
996 * encapsulated packet to a LAG m-port.
1021 /* enum: True to include layer 4 in LACP hash on delivery to a LAG m-port. */
1023 /* enum: True to request that LACP is performed by a plugin. */
1073 /* enum: For indirection spreading mode, the base address of a region within
1078 /* enum: For indirection spreading mode, identifies the length of a region
1103 #define MCDI_EVENT_DATA_LEN 4
1118 #define MCDI_EVENT_LINKCHANGE_SPEED_WIDTH 4
1137 #define MCDI_EVENT_LINKCHANGE_FCNTL_WIDTH 4
1166 #define MCDI_EVENT_TX_ERR_TYPE_WIDTH 4
1177 /* enum: Option descriptor part way through a packet. Specific to EF10-family
1300 #define MCDI_EVENT_RX_ERR_TYPE_WIDTH 4
1350 #define MCDI_EVENT_LINKCHANGE_V2_SPEED_WIDTH 4
1382 #define MCDI_EVENT_EV_CODE_WIDTH 4
1428 * a different format)
1431 /* enum: the MC has detected a parity error */
1433 /* enum: the MC has detected a correctable error */
1443 /* enum: notify the designated PF of a new authorization request */
1445 /* enum: notify a function that awaits an authorization that its request has
1453 /* enum: The MC has detected a fault on the SUC */
1461 * a module change.
1470 /* enum: Notification that a sensor has changed state as a result of a reading
1471 * crossing a threshold. This is sent as two events, the first event contains
1476 /* enum: Notification that a descriptor proxy function configuration has been
1483 /* enum: Notification that a descriptor proxy function has been reset. SRC
1488 /* enum: Notification that a driver attached to a descriptor proxy function.
1508 #define MCDI_EVENT_CMDDONE_DATA_LEN 4
1512 #define MCDI_EVENT_LINKCHANGE_DATA_LEN 4
1516 #define MCDI_EVENT_SENSOREVT_DATA_LEN 4
1520 #define MCDI_EVENT_MAC_STATS_DMA_GENERATION_LEN 4
1524 #define MCDI_EVENT_TX_ERR_DATA_LEN 4
1531 #define MCDI_EVENT_PTP_SECONDS_LEN 4
1538 #define MCDI_EVENT_PTP_MAJOR_LEN 4
1545 #define MCDI_EVENT_PTP_NANOSECONDS_LEN 4
1552 #define MCDI_EVENT_PTP_MINOR_LEN 4
1558 #define MCDI_EVENT_PTP_UUID_LEN 4
1562 #define MCDI_EVENT_RX_ERR_DATA_LEN 4
1566 #define MCDI_EVENT_PAR_ERR_DATA_LEN 4
1570 #define MCDI_EVENT_ECC_CORR_ERR_DATA_LEN 4
1574 #define MCDI_EVENT_ECC_FATAL_ERR_DATA_LEN 4
1579 #define MCDI_EVENT_PTP_TIME_MAJOR_LEN 4
1586 * PTP clock. This is a more generic equivalent of PTP_TIME_MINOR_26_19.
1606 * PTP clock. This is a more generic equivalent of PTP_TIME_MINOR_26_21.
1611 #define MCDI_EVENT_PROXY_REQUEST_BUFF_INDEX_LEN 4
1615 #define MCDI_EVENT_PROXY_RESPONSE_HANDLE_LEN 4
1619 * should resend it. A non-zero value means that the authorization has been
1625 #define MCDI_EVENT_DBRET_DATA_LEN 4
1629 #define MCDI_EVENT_LINKCHANGE_V2_DATA_LEN 4
1633 #define MCDI_EVENT_MODULECHANGE_DATA_LEN 4
1636 /* The new generation count after a sensor has been added or deleted. */
1638 #define MCDI_EVENT_DYNAMIC_SENSORS_GENERATION_LEN 4
1641 /* The handle of a dynamic sensor. */
1643 #define MCDI_EVENT_DYNAMIC_SENSORS_HANDLE_LEN 4
1646 /* The current values of a sensor. */
1648 #define MCDI_EVENT_DYNAMIC_SENSORS_VALUE_LEN 4
1651 /* The current state of a sensor. */
1655 #define MCDI_EVENT_DESC_PROXY_DATA_LEN 4
1660 #define MCDI_EVENT_DESC_PROXY_GENERATION_LEN 4
1667 #define MCDI_EVENT_DESC_PROXY_VIRTIO_FEATURES_LEN 4
1686 #define FCDI_EVENT_DATA_LEN 4
1697 #define FCDI_EVENT_EV_CODE_WIDTH 4
1708 /* enum: A timed read is ready to be serviced. */
1727 #define FCDI_EVENT_ASSERT_INSTR_ADDRESS_LEN 4
1735 #define FCDI_EVENT_DDR_TEST_RESULT_RESULT_LEN 4
1739 #define FCDI_EVENT_LINK_STATE_DATA_LEN 4
1743 #define FCDI_EVENT_PTP_STATE_LEN 4
1752 #define FCDI_EVENT_DDR_ECC_STATUS_STATUS_LEN 4
1760 #define FCDI_EVENT_PORT_CONFIG_DATA_LEN 4
1764 #define FCDI_EVENT_BOOT_RESULT_LEN 4
1771 * to the MC. Note that this structure | is overlayed over a normal FCDI event
1783 #define FCDI_EXTENDED_EVENT_PPS_COUNT_LEN 4
1786 /* Seconds field of a timestamp record */
1788 #define FCDI_EXTENDED_EVENT_PPS_SECONDS_LEN 4
1791 /* Nanoseconds field of a timestamp record */
1793 #define FCDI_EXTENDED_EVENT_PPS_NANOSECONDS_LEN 4
1800 #define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_LO_LEN 4
1804 #define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_HI_LEN 4
1828 #define MUM_EVENT_DATA_LEN 4
1850 #define MUM_EVENT_PORT_PHY_TX_LOS_LBN 4
1863 #define MUM_EVENT_EV_CODE_WIDTH 4
1875 #define MUM_EVENT_SENSOR_DATA_LEN 4
1879 #define MUM_EVENT_PORT_PHY_FLAGS_LEN 4
1883 #define MUM_EVENT_PORT_PHY_COPPER_LEN_LEN 4
1887 #define MUM_EVENT_PORT_PHY_CAPS_LEN 4
1891 #define MUM_EVENT_PORT_PHY_TECH_LEN 4
1903 #define MUM_EVENT_PORT_PHY_SRC_DATA_ID_WIDTH 4
1910 #define MUM_EVENT_PORT_PHY_SRC_PORT_NO_WIDTH 4
1927 #define MC_CMD_READ32_IN_ADDR_LEN 4
1928 #define MC_CMD_READ32_IN_NUMWORDS_OFST 4
1929 #define MC_CMD_READ32_IN_NUMWORDS_LEN 4
1932 #define MC_CMD_READ32_OUT_LENMIN 4
1935 #define MC_CMD_READ32_OUT_LEN(num) (0+4*(num))
1936 #define MC_CMD_READ32_OUT_BUFFER_NUM(len) (((len)-0)/4)
1938 #define MC_CMD_READ32_OUT_BUFFER_LEN 4
1957 #define MC_CMD_WRITE32_IN_LEN(num) (4+4*(num))
1958 #define MC_CMD_WRITE32_IN_BUFFER_NUM(len) (((len)-4)/4)
1960 #define MC_CMD_WRITE32_IN_ADDR_LEN 4
1961 #define MC_CMD_WRITE32_IN_BUFFER_OFST 4
1962 #define MC_CMD_WRITE32_IN_BUFFER_LEN 4
1986 * The main image should be entered via a copy of a single word from and to a
1988 * is a bitfield, with each bit as documented below.
1991 #define MC_CMD_COPYCODE_IN_SRC_ADDR_LEN 4
2013 #define MC_CMD_COPYCODE_IN_BOOT_MAGIC_SKIP_BOOT_ICORE_SYNC_LBN 4
2022 #define MC_CMD_COPYCODE_IN_DEST_ADDR_OFST 4
2023 #define MC_CMD_COPYCODE_IN_DEST_ADDR_LEN 4
2025 #define MC_CMD_COPYCODE_IN_NUMWORDS_LEN 4
2028 #define MC_CMD_COPYCODE_IN_JUMP_LEN 4
2046 #define MC_CMD_SET_FUNC_IN_LEN 4
2049 #define MC_CMD_SET_FUNC_IN_FUNC_LEN 4
2071 #define MC_CMD_GET_BOOT_STATUS_OUT_BOOT_OFFSET_LEN 4
2074 #define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_OFST 4
2075 #define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_LEN 4
2076 #define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_WATCHDOG_OFST 4
2079 #define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_PRIMARY_OFST 4
2082 #define MC_CMD_GET_BOOT_STATUS_OUT_FLAGS_BACKUP_OFST 4
2099 #define MC_CMD_GET_ASSERTS_IN_LEN 4
2102 #define MC_CMD_GET_ASSERTS_IN_CLEAR_LEN 4
2108 #define MC_CMD_GET_ASSERTS_OUT_GLOBAL_FLAGS_LEN 4
2111 /* enum: A system-level assertion has failed. */
2113 /* enum: A thread-level assertion has failed. */
2120 #define MC_CMD_GET_ASSERTS_OUT_SAVED_PC_OFFS_OFST 4
2121 #define MC_CMD_GET_ASSERTS_OUT_SAVED_PC_OFFS_LEN 4
2124 #define MC_CMD_GET_ASSERTS_OUT_GP_REGS_OFFS_LEN 4
2126 /* enum: A magic value hinting that the value in this register at the time of
2132 #define MC_CMD_GET_ASSERTS_OUT_THREAD_OFFS_LEN 4
2134 #define MC_CMD_GET_ASSERTS_OUT_RESERVED_LEN 4
2142 #define MC_CMD_GET_ASSERTS_OUT_V2_GLOBAL_FLAGS_LEN 4
2145 /* enum: A system-level assertion has failed. */
2147 /* enum: A thread-level assertion has failed. */
2154 #define MC_CMD_GET_ASSERTS_OUT_V2_SAVED_PC_OFFS_OFST 4
2155 #define MC_CMD_GET_ASSERTS_OUT_V2_SAVED_PC_OFFS_LEN 4
2158 #define MC_CMD_GET_ASSERTS_OUT_V2_GP_REGS_OFFS_LEN 4
2160 /* enum: A magic value hinting that the value in this register at the time of
2166 #define MC_CMD_GET_ASSERTS_OUT_V2_THREAD_OFFS_LEN 4
2168 #define MC_CMD_GET_ASSERTS_OUT_V2_RESERVED_LEN 4
2171 #define MC_CMD_GET_ASSERTS_OUT_V2_SF_REGS_OFFS_LEN 4
2180 #define MC_CMD_GET_ASSERTS_OUT_V3_GLOBAL_FLAGS_LEN 4
2183 /* enum: A system-level assertion has failed. */
2185 /* enum: A thread-level assertion has failed. */
2192 #define MC_CMD_GET_ASSERTS_OUT_V3_SAVED_PC_OFFS_OFST 4
2193 #define MC_CMD_GET_ASSERTS_OUT_V3_SAVED_PC_OFFS_LEN 4
2196 #define MC_CMD_GET_ASSERTS_OUT_V3_GP_REGS_OFFS_LEN 4
2198 /* enum: A magic value hinting that the value in this register at the time of
2204 #define MC_CMD_GET_ASSERTS_OUT_V3_THREAD_OFFS_LEN 4
2206 #define MC_CMD_GET_ASSERTS_OUT_V3_RESERVED_LEN 4
2209 #define MC_CMD_GET_ASSERTS_OUT_V3_SF_REGS_OFFS_LEN 4
2218 #define MC_CMD_GET_ASSERTS_OUT_V3_MC_FW_BUILD_TIMESTAMP_LO_LEN 4
2222 #define MC_CMD_GET_ASSERTS_OUT_V3_MC_FW_BUILD_TIMESTAMP_HI_LEN 4
2229 #define MC_CMD_GET_ASSERTS_OUT_V3_MC_FW_VERSION_LO_LEN 4
2233 #define MC_CMD_GET_ASSERTS_OUT_V3_MC_FW_VERSION_HI_LEN 4
2238 #define MC_CMD_GET_ASSERTS_OUT_V3_MC_FW_SECURITY_LEVEL_LEN 4
2261 #define MC_CMD_LOG_CTRL_IN_LOG_DEST_LEN 4
2267 #define MC_CMD_LOG_CTRL_IN_LOG_DEST_EVQ_OFST 4
2268 #define MC_CMD_LOG_CTRL_IN_LOG_DEST_EVQ_LEN 4
2287 #define MC_CMD_GET_VERSION_EXT_IN_LEN 4
2290 #define MC_CMD_GET_VERSION_EXT_IN_EXT_FLAGS_LEN 4
2293 #define MC_CMD_GET_VERSION_V0_OUT_LEN 4
2295 #define MC_CMD_GET_VERSION_OUT_FIRMWARE_LEN 4
2308 /* MC_CMD_GET_VERSION_OUT_FIRMWARE_LEN 4 */
2311 #define MC_CMD_GET_VERSION_OUT_PCOL_OFST 4
2312 #define MC_CMD_GET_VERSION_OUT_PCOL_LEN 4
2319 #define MC_CMD_GET_VERSION_OUT_VERSION_LO_LEN 4
2323 #define MC_CMD_GET_VERSION_OUT_VERSION_HI_LEN 4
2330 /* MC_CMD_GET_VERSION_OUT_FIRMWARE_LEN 4 */
2333 #define MC_CMD_GET_VERSION_EXT_OUT_PCOL_OFST 4
2334 #define MC_CMD_GET_VERSION_EXT_OUT_PCOL_LEN 4
2341 #define MC_CMD_GET_VERSION_EXT_OUT_VERSION_LO_LEN 4
2345 #define MC_CMD_GET_VERSION_EXT_OUT_VERSION_HI_LEN 4
2356 * (depending on which components exist on a particular adapter)
2360 /* MC_CMD_GET_VERSION_OUT_FIRMWARE_LEN 4 */
2363 #define MC_CMD_GET_VERSION_V2_OUT_PCOL_OFST 4
2364 #define MC_CMD_GET_VERSION_V2_OUT_PCOL_LEN 4
2371 #define MC_CMD_GET_VERSION_V2_OUT_VERSION_LO_LEN 4
2375 #define MC_CMD_GET_VERSION_V2_OUT_VERSION_HI_LEN 4
2383 #define MC_CMD_GET_VERSION_V2_OUT_FLAGS_LEN 4
2397 #define MC_CMD_GET_VERSION_V2_OUT_BOARD_EXT_INFO_PRESENT_LBN 4
2431 #define MC_CMD_GET_VERSION_V2_OUT_MCFW_SECURITY_LEVEL_LEN 4
2435 /* The SUC firmware version as four numbers - a.b.c.d */
2437 #define MC_CMD_GET_VERSION_V2_OUT_SUCFW_VERSION_LEN 4
2438 #define MC_CMD_GET_VERSION_V2_OUT_SUCFW_VERSION_NUM 4
2443 #define MC_CMD_GET_VERSION_V2_OUT_SUCFW_BUILD_DATE_LO_LEN 4
2447 #define MC_CMD_GET_VERSION_V2_OUT_SUCFW_BUILD_DATE_HI_LEN 4
2454 #define MC_CMD_GET_VERSION_V2_OUT_SUCFW_CHIP_ID_LEN 4
2455 /* The CMC firmware version as four numbers - a.b.c.d */
2457 #define MC_CMD_GET_VERSION_V2_OUT_CMCFW_VERSION_LEN 4
2458 #define MC_CMD_GET_VERSION_V2_OUT_CMCFW_VERSION_NUM 4
2463 #define MC_CMD_GET_VERSION_V2_OUT_CMCFW_BUILD_DATE_LO_LEN 4
2467 #define MC_CMD_GET_VERSION_V2_OUT_CMCFW_BUILD_DATE_HI_LEN 4
2472 * FPGA_VERSION[0]: x => Image H{x} FPGA_VERSION[1]: Revision letter (0 => A, 1
2476 #define MC_CMD_GET_VERSION_V2_OUT_FPGA_VERSION_LEN 4
2486 #define MC_CMD_GET_VERSION_V2_OUT_BOARD_REVISION_LEN 4
2495 * (depending on which components exist on a particular adapter)
2499 /* MC_CMD_GET_VERSION_OUT_FIRMWARE_LEN 4 */
2502 #define MC_CMD_GET_VERSION_V3_OUT_PCOL_OFST 4
2503 #define MC_CMD_GET_VERSION_V3_OUT_PCOL_LEN 4
2510 #define MC_CMD_GET_VERSION_V3_OUT_VERSION_LO_LEN 4
2514 #define MC_CMD_GET_VERSION_V3_OUT_VERSION_HI_LEN 4
2522 #define MC_CMD_GET_VERSION_V3_OUT_FLAGS_LEN 4
2536 #define MC_CMD_GET_VERSION_V3_OUT_BOARD_EXT_INFO_PRESENT_LBN 4
2570 #define MC_CMD_GET_VERSION_V3_OUT_MCFW_SECURITY_LEVEL_LEN 4
2574 /* The SUC firmware version as four numbers - a.b.c.d */
2576 #define MC_CMD_GET_VERSION_V3_OUT_SUCFW_VERSION_LEN 4
2577 #define MC_CMD_GET_VERSION_V3_OUT_SUCFW_VERSION_NUM 4
2582 #define MC_CMD_GET_VERSION_V3_OUT_SUCFW_BUILD_DATE_LO_LEN 4
2586 #define MC_CMD_GET_VERSION_V3_OUT_SUCFW_BUILD_DATE_HI_LEN 4
2593 #define MC_CMD_GET_VERSION_V3_OUT_SUCFW_CHIP_ID_LEN 4
2594 /* The CMC firmware version as four numbers - a.b.c.d */
2596 #define MC_CMD_GET_VERSION_V3_OUT_CMCFW_VERSION_LEN 4
2597 #define MC_CMD_GET_VERSION_V3_OUT_CMCFW_VERSION_NUM 4
2602 #define MC_CMD_GET_VERSION_V3_OUT_CMCFW_BUILD_DATE_LO_LEN 4
2606 #define MC_CMD_GET_VERSION_V3_OUT_CMCFW_BUILD_DATE_HI_LEN 4
2611 * FPGA_VERSION[0]: x => Image H{x} FPGA_VERSION[1]: Revision letter (0 => A, 1
2615 #define MC_CMD_GET_VERSION_V3_OUT_FPGA_VERSION_LEN 4
2625 #define MC_CMD_GET_VERSION_V3_OUT_BOARD_REVISION_LEN 4
2629 /* The version of the datapath hardware design as three number - a.b.c */
2631 #define MC_CMD_GET_VERSION_V3_OUT_DATAPATH_HW_VERSION_LEN 4
2634 * number - a.b.c
2637 #define MC_CMD_GET_VERSION_V3_OUT_DATAPATH_FW_VERSION_LEN 4
2645 /* MC_CMD_GET_VERSION_OUT_FIRMWARE_LEN 4 */
2648 #define MC_CMD_GET_VERSION_V4_OUT_PCOL_OFST 4
2649 #define MC_CMD_GET_VERSION_V4_OUT_PCOL_LEN 4
2656 #define MC_CMD_GET_VERSION_V4_OUT_VERSION_LO_LEN 4
2660 #define MC_CMD_GET_VERSION_V4_OUT_VERSION_HI_LEN 4
2668 #define MC_CMD_GET_VERSION_V4_OUT_FLAGS_LEN 4
2682 #define MC_CMD_GET_VERSION_V4_OUT_BOARD_EXT_INFO_PRESENT_LBN 4
2716 #define MC_CMD_GET_VERSION_V4_OUT_MCFW_SECURITY_LEVEL_LEN 4
2720 /* The SUC firmware version as four numbers - a.b.c.d */
2722 #define MC_CMD_GET_VERSION_V4_OUT_SUCFW_VERSION_LEN 4
2723 #define MC_CMD_GET_VERSION_V4_OUT_SUCFW_VERSION_NUM 4
2728 #define MC_CMD_GET_VERSION_V4_OUT_SUCFW_BUILD_DATE_LO_LEN 4
2732 #define MC_CMD_GET_VERSION_V4_OUT_SUCFW_BUILD_DATE_HI_LEN 4
2739 #define MC_CMD_GET_VERSION_V4_OUT_SUCFW_CHIP_ID_LEN 4
2740 /* The CMC firmware version as four numbers - a.b.c.d */
2742 #define MC_CMD_GET_VERSION_V4_OUT_CMCFW_VERSION_LEN 4
2743 #define MC_CMD_GET_VERSION_V4_OUT_CMCFW_VERSION_NUM 4
2748 #define MC_CMD_GET_VERSION_V4_OUT_CMCFW_BUILD_DATE_LO_LEN 4
2752 #define MC_CMD_GET_VERSION_V4_OUT_CMCFW_BUILD_DATE_HI_LEN 4
2757 * FPGA_VERSION[0]: x => Image H{x} FPGA_VERSION[1]: Revision letter (0 => A, 1
2761 #define MC_CMD_GET_VERSION_V4_OUT_FPGA_VERSION_LEN 4
2771 #define MC_CMD_GET_VERSION_V4_OUT_BOARD_REVISION_LEN 4
2775 /* The version of the datapath hardware design as three number - a.b.c */
2777 #define MC_CMD_GET_VERSION_V4_OUT_DATAPATH_HW_VERSION_LEN 4
2780 * number - a.b.c
2783 #define MC_CMD_GET_VERSION_V4_OUT_DATAPATH_FW_VERSION_LEN 4
2785 /* The SOC boot version as four numbers - a.b.c.d */
2787 #define MC_CMD_GET_VERSION_V4_OUT_SOC_BOOT_VERSION_LEN 4
2788 #define MC_CMD_GET_VERSION_V4_OUT_SOC_BOOT_VERSION_NUM 4
2789 /* The SOC uboot version as four numbers - a.b.c.d */
2791 #define MC_CMD_GET_VERSION_V4_OUT_SOC_UBOOT_VERSION_LEN 4
2792 #define MC_CMD_GET_VERSION_V4_OUT_SOC_UBOOT_VERSION_NUM 4
2793 /* The SOC main rootfs version as four numbers - a.b.c.d */
2795 #define MC_CMD_GET_VERSION_V4_OUT_SOC_MAIN_ROOTFS_VERSION_LEN 4
2796 #define MC_CMD_GET_VERSION_V4_OUT_SOC_MAIN_ROOTFS_VERSION_NUM 4
2797 /* The SOC recovery buildroot version as four numbers - a.b.c.d */
2799 #define MC_CMD_GET_VERSION_V4_OUT_SOC_RECOVERY_BUILDROOT_VERSION_LEN 4
2800 #define MC_CMD_GET_VERSION_V4_OUT_SOC_RECOVERY_BUILDROOT_VERSION_NUM 4
2807 /* MC_CMD_GET_VERSION_OUT_FIRMWARE_LEN 4 */
2810 #define MC_CMD_GET_VERSION_V5_OUT_PCOL_OFST 4
2811 #define MC_CMD_GET_VERSION_V5_OUT_PCOL_LEN 4
2818 #define MC_CMD_GET_VERSION_V5_OUT_VERSION_LO_LEN 4
2822 #define MC_CMD_GET_VERSION_V5_OUT_VERSION_HI_LEN 4
2830 #define MC_CMD_GET_VERSION_V5_OUT_FLAGS_LEN 4
2844 #define MC_CMD_GET_VERSION_V5_OUT_BOARD_EXT_INFO_PRESENT_LBN 4
2878 #define MC_CMD_GET_VERSION_V5_OUT_MCFW_SECURITY_LEVEL_LEN 4
2882 /* The SUC firmware version as four numbers - a.b.c.d */
2884 #define MC_CMD_GET_VERSION_V5_OUT_SUCFW_VERSION_LEN 4
2885 #define MC_CMD_GET_VERSION_V5_OUT_SUCFW_VERSION_NUM 4
2890 #define MC_CMD_GET_VERSION_V5_OUT_SUCFW_BUILD_DATE_LO_LEN 4
2894 #define MC_CMD_GET_VERSION_V5_OUT_SUCFW_BUILD_DATE_HI_LEN 4
2901 #define MC_CMD_GET_VERSION_V5_OUT_SUCFW_CHIP_ID_LEN 4
2902 /* The CMC firmware version as four numbers - a.b.c.d */
2904 #define MC_CMD_GET_VERSION_V5_OUT_CMCFW_VERSION_LEN 4
2905 #define MC_CMD_GET_VERSION_V5_OUT_CMCFW_VERSION_NUM 4
2910 #define MC_CMD_GET_VERSION_V5_OUT_CMCFW_BUILD_DATE_LO_LEN 4
2914 #define MC_CMD_GET_VERSION_V5_OUT_CMCFW_BUILD_DATE_HI_LEN 4
2919 * FPGA_VERSION[0]: x => Image H{x} FPGA_VERSION[1]: Revision letter (0 => A, 1
2923 #define MC_CMD_GET_VERSION_V5_OUT_FPGA_VERSION_LEN 4
2933 #define MC_CMD_GET_VERSION_V5_OUT_BOARD_REVISION_LEN 4
2937 /* The version of the datapath hardware design as three number - a.b.c */
2939 #define MC_CMD_GET_VERSION_V5_OUT_DATAPATH_HW_VERSION_LEN 4
2942 * number - a.b.c
2945 #define MC_CMD_GET_VERSION_V5_OUT_DATAPATH_FW_VERSION_LEN 4
2947 /* The SOC boot version as four numbers - a.b.c.d */
2949 #define MC_CMD_GET_VERSION_V5_OUT_SOC_BOOT_VERSION_LEN 4
2950 #define MC_CMD_GET_VERSION_V5_OUT_SOC_BOOT_VERSION_NUM 4
2951 /* The SOC uboot version as four numbers - a.b.c.d */
2953 #define MC_CMD_GET_VERSION_V5_OUT_SOC_UBOOT_VERSION_LEN 4
2954 #define MC_CMD_GET_VERSION_V5_OUT_SOC_UBOOT_VERSION_NUM 4
2955 /* The SOC main rootfs version as four numbers - a.b.c.d */
2957 #define MC_CMD_GET_VERSION_V5_OUT_SOC_MAIN_ROOTFS_VERSION_LEN 4
2958 #define MC_CMD_GET_VERSION_V5_OUT_SOC_MAIN_ROOTFS_VERSION_NUM 4
2959 /* The SOC recovery buildroot version as four numbers - a.b.c.d */
2961 #define MC_CMD_GET_VERSION_V5_OUT_SOC_RECOVERY_BUILDROOT_VERSION_LEN 4
2962 #define MC_CMD_GET_VERSION_V5_OUT_SOC_RECOVERY_BUILDROOT_VERSION_NUM 4
2963 /* Board version as four numbers - a.b.c.d. BOARD_VERSION[0] duplicates the
2967 #define MC_CMD_GET_VERSION_V5_OUT_BOARD_VERSION_LEN 4
2968 #define MC_CMD_GET_VERSION_V5_OUT_BOARD_VERSION_NUM 4
2969 /* Bundle version as four numbers - a.b.c.d */
2971 #define MC_CMD_GET_VERSION_V5_OUT_BUNDLE_VERSION_LEN 4
2972 #define MC_CMD_GET_VERSION_V5_OUT_BUNDLE_VERSION_NUM 4
2993 /* enum: Send a PTP packet. This operation is used on Siena and Huntington.
3074 #define MC_CMD_PTP_IN_CMD_LEN 4
3075 #define MC_CMD_PTP_IN_PERIPH_ID_OFST 4
3076 #define MC_CMD_PTP_IN_PERIPH_ID_LEN 4
3081 #define MC_CMD_PTP_IN_ENABLE_QUEUE_LEN 4
3084 #define MC_CMD_PTP_IN_ENABLE_MODE_LEN 4
3101 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3102 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3103 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3112 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3113 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3114 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3117 #define MC_CMD_PTP_IN_TRANSMIT_LENGTH_LEN 4
3128 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3129 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3130 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3135 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3136 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3137 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3142 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3143 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3144 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3149 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3150 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3151 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3156 #define MC_CMD_PTP_IN_ADJUST_FREQ_LO_LEN 4
3160 #define MC_CMD_PTP_IN_ADJUST_FREQ_HI_LEN 4
3172 #define MC_CMD_PTP_IN_ADJUST_SECONDS_LEN 4
3175 #define MC_CMD_PTP_IN_ADJUST_MAJOR_LEN 4
3178 #define MC_CMD_PTP_IN_ADJUST_NANOSECONDS_LEN 4
3181 #define MC_CMD_PTP_IN_ADJUST_MINOR_LEN 4
3186 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3187 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3188 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3193 #define MC_CMD_PTP_IN_ADJUST_V2_FREQ_LO_LEN 4
3197 #define MC_CMD_PTP_IN_ADJUST_V2_FREQ_HI_LEN 4
3209 #define MC_CMD_PTP_IN_ADJUST_V2_SECONDS_LEN 4
3212 #define MC_CMD_PTP_IN_ADJUST_V2_MAJOR_LEN 4
3215 #define MC_CMD_PTP_IN_ADJUST_V2_NANOSECONDS_LEN 4
3218 #define MC_CMD_PTP_IN_ADJUST_V2_MINOR_LEN 4
3221 #define MC_CMD_PTP_IN_ADJUST_V2_MAJOR_HI_LEN 4
3226 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3227 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3228 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3231 #define MC_CMD_PTP_IN_SYNCHRONIZE_NUMTIMESETS_LEN 4
3238 #define MC_CMD_PTP_IN_SYNCHRONIZE_START_ADDR_LO_LEN 4
3242 #define MC_CMD_PTP_IN_SYNCHRONIZE_START_ADDR_HI_LEN 4
3249 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3250 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3251 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3256 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3257 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3258 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3261 #define MC_CMD_PTP_IN_MANFTEST_PACKET_TEST_ENABLE_LEN 4
3266 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3267 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3268 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3273 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3274 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3275 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3278 #define MC_CMD_PTP_IN_DEBUG_DEBUG_PARAM_LEN 4
3283 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3284 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3285 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3287 #define MC_CMD_PTP_IN_FPGAREAD_ADDR_LEN 4
3289 #define MC_CMD_PTP_IN_FPGAREAD_NUMBYTES_LEN 4
3298 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3299 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3300 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3302 #define MC_CMD_PTP_IN_FPGAWRITE_ADDR_LEN 4
3312 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3313 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3314 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3317 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_SECONDS_LEN 4
3320 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_MAJOR_LEN 4
3323 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_NANOSECONDS_LEN 4
3326 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_MINOR_LEN 4
3331 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3332 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3333 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3336 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_V2_SECONDS_LEN 4
3339 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_V2_MAJOR_LEN 4
3342 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_V2_NANOSECONDS_LEN 4
3345 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_V2_MINOR_LEN 4
3348 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_V2_MAJOR_HI_LEN 4
3353 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3354 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3355 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3360 #define MC_CMD_PTP_IN_CLOCK_FREQ_ADJUST_FREQ_LO_LEN 4
3364 #define MC_CMD_PTP_IN_CLOCK_FREQ_ADJUST_FREQ_HI_LEN 4
3373 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3374 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3375 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3378 #define MC_CMD_PTP_IN_RX_SET_VLAN_FILTER_NUM_VLAN_TAGS_LEN 4
3381 #define MC_CMD_PTP_IN_RX_SET_VLAN_FILTER_VLAN_TAG_LEN 4
3387 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3388 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3389 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3392 #define MC_CMD_PTP_IN_RX_SET_UUID_FILTER_ENABLE_LEN 4
3397 #define MC_CMD_PTP_IN_RX_SET_UUID_FILTER_UUID_LO_LEN 4
3401 #define MC_CMD_PTP_IN_RX_SET_UUID_FILTER_UUID_HI_LEN 4
3408 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3409 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3410 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3413 #define MC_CMD_PTP_IN_RX_SET_DOMAIN_FILTER_ENABLE_LEN 4
3416 #define MC_CMD_PTP_IN_RX_SET_DOMAIN_FILTER_DOMAIN_LEN 4
3421 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3422 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3423 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3426 #define MC_CMD_PTP_IN_SET_CLK_SRC_CLK_LEN 4
3435 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3436 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3437 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3442 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3444 #define MC_CMD_PTP_IN_PPS_ENABLE_OP_OFST 4
3445 #define MC_CMD_PTP_IN_PPS_ENABLE_OP_LEN 4
3454 #define MC_CMD_PTP_IN_PPS_ENABLE_QUEUE_ID_LEN 4
3459 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3460 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3461 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3466 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3467 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3468 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3473 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3474 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3475 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3480 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3481 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3482 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3485 #define MC_CMD_PTP_IN_TIME_EVENT_SUBSCRIBE_QUEUE_LEN 4
3496 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3497 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3498 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3501 #define MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE_CONTROL_LEN 4
3502 /* enum: Unsubscribe a single queue */
3508 #define MC_CMD_PTP_IN_TIME_EVENT_UNSUBSCRIBE_QUEUE_LEN 4
3513 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3514 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3515 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3518 #define MC_CMD_PTP_IN_MANFTEST_PPS_TEST_ENABLE_LEN 4
3523 /* MC_CMD_PTP_IN_CMD_LEN 4 */
3524 /* MC_CMD_PTP_IN_PERIPH_ID_OFST 4 */
3525 /* MC_CMD_PTP_IN_PERIPH_ID_LEN 4 */
3528 #define MC_CMD_PTP_IN_SET_SYNC_STATUS_STATUS_LEN 4
3537 #define MC_CMD_PTP_IN_SET_SYNC_STATUS_TIMEOUT_LEN 4
3539 #define MC_CMD_PTP_IN_SET_SYNC_STATUS_RESERVED0_LEN 4
3541 #define MC_CMD_PTP_IN_SET_SYNC_STATUS_RESERVED1_LEN 4
3550 #define MC_CMD_PTP_OUT_TRANSMIT_SECONDS_LEN 4
3553 #define MC_CMD_PTP_OUT_TRANSMIT_MAJOR_LEN 4
3555 #define MC_CMD_PTP_OUT_TRANSMIT_NANOSECONDS_OFST 4
3556 #define MC_CMD_PTP_OUT_TRANSMIT_NANOSECONDS_LEN 4
3558 #define MC_CMD_PTP_OUT_TRANSMIT_MINOR_OFST 4
3559 #define MC_CMD_PTP_OUT_TRANSMIT_MINOR_LEN 4
3571 #define MC_CMD_PTP_OUT_READ_NIC_TIME_SECONDS_LEN 4
3574 #define MC_CMD_PTP_OUT_READ_NIC_TIME_MAJOR_LEN 4
3576 #define MC_CMD_PTP_OUT_READ_NIC_TIME_NANOSECONDS_OFST 4
3577 #define MC_CMD_PTP_OUT_READ_NIC_TIME_NANOSECONDS_LEN 4
3579 #define MC_CMD_PTP_OUT_READ_NIC_TIME_MINOR_OFST 4
3580 #define MC_CMD_PTP_OUT_READ_NIC_TIME_MINOR_LEN 4
3586 #define MC_CMD_PTP_OUT_READ_NIC_TIME_V2_SECONDS_LEN 4
3589 #define MC_CMD_PTP_OUT_READ_NIC_TIME_V2_MAJOR_LEN 4
3591 #define MC_CMD_PTP_OUT_READ_NIC_TIME_V2_NANOSECONDS_OFST 4
3592 #define MC_CMD_PTP_OUT_READ_NIC_TIME_V2_NANOSECONDS_LEN 4
3594 #define MC_CMD_PTP_OUT_READ_NIC_TIME_V2_MINOR_OFST 4
3595 #define MC_CMD_PTP_OUT_READ_NIC_TIME_V2_MINOR_LEN 4
3598 #define MC_CMD_PTP_OUT_READ_NIC_TIME_V2_MAJOR_HI_LEN 4
3604 #define MC_CMD_PTP_OUT_STATUS_CLOCK_FREQ_LEN 4
3606 #define MC_CMD_PTP_OUT_STATUS_STATS_TX_OFST 4
3607 #define MC_CMD_PTP_OUT_STATUS_STATS_TX_LEN 4
3610 #define MC_CMD_PTP_OUT_STATUS_STATS_RX_LEN 4
3613 #define MC_CMD_PTP_OUT_STATUS_STATS_TS_LEN 4
3616 #define MC_CMD_PTP_OUT_STATUS_STATS_FM_LEN 4
3619 #define MC_CMD_PTP_OUT_STATUS_STATS_NFM_LEN 4
3622 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFLOW_LEN 4
3625 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_BAD_LEN 4
3628 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MIN_LEN 4
3631 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MAX_LEN 4
3634 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_LAST_LEN 4
3637 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_PER_MEAN_LEN 4
3640 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MIN_LEN 4
3643 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MAX_LEN 4
3646 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_LAST_LEN 4
3649 #define MC_CMD_PTP_OUT_STATUS_STATS_PPS_OFF_MEAN_LEN 4
3657 /* A set of host and NIC times */
3665 #define MC_CMD_PTP_OUT_SYNCHRONIZE_HOSTSTART_LEN 4
3667 #define MC_CMD_PTP_OUT_SYNCHRONIZE_SECONDS_OFST 4
3668 #define MC_CMD_PTP_OUT_SYNCHRONIZE_SECONDS_LEN 4
3670 #define MC_CMD_PTP_OUT_SYNCHRONIZE_MAJOR_OFST 4
3671 #define MC_CMD_PTP_OUT_SYNCHRONIZE_MAJOR_LEN 4
3674 #define MC_CMD_PTP_OUT_SYNCHRONIZE_NANOSECONDS_LEN 4
3677 #define MC_CMD_PTP_OUT_SYNCHRONIZE_MINOR_LEN 4
3680 #define MC_CMD_PTP_OUT_SYNCHRONIZE_HOSTEND_LEN 4
3683 #define MC_CMD_PTP_OUT_SYNCHRONIZE_WAITNS_LEN 4
3689 #define MC_CMD_PTP_OUT_MANFTEST_BASIC_TEST_RESULT_LEN 4
3721 #define MC_CMD_PTP_OUT_MANFTEST_BASIC_TEST_EXTOSC_OFST 4
3722 #define MC_CMD_PTP_OUT_MANFTEST_BASIC_TEST_EXTOSC_LEN 4
3728 #define MC_CMD_PTP_OUT_MANFTEST_PACKET_TEST_RESULT_LEN 4
3730 #define MC_CMD_PTP_OUT_MANFTEST_PACKET_TEST_FPGACOUNT_OFST 4
3731 #define MC_CMD_PTP_OUT_MANFTEST_PACKET_TEST_FPGACOUNT_LEN 4
3734 #define MC_CMD_PTP_OUT_MANFTEST_PACKET_TEST_FILTERCOUNT_LEN 4
3749 #define MC_CMD_PTP_OUT_GET_TIME_FORMAT_LEN 4
3752 * is not supported (older firmware) a format of seconds and nanoseconds should
3757 #define MC_CMD_PTP_OUT_GET_TIME_FORMAT_FORMAT_LEN 4
3769 * is not supported (older firmware) a format of seconds and nanoseconds should
3773 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_TIME_FORMAT_LEN 4
3783 /* Minimum acceptable value for a corrected synchronization timeset. When
3784 * comparing host and NIC clock times, the MC returns a set of samples that
3790 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_SYNC_WINDOW_MIN_OFST 4
3791 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_SYNC_WINDOW_MIN_LEN 4
3794 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_CAPABILITIES_LEN 4
3808 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_RESERVED0_LEN 4
3810 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_RESERVED1_LEN 4
3812 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_RESERVED2_LEN 4
3818 * is not supported (older firmware) a format of seconds and nanoseconds should
3822 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_TIME_FORMAT_LEN 4
3832 /* Minimum acceptable value for a corrected synchronization timeset. When
3833 * comparing host and NIC clock times, the MC returns a set of samples that
3839 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_SYNC_WINDOW_MIN_OFST 4
3840 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_SYNC_WINDOW_MIN_LEN 4
3843 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_CAPABILITIES_LEN 4
3857 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_RESERVED0_LEN 4
3859 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_RESERVED1_LEN 4
3861 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_RESERVED2_LEN 4
3865 * response is not supported a value of -0.1 ns should be assumed, which is
3866 * equivalent to a -10% adjustment.
3871 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_FREQ_ADJ_MIN_LO_LEN 4
3875 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_FREQ_ADJ_MIN_HI_LEN 4
3881 * response is not supported a value of 0.1 ns should be assumed, which is
3882 * equivalent to a +10% adjustment.
3887 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_FREQ_ADJ_MAX_LO_LEN 4
3891 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_FREQ_ADJ_MAX_HI_LEN 4
3899 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_TRANSMIT_LEN 4
3901 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_RECEIVE_OFST 4
3902 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_RECEIVE_LEN 4
3905 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_PPS_OUT_LEN 4
3908 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_PPS_IN_LEN 4
3914 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PTP_TX_LEN 4
3916 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PTP_RX_OFST 4
3917 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PTP_RX_LEN 4
3920 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PPS_OUT_LEN 4
3923 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PPS_IN_LEN 4
3926 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_GENERAL_TX_LEN 4
3929 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_GENERAL_RX_LEN 4
3932 #define MC_CMD_PTP_OUT_MANFTEST_PPS_LEN 4
3935 #define MC_CMD_PTP_OUT_MANFTEST_PPS_TEST_RESULT_LEN 4
3956 #define MC_CMD_CSR_READ32_IN_ADDR_LEN 4
3957 #define MC_CMD_CSR_READ32_IN_STEP_OFST 4
3958 #define MC_CMD_CSR_READ32_IN_STEP_LEN 4
3960 #define MC_CMD_CSR_READ32_IN_NUMWORDS_LEN 4
3963 #define MC_CMD_CSR_READ32_OUT_LENMIN 4
3966 #define MC_CMD_CSR_READ32_OUT_LEN(num) (0+4*(num))
3967 #define MC_CMD_CSR_READ32_OUT_BUFFER_NUM(len) (((len)-0)/4)
3968 /* The last dword is the status, not a value read */
3970 #define MC_CMD_CSR_READ32_OUT_BUFFER_LEN 4
3989 #define MC_CMD_CSR_WRITE32_IN_LEN(num) (8+4*(num))
3990 #define MC_CMD_CSR_WRITE32_IN_BUFFER_NUM(len) (((len)-8)/4)
3993 #define MC_CMD_CSR_WRITE32_IN_ADDR_LEN 4
3994 #define MC_CMD_CSR_WRITE32_IN_STEP_OFST 4
3995 #define MC_CMD_CSR_WRITE32_IN_STEP_LEN 4
3997 #define MC_CMD_CSR_WRITE32_IN_BUFFER_LEN 4
4003 #define MC_CMD_CSR_WRITE32_OUT_LEN 4
4005 #define MC_CMD_CSR_WRITE32_OUT_STATUS_LEN 4
4022 * INTERVAL is interpreted as a command: 0: stop OCSD / 1: Report OCSD current
4027 #define MC_CMD_HP_IN_SUBCMD_LEN 4
4032 /* The address to the array of sensor fields. (Or NULL to use a sub-command.)
4034 #define MC_CMD_HP_IN_OCSD_ADDR_OFST 4
4036 #define MC_CMD_HP_IN_OCSD_ADDR_LO_OFST 4
4037 #define MC_CMD_HP_IN_OCSD_ADDR_LO_LEN 4
4041 #define MC_CMD_HP_IN_OCSD_ADDR_HI_LEN 4
4048 #define MC_CMD_HP_IN_OCSD_INTERVAL_LEN 4
4051 #define MC_CMD_HP_OUT_LEN 4
4053 #define MC_CMD_HP_OUT_OCSD_STATUS_LEN 4
4103 #define MC_CMD_MDIO_READ_IN_BUS_LEN 4
4109 #define MC_CMD_MDIO_READ_IN_PRTAD_OFST 4
4110 #define MC_CMD_MDIO_READ_IN_PRTAD_LEN 4
4113 #define MC_CMD_MDIO_READ_IN_DEVAD_LEN 4
4120 #define MC_CMD_MDIO_READ_IN_ADDR_LEN 4
4126 #define MC_CMD_MDIO_READ_OUT_VALUE_LEN 4
4127 /* Status the MDIO commands return the raw status bits from the MDIO block. A
4130 #define MC_CMD_MDIO_READ_OUT_STATUS_OFST 4
4131 #define MC_CMD_MDIO_READ_OUT_STATUS_LEN 4
4151 #define MC_CMD_MDIO_WRITE_IN_BUS_LEN 4
4157 #define MC_CMD_MDIO_WRITE_IN_PRTAD_OFST 4
4158 #define MC_CMD_MDIO_WRITE_IN_PRTAD_LEN 4
4161 #define MC_CMD_MDIO_WRITE_IN_DEVAD_LEN 4
4168 #define MC_CMD_MDIO_WRITE_IN_ADDR_LEN 4
4171 #define MC_CMD_MDIO_WRITE_IN_VALUE_LEN 4
4174 #define MC_CMD_MDIO_WRITE_OUT_LEN 4
4175 /* Status; the MDIO commands return the raw status bits from the MDIO block. A
4179 #define MC_CMD_MDIO_WRITE_OUT_STATUS_LEN 4
4214 #define MC_CMD_DBIWROP_TYPEDEF_ADDRESS_LEN 4
4217 #define MC_CMD_DBIWROP_TYPEDEF_PARMS_OFST 4
4218 #define MC_CMD_DBIWROP_TYPEDEF_PARMS_LEN 4
4219 #define MC_CMD_DBIWROP_TYPEDEF_VF_NUM_OFST 4
4222 #define MC_CMD_DBIWROP_TYPEDEF_VF_ACTIVE_OFST 4
4225 #define MC_CMD_DBIWROP_TYPEDEF_CS2_OFST 4
4231 #define MC_CMD_DBIWROP_TYPEDEF_VALUE_LEN 4
4238 * Read a 32-bit register from the indirect port register map. The port to
4244 #define MC_CMD_PORT_READ32_IN_LEN 4
4247 #define MC_CMD_PORT_READ32_IN_ADDR_LEN 4
4253 #define MC_CMD_PORT_READ32_OUT_VALUE_LEN 4
4255 #define MC_CMD_PORT_READ32_OUT_STATUS_OFST 4
4256 #define MC_CMD_PORT_READ32_OUT_STATUS_LEN 4
4261 * Write a 32-bit register to the indirect port register map. The port to
4270 #define MC_CMD_PORT_WRITE32_IN_ADDR_LEN 4
4272 #define MC_CMD_PORT_WRITE32_IN_VALUE_OFST 4
4273 #define MC_CMD_PORT_WRITE32_IN_VALUE_LEN 4
4276 #define MC_CMD_PORT_WRITE32_OUT_LEN 4
4279 #define MC_CMD_PORT_WRITE32_OUT_STATUS_LEN 4
4284 * Read a 128-bit register from the indirect port register map. The port to
4290 #define MC_CMD_PORT_READ128_IN_LEN 4
4293 #define MC_CMD_PORT_READ128_IN_ADDR_LEN 4
4302 #define MC_CMD_PORT_READ128_OUT_STATUS_LEN 4
4307 * Write a 128-bit register to the indirect port register map. The port to
4316 #define MC_CMD_PORT_WRITE128_IN_ADDR_LEN 4
4318 #define MC_CMD_PORT_WRITE128_IN_VALUE_OFST 4
4322 #define MC_CMD_PORT_WRITE128_OUT_LEN 4
4325 #define MC_CMD_PORT_WRITE128_OUT_STATUS_LEN 4
4328 #define MC_CMD_CAPABILITIES_LEN 4
4342 #define MC_CMD_CAPABILITIES_AOE_LBN 4
4373 #define MC_CMD_GET_BOARD_CFG_OUT_BOARD_TYPE_LEN 4
4374 #define MC_CMD_GET_BOARD_CFG_OUT_BOARD_NAME_OFST 4
4380 #define MC_CMD_GET_BOARD_CFG_OUT_CAPABILITIES_PORT0_LEN 4
4385 #define MC_CMD_GET_BOARD_CFG_OUT_CAPABILITIES_PORT1_LEN 4
4400 #define MC_CMD_GET_BOARD_CFG_OUT_MAC_COUNT_PORT0_LEN 4
4405 #define MC_CMD_GET_BOARD_CFG_OUT_MAC_COUNT_PORT1_LEN 4
4410 #define MC_CMD_GET_BOARD_CFG_OUT_MAC_STRIDE_PORT0_LEN 4
4415 #define MC_CMD_GET_BOARD_CFG_OUT_MAC_STRIDE_PORT1_LEN 4
4416 /* Siena only. This field contains a 16-bit value for each of the types of
4417 * NVRAM area. The values are defined in the firmware/mc/platform/.c file for a
4448 #define MC_CMD_DBI_READX_IN_DBIRDOP_LO_LEN 4
4451 #define MC_CMD_DBI_READX_IN_DBIRDOP_HI_OFST 4
4452 #define MC_CMD_DBI_READX_IN_DBIRDOP_HI_LEN 4
4460 #define MC_CMD_DBI_READX_OUT_LENMIN 4
4463 #define MC_CMD_DBI_READX_OUT_LEN(num) (0+4*(num))
4464 #define MC_CMD_DBI_READX_OUT_VALUE_NUM(len) (((len)-0)/4)
4467 #define MC_CMD_DBI_READX_OUT_VALUE_LEN 4
4475 #define MC_CMD_DBIRDOP_TYPEDEF_ADDRESS_LEN 4
4478 #define MC_CMD_DBIRDOP_TYPEDEF_PARMS_OFST 4
4479 #define MC_CMD_DBIRDOP_TYPEDEF_PARMS_LEN 4
4480 #define MC_CMD_DBIRDOP_TYPEDEF_VF_NUM_OFST 4
4483 #define MC_CMD_DBIRDOP_TYPEDEF_VF_ACTIVE_OFST 4
4486 #define MC_CMD_DBIRDOP_TYPEDEF_CS2_OFST 4
4525 #define MC_CMD_LTSSM_HIST_OUT_LEN(num) (0+4*(num))
4526 #define MC_CMD_LTSSM_HIST_OUT_DATA_NUM(len) (((len)-0)/4)
4529 #define MC_CMD_LTSSM_HIST_OUT_DATA_LEN 4
4540 * issue a subsequent MC_CMD_GET_CAPABILITIES command to determine which
4553 #define MC_CMD_DRV_ATTACH_IN_NEW_STATE_LEN 4
4573 #define MC_CMD_DRV_ATTACH_IN_WANT_V2_LINKCHANGES_LBN 4
4582 #define MC_CMD_DRV_ATTACH_IN_UPDATE_OFST 4
4583 #define MC_CMD_DRV_ATTACH_IN_UPDATE_LEN 4
4586 #define MC_CMD_DRV_ATTACH_IN_FIRMWARE_ID_LEN 4
4624 #define MC_CMD_DRV_ATTACH_IN_V2_NEW_STATE_LEN 4
4644 #define MC_CMD_DRV_ATTACH_IN_V2_WANT_V2_LINKCHANGES_LBN 4
4653 #define MC_CMD_DRV_ATTACH_IN_V2_UPDATE_OFST 4
4654 #define MC_CMD_DRV_ATTACH_IN_V2_UPDATE_LEN 4
4657 #define MC_CMD_DRV_ATTACH_IN_V2_FIRMWARE_ID_LEN 4
4689 * handled by the NIC. This is a zero-terminated ASCII string.
4695 #define MC_CMD_DRV_ATTACH_OUT_LEN 4
4698 #define MC_CMD_DRV_ATTACH_OUT_OLD_STATE_LEN 4
4704 #define MC_CMD_DRV_ATTACH_EXT_OUT_OLD_STATE_LEN 4
4706 #define MC_CMD_DRV_ATTACH_EXT_OUT_FUNC_FLAGS_OFST 4
4707 #define MC_CMD_DRV_ATTACH_EXT_OUT_FUNC_FLAGS_LEN 4
4741 #define MC_CMD_SHMUART_IN_LEN 4
4744 #define MC_CMD_SHMUART_IN_FLAG_LEN 4
4778 #define MC_CMD_ENTITY_RESET_IN_LEN 4
4779 /* Optional flags field. Omitting this will perform a "legacy" reset action
4783 #define MC_CMD_ENTITY_RESET_IN_FLAG_LEN 4
4802 #define MC_CMD_PCIE_CREDITS_IN_POLL_PERIOD_LEN 4
4804 #define MC_CMD_PCIE_CREDITS_IN_WIPE_OFST 4
4805 #define MC_CMD_PCIE_CREDITS_IN_WIPE_LEN 4
4813 #define MC_CMD_PCIE_CREDITS_OUT_CURRENT_NP_HDR_OFST 4
4836 #define MC_CMD_RXD_MONITOR_IN_QID_LEN 4
4837 #define MC_CMD_RXD_MONITOR_IN_POLL_PERIOD_OFST 4
4838 #define MC_CMD_RXD_MONITOR_IN_POLL_PERIOD_LEN 4
4840 #define MC_CMD_RXD_MONITOR_IN_WIPE_LEN 4
4845 #define MC_CMD_RXD_MONITOR_OUT_QID_LEN 4
4846 #define MC_CMD_RXD_MONITOR_OUT_RING_FILL_OFST 4
4847 #define MC_CMD_RXD_MONITOR_OUT_RING_FILL_LEN 4
4849 #define MC_CMD_RXD_MONITOR_OUT_CACHE_FILL_LEN 4
4851 #define MC_CMD_RXD_MONITOR_OUT_RING_LT_1_LEN 4
4853 #define MC_CMD_RXD_MONITOR_OUT_RING_LT_2_LEN 4
4855 #define MC_CMD_RXD_MONITOR_OUT_RING_LT_4_LEN 4
4857 #define MC_CMD_RXD_MONITOR_OUT_RING_LT_8_LEN 4
4859 #define MC_CMD_RXD_MONITOR_OUT_RING_LT_16_LEN 4
4861 #define MC_CMD_RXD_MONITOR_OUT_RING_LT_32_LEN 4
4863 #define MC_CMD_RXD_MONITOR_OUT_RING_LT_64_LEN 4
4865 #define MC_CMD_RXD_MONITOR_OUT_RING_LT_128_LEN 4
4867 #define MC_CMD_RXD_MONITOR_OUT_RING_LT_256_LEN 4
4869 #define MC_CMD_RXD_MONITOR_OUT_RING_GE_256_LEN 4
4871 #define MC_CMD_RXD_MONITOR_OUT_CACHE_LT_1_LEN 4
4873 #define MC_CMD_RXD_MONITOR_OUT_CACHE_LT_2_LEN 4
4875 #define MC_CMD_RXD_MONITOR_OUT_CACHE_LT_4_LEN 4
4877 #define MC_CMD_RXD_MONITOR_OUT_CACHE_LT_8_LEN 4
4879 #define MC_CMD_RXD_MONITOR_OUT_CACHE_LT_16_LEN 4
4881 #define MC_CMD_RXD_MONITOR_OUT_CACHE_LT_32_LEN 4
4883 #define MC_CMD_RXD_MONITOR_OUT_CACHE_GE_32_LEN 4
4902 #define MC_CMD_PUTS_IN_DEST_LEN 4
4909 #define MC_CMD_PUTS_IN_DHOST_OFST 4
4923 * Report PHY configuration. This guarantees to succeed even if the PHY is in a
4938 #define MC_CMD_GET_PHY_CFG_OUT_FLAGS_LEN 4
4952 #define MC_CMD_GET_PHY_CFG_OUT_POWEROFF_LBN 4
4961 #define MC_CMD_GET_PHY_CFG_OUT_TYPE_OFST 4
4962 #define MC_CMD_GET_PHY_CFG_OUT_TYPE_LEN 4
4965 #define MC_CMD_GET_PHY_CFG_OUT_SUPPORTED_CAP_LEN 4
4976 #define MC_CMD_PHY_CAP_100FDX_LBN 4
5031 #define MC_CMD_GET_PHY_CFG_OUT_CHANNEL_LEN 4
5034 #define MC_CMD_GET_PHY_CFG_OUT_PRT_LEN 4
5037 #define MC_CMD_GET_PHY_CFG_OUT_STATS_MASK_LEN 4
5043 #define MC_CMD_GET_PHY_CFG_OUT_MEDIA_TYPE_LEN 4
5061 #define MC_CMD_GET_PHY_CFG_OUT_MMD_MASK_LEN 4
5081 * Start a BIST test on the PHY. Locks required: PHY_LOCK if doing a PHY BIST
5090 #define MC_CMD_START_BIST_IN_LEN 4
5093 #define MC_CMD_START_BIST_IN_TYPE_LEN 4
5117 * Poll for BIST completion. Returns a single status code, and optionally some
5119 * after validating OUTLEN and MC_CMD_GET_PHY_CFG.TYPE. If a driver can't
5121 * OUT.RESULT. Locks required: PHY_LOCK if doing a PHY BIST. Return code: 0,
5136 #define MC_CMD_POLL_BIST_OUT_RESULT_LEN 4
5145 #define MC_CMD_POLL_BIST_OUT_PRIVATE_OFST 4
5146 #define MC_CMD_POLL_BIST_OUT_PRIVATE_LEN 4
5152 /* MC_CMD_POLL_BIST_OUT_RESULT_LEN 4 */
5155 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_LENGTH_A_OFST 4
5156 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_LENGTH_A_LEN 4
5158 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_LENGTH_B_LEN 4
5160 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_LENGTH_C_LEN 4
5162 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_LENGTH_D_LEN 4
5163 /* Status of each channel A */
5165 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_STATUS_A_LEN 4
5178 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_STATUS_B_LEN 4
5183 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_STATUS_C_LEN 4
5188 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_STATUS_D_LEN 4
5196 /* MC_CMD_POLL_BIST_OUT_RESULT_LEN 4 */
5199 #define MC_CMD_POLL_BIST_OUT_MRSFP_TEST_OFST 4
5200 #define MC_CMD_POLL_BIST_OUT_MRSFP_TEST_LEN 4
5224 /* MC_CMD_POLL_BIST_OUT_RESULT_LEN 4 */
5227 #define MC_CMD_POLL_BIST_OUT_MEM_TEST_OFST 4
5228 #define MC_CMD_POLL_BIST_OUT_MEM_TEST_LEN 4
5245 #define MC_CMD_POLL_BIST_OUT_MEM_ADDR_LEN 4
5248 #define MC_CMD_POLL_BIST_OUT_MEM_BUS_LEN 4
5269 #define MC_CMD_POLL_BIST_OUT_MEM_EXPECT_LEN 4
5272 #define MC_CMD_POLL_BIST_OUT_MEM_ACTUAL_LEN 4
5275 #define MC_CMD_POLL_BIST_OUT_MEM_ECC_LEN 4
5278 #define MC_CMD_POLL_BIST_OUT_MEM_ECC_PARITY_LEN 4
5281 #define MC_CMD_POLL_BIST_OUT_MEM_ECC_FATAL_LEN 4
5296 #define MC_CMD_FLUSH_RX_QUEUES_IN_LENMIN 4
5299 #define MC_CMD_FLUSH_RX_QUEUES_IN_LEN(num) (0+4*(num))
5300 #define MC_CMD_FLUSH_RX_QUEUES_IN_QID_OFST_NUM(len) (((len)-0)/4)
5302 #define MC_CMD_FLUSH_RX_QUEUES_IN_QID_OFST_LEN 4
5313 * Returns a bitmask of loopback modes available at each speed.
5329 #define MC_CMD_GET_LOOPBACK_MODES_OUT_100M_LO_LEN 4
5332 #define MC_CMD_GET_LOOPBACK_MODES_OUT_100M_HI_OFST 4
5333 #define MC_CMD_GET_LOOPBACK_MODES_OUT_100M_HI_LEN 4
5418 #define MC_CMD_GET_LOOPBACK_MODES_OUT_1G_LO_LEN 4
5422 #define MC_CMD_GET_LOOPBACK_MODES_OUT_1G_HI_LEN 4
5431 #define MC_CMD_GET_LOOPBACK_MODES_OUT_10G_LO_LEN 4
5435 #define MC_CMD_GET_LOOPBACK_MODES_OUT_10G_HI_LEN 4
5444 #define MC_CMD_GET_LOOPBACK_MODES_OUT_SUGGESTED_LO_LEN 4
5448 #define MC_CMD_GET_LOOPBACK_MODES_OUT_SUGGESTED_HI_LEN 4
5457 #define MC_CMD_GET_LOOPBACK_MODES_OUT_40G_LO_LEN 4
5461 #define MC_CMD_GET_LOOPBACK_MODES_OUT_40G_HI_LEN 4
5475 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_100M_LO_LEN 4
5478 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_100M_HI_OFST 4
5479 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_100M_HI_LEN 4
5564 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_1G_LO_LEN 4
5568 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_1G_HI_LEN 4
5577 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_10G_LO_LEN 4
5581 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_10G_HI_LEN 4
5590 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_SUGGESTED_LO_LEN 4
5594 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_SUGGESTED_HI_LEN 4
5603 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_40G_LO_LEN 4
5607 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_40G_HI_LEN 4
5616 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_25G_LO_LEN 4
5620 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_25G_HI_LEN 4
5629 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_50G_LO_LEN 4
5633 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_50G_HI_LEN 4
5642 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_100G_LO_LEN 4
5646 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_100G_HI_LEN 4
5653 #define AN_TYPE_LEN 4
5655 #define AN_TYPE_TYPE_LEN 4
5671 #define FEC_TYPE_LEN 4
5673 #define FEC_TYPE_TYPE_LEN 4
5676 /* enum: Clause 74 BASE-R FEC (a.k.a Firecode) */
5703 #define MC_CMD_GET_LINK_OUT_CAP_LEN 4
5707 #define MC_CMD_GET_LINK_OUT_LP_CAP_OFST 4
5708 #define MC_CMD_GET_LINK_OUT_LP_CAP_LEN 4
5713 #define MC_CMD_GET_LINK_OUT_LINK_SPEED_LEN 4
5716 #define MC_CMD_GET_LINK_OUT_LOOPBACK_MODE_LEN 4
5720 #define MC_CMD_GET_LINK_OUT_FLAGS_LEN 4
5747 #define MC_CMD_GET_LINK_OUT_FCNTL_LEN 4
5751 #define MC_CMD_GET_LINK_OUT_MAC_FAULT_LEN 4
5771 #define MC_CMD_GET_LINK_OUT_V2_CAP_LEN 4
5775 #define MC_CMD_GET_LINK_OUT_V2_LP_CAP_OFST 4
5776 #define MC_CMD_GET_LINK_OUT_V2_LP_CAP_LEN 4
5781 #define MC_CMD_GET_LINK_OUT_V2_LINK_SPEED_LEN 4
5784 #define MC_CMD_GET_LINK_OUT_V2_LOOPBACK_MODE_LEN 4
5788 #define MC_CMD_GET_LINK_OUT_V2_FLAGS_LEN 4
5815 #define MC_CMD_GET_LINK_OUT_V2_FCNTL_LEN 4
5819 #define MC_CMD_GET_LINK_OUT_V2_MAC_FAULT_LEN 4
5840 #define MC_CMD_GET_LINK_OUT_V2_LD_CAP_LEN 4
5843 #define MC_CMD_GET_LINK_OUT_V2_AN_TYPE_LEN 4
5848 #define MC_CMD_GET_LINK_OUT_V2_FEC_TYPE_LEN 4
5852 #define MC_CMD_GET_LINK_OUT_V2_EXT_FLAGS_LEN 4
5866 #define MC_CMD_GET_LINK_OUT_V2_PCS_LOCK_LBN 4
5901 #define MC_CMD_SET_LINK_IN_CAP_LEN 4
5903 #define MC_CMD_SET_LINK_IN_FLAGS_OFST 4
5904 #define MC_CMD_SET_LINK_IN_FLAGS_LEN 4
5905 #define MC_CMD_SET_LINK_IN_LOWPOWER_OFST 4
5908 #define MC_CMD_SET_LINK_IN_POWEROFF_OFST 4
5911 #define MC_CMD_SET_LINK_IN_TXDIS_OFST 4
5914 #define MC_CMD_SET_LINK_IN_LINKDOWN_OFST 4
5919 #define MC_CMD_SET_LINK_IN_LOOPBACK_MODE_LEN 4
5922 /* A loopback speed of "0" is supported, and means (choose any available
5926 #define MC_CMD_SET_LINK_IN_LOOPBACK_SPEED_LEN 4
5937 #define MC_CMD_SET_LINK_IN_V2_CAP_LEN 4
5939 #define MC_CMD_SET_LINK_IN_V2_FLAGS_OFST 4
5940 #define MC_CMD_SET_LINK_IN_V2_FLAGS_LEN 4
5941 #define MC_CMD_SET_LINK_IN_V2_LOWPOWER_OFST 4
5944 #define MC_CMD_SET_LINK_IN_V2_POWEROFF_OFST 4
5947 #define MC_CMD_SET_LINK_IN_V2_TXDIS_OFST 4
5950 #define MC_CMD_SET_LINK_IN_V2_LINKDOWN_OFST 4
5955 #define MC_CMD_SET_LINK_IN_V2_LOOPBACK_MODE_LEN 4
5958 /* A loopback speed of "0" is supported, and means (choose any available
5962 #define MC_CMD_SET_LINK_IN_V2_LOOPBACK_SPEED_LEN 4
5986 #define MC_CMD_SET_ID_LED_IN_LEN 4
5989 #define MC_CMD_SET_ID_LED_IN_STATE_LEN 4
6013 #define MC_CMD_SET_MAC_IN_MTU_LEN 4
6014 #define MC_CMD_SET_MAC_IN_DRAIN_OFST 4
6015 #define MC_CMD_SET_MAC_IN_DRAIN_LEN 4
6019 #define MC_CMD_SET_MAC_IN_ADDR_LO_LEN 4
6023 #define MC_CMD_SET_MAC_IN_ADDR_HI_LEN 4
6027 #define MC_CMD_SET_MAC_IN_REJECT_LEN 4
6035 #define MC_CMD_SET_MAC_IN_FCNTL_LEN 4
6049 #define MC_CMD_SET_MAC_IN_FLAGS_LEN 4
6060 #define MC_CMD_SET_MAC_EXT_IN_MTU_LEN 4
6061 #define MC_CMD_SET_MAC_EXT_IN_DRAIN_OFST 4
6062 #define MC_CMD_SET_MAC_EXT_IN_DRAIN_LEN 4
6066 #define MC_CMD_SET_MAC_EXT_IN_ADDR_LO_LEN 4
6070 #define MC_CMD_SET_MAC_EXT_IN_ADDR_HI_LEN 4
6074 #define MC_CMD_SET_MAC_EXT_IN_REJECT_LEN 4
6082 #define MC_CMD_SET_MAC_EXT_IN_FCNTL_LEN 4
6096 #define MC_CMD_SET_MAC_EXT_IN_FLAGS_LEN 4
6100 /* Select which parameters to configure. A parameter will only be modified if
6106 #define MC_CMD_SET_MAC_EXT_IN_CONTROL_LEN 4
6120 #define MC_CMD_SET_MAC_EXT_IN_CFG_FCS_LBN 4
6129 #define MC_CMD_SET_MAC_V3_IN_MTU_LEN 4
6130 #define MC_CMD_SET_MAC_V3_IN_DRAIN_OFST 4
6131 #define MC_CMD_SET_MAC_V3_IN_DRAIN_LEN 4
6135 #define MC_CMD_SET_MAC_V3_IN_ADDR_LO_LEN 4
6139 #define MC_CMD_SET_MAC_V3_IN_ADDR_HI_LEN 4
6143 #define MC_CMD_SET_MAC_V3_IN_REJECT_LEN 4
6151 #define MC_CMD_SET_MAC_V3_IN_FCNTL_LEN 4
6165 #define MC_CMD_SET_MAC_V3_IN_FLAGS_LEN 4
6169 /* Select which parameters to configure. A parameter will only be modified if
6175 #define MC_CMD_SET_MAC_V3_IN_CONTROL_LEN 4
6189 #define MC_CMD_SET_MAC_V3_IN_CFG_FCS_LBN 4
6191 /* Identifies the MAC to update by the specifying the end of a logical MAE
6195 * circumstances. 1. Some will always work (e.g. a VF can always address its
6198 * VNIC end of a link to a physical port), 3. Some are meaningful but require
6200 * otherwise (e.g. trying to set the MAC on a VF the caller cannot administer),
6201 * and 4. Some could be implementation-specific and fail with ENOTSUP if not
6208 #define MC_CMD_SET_MAC_V3_IN_TARGET_LO_LEN 4
6212 #define MC_CMD_SET_MAC_V3_IN_TARGET_HI_LEN 4
6216 #define MC_CMD_SET_MAC_V3_IN_TARGET_MPORT_SELECTOR_LEN 4
6218 #define MC_CMD_SET_MAC_V3_IN_TARGET_MPORT_SELECTOR_FLAT_LEN 4
6224 #define MC_CMD_SET_MAC_V3_IN_TARGET_MPORT_SELECTOR_PPORT_ID_WIDTH 4
6226 #define MC_CMD_SET_MAC_V3_IN_TARGET_MPORT_SELECTOR_FUNC_INTF_ID_WIDTH 4
6228 #define MC_CMD_SET_MAC_V3_IN_TARGET_MPORT_SELECTOR_FUNC_MH_PF_ID_WIDTH 4
6234 #define MC_CMD_SET_MAC_V3_IN_TARGET_LINK_END_LEN 4
6238 #define MC_CMD_SET_MAC_V3_IN_TARGET_FLAT_LO_LEN 4
6242 #define MC_CMD_SET_MAC_V3_IN_TARGET_FLAT_HI_LEN 4
6250 #define MC_CMD_SET_MAC_V2_OUT_LEN 4
6256 #define MC_CMD_SET_MAC_V2_OUT_MTU_LEN 4
6261 * Get generic PHY statistics. This call returns the statistics for a generic
6262 * PHY in a sparse array (indexed by the enumerate). Each value is represented
6263 * by a 32bit number. If the DMA_ADDR is 0, then no DMA is performed, and the
6279 #define MC_CMD_PHY_STATS_IN_DMA_ADDR_LO_LEN 4
6282 #define MC_CMD_PHY_STATS_IN_DMA_ADDR_HI_OFST 4
6283 #define MC_CMD_PHY_STATS_IN_DMA_ADDR_HI_LEN 4
6293 #define MC_CMD_PHY_STATS_OUT_NO_DMA_STATISTICS_LEN 4
6305 /* enum: PMA-PMD SNR A. */
6367 #define MC_CMD_MAC_STATS_IN_DMA_ADDR_LO_LEN 4
6370 #define MC_CMD_MAC_STATS_IN_DMA_ADDR_HI_OFST 4
6371 #define MC_CMD_MAC_STATS_IN_DMA_ADDR_HI_LEN 4
6375 #define MC_CMD_MAC_STATS_IN_CMD_LEN 4
6389 #define MC_CMD_MAC_STATS_IN_PERIODIC_CLEAR_LBN 4
6403 #define MC_CMD_MAC_STATS_IN_DMA_LEN_LEN 4
6406 #define MC_CMD_MAC_STATS_IN_PORT_ID_LEN 4
6416 #define MC_CMD_MAC_STATS_OUT_NO_DMA_STATISTICS_LO_LEN 4
6419 #define MC_CMD_MAC_STATS_OUT_NO_DMA_STATISTICS_HI_OFST 4
6420 #define MC_CMD_MAC_STATS_OUT_NO_DMA_STATISTICS_HI_LEN 4
6578 #define MC_CMD_MAC_STATS_V2_OUT_NO_DMA_STATISTICS_LO_LEN 4
6581 #define MC_CMD_MAC_STATS_V2_OUT_NO_DMA_STATISTICS_HI_OFST 4
6582 #define MC_CMD_MAC_STATS_V2_OUT_NO_DMA_STATISTICS_HI_LEN 4
6603 * GENERATION_END in a MAC_STATS_V2 response and otherwise unused.
6617 #define MC_CMD_MAC_STATS_V3_OUT_NO_DMA_STATISTICS_LO_LEN 4
6620 #define MC_CMD_MAC_STATS_V3_OUT_NO_DMA_STATISTICS_HI_OFST 4
6621 #define MC_CMD_MAC_STATS_V3_OUT_NO_DMA_STATISTICS_HI_LEN 4
6627 /* enum: Number of CTPIO fallbacks because a DMA packet was in progress on the
6631 /* enum: Number of times a CTPIO send wrote beyond frame end (informational
6653 /* enum: Number of CTPIO failures because the host started a new frame before
6657 /* enum: Number of CTPIO failures because a write was not a multiple of 32 bits
6662 * sending a CTPIO frame
6683 * GENERATION_END in a MAC_STATS_V3 response and otherwise unused.
6697 #define MC_CMD_MAC_STATS_V4_OUT_NO_DMA_STATISTICS_LO_LEN 4
6700 #define MC_CMD_MAC_STATS_V4_OUT_NO_DMA_STATISTICS_HI_OFST 4
6701 #define MC_CMD_MAC_STATS_V4_OUT_NO_DMA_STATISTICS_HI_LEN 4
6720 * GENERATION_END in a MAC_STATS_V4 response and otherwise unused.
6736 #define MC_CMD_SRIOV_IN_ENABLE_LEN 4
6737 #define MC_CMD_SRIOV_IN_VI_BASE_OFST 4
6738 #define MC_CMD_SRIOV_IN_VI_BASE_LEN 4
6740 #define MC_CMD_SRIOV_IN_VF_COUNT_LEN 4
6745 #define MC_CMD_SRIOV_OUT_VI_SCALE_LEN 4
6746 #define MC_CMD_SRIOV_OUT_VF_TOTAL_OFST 4
6747 #define MC_CMD_SRIOV_OUT_VF_TOTAL_LEN 4
6753 #define MC_CMD_MEMCPY_RECORD_TYPEDEF_NUM_RECORDS_LEN 4
6756 #define MC_CMD_MEMCPY_RECORD_TYPEDEF_TO_RID_OFST 4
6757 #define MC_CMD_MEMCPY_RECORD_TYPEDEF_TO_RID_LEN 4
6763 #define MC_CMD_MEMCPY_RECORD_TYPEDEF_TO_ADDR_LO_LEN 4
6767 #define MC_CMD_MEMCPY_RECORD_TYPEDEF_TO_ADDR_HI_LEN 4
6773 #define MC_CMD_MEMCPY_RECORD_TYPEDEF_FROM_RID_LEN 4
6780 #define MC_CMD_MEMCPY_RECORD_TYPEDEF_FROM_ADDR_LO_LEN 4
6784 #define MC_CMD_MEMCPY_RECORD_TYPEDEF_FROM_ADDR_HI_LEN 4
6790 #define MC_CMD_MEMCPY_RECORD_TYPEDEF_LENGTH_LEN 4
6800 * A common pattern is for a client to use generation counts to signal a dma
6801 * update of a datastructure. To facilitate this, this MCDI operation can
6806 * The source data can either come from a DMA from the host, or it can be
6807 * embedded within the request directly, thereby eliminating a DMA read. To
6836 * Set a WoL filter.
6846 #define MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_LEN 4
6849 /* A type value of 1 is unused. */
6850 #define MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4
6851 #define MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_LEN 4
6867 #define MC_CMD_WOL_FILTER_SET_IN_DATA_LEN 4
6873 /* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_LEN 4 */
6874 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
6875 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_LEN 4 */
6879 #define MC_CMD_WOL_FILTER_SET_IN_MAGIC_MAC_LO_LEN 4
6883 #define MC_CMD_WOL_FILTER_SET_IN_MAGIC_MAC_HI_LEN 4
6890 /* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_LEN 4 */
6891 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
6892 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_LEN 4 */
6894 #define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_SRC_IP_LEN 4
6896 #define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_DST_IP_LEN 4
6905 /* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_LEN 4 */
6906 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
6907 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_LEN 4 */
6920 /* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_LEN 4 */
6921 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
6922 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_LEN 4 */
6937 /* MC_CMD_WOL_FILTER_SET_IN_FILTER_MODE_LEN 4 */
6938 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_OFST 4 */
6939 /* MC_CMD_WOL_FILTER_SET_IN_WOL_TYPE_LEN 4 */
6941 #define MC_CMD_WOL_FILTER_SET_IN_LINK_MASK_LEN 4
6950 #define MC_CMD_WOL_FILTER_SET_OUT_LEN 4
6952 #define MC_CMD_WOL_FILTER_SET_OUT_FILTER_ID_LEN 4
6957 * Remove a WoL filter. Locks required: None. Returns: 0, EINVAL, ENOSYS
6965 #define MC_CMD_WOL_FILTER_REMOVE_IN_LEN 4
6967 #define MC_CMD_WOL_FILTER_REMOVE_IN_FILTER_ID_LEN 4
6984 #define MC_CMD_WOL_FILTER_RESET_IN_LEN 4
6986 #define MC_CMD_WOL_FILTER_RESET_IN_MASK_LEN 4
7025 #define MC_CMD_NVRAM_TYPES_OUT_LEN 4
7028 #define MC_CMD_NVRAM_TYPES_OUT_TYPES_LEN 4
7075 * Read info about a virtual NVRAM partition. Locks required: none. Returns: 0,
7084 #define MC_CMD_NVRAM_INFO_IN_LEN 4
7086 #define MC_CMD_NVRAM_INFO_IN_TYPE_LEN 4
7093 #define MC_CMD_NVRAM_INFO_OUT_TYPE_LEN 4
7096 #define MC_CMD_NVRAM_INFO_OUT_SIZE_OFST 4
7097 #define MC_CMD_NVRAM_INFO_OUT_SIZE_LEN 4
7099 #define MC_CMD_NVRAM_INFO_OUT_ERASESIZE_LEN 4
7101 #define MC_CMD_NVRAM_INFO_OUT_FLAGS_LEN 4
7124 #define MC_CMD_NVRAM_INFO_OUT_PHYSDEV_LEN 4
7126 #define MC_CMD_NVRAM_INFO_OUT_PHYSADDR_LEN 4
7131 #define MC_CMD_NVRAM_INFO_V2_OUT_TYPE_LEN 4
7134 #define MC_CMD_NVRAM_INFO_V2_OUT_SIZE_OFST 4
7135 #define MC_CMD_NVRAM_INFO_V2_OUT_SIZE_LEN 4
7137 #define MC_CMD_NVRAM_INFO_V2_OUT_ERASESIZE_LEN 4
7139 #define MC_CMD_NVRAM_INFO_V2_OUT_FLAGS_LEN 4
7156 #define MC_CMD_NVRAM_INFO_V2_OUT_PHYSDEV_LEN 4
7158 #define MC_CMD_NVRAM_INFO_V2_OUT_PHYSADDR_LEN 4
7162 #define MC_CMD_NVRAM_INFO_V2_OUT_WRITESIZE_LEN 4
7167 * Start a group of update operations on a virtual NVRAM partition. Locks
7169 * PHY_LOCK required and not held). In an adapter bound to a TSA controller,
7170 * MC_CMD_NVRAM_UPDATE_START can only be used on a subset of partition types
7172 * perform this operation on a restricted partition will return the error
7183 #define MC_CMD_NVRAM_UPDATE_START_IN_LEN 4
7185 #define MC_CMD_NVRAM_UPDATE_START_IN_TYPE_LEN 4
7196 #define MC_CMD_NVRAM_UPDATE_START_V2_IN_TYPE_LEN 4
7199 #define MC_CMD_NVRAM_UPDATE_START_V2_IN_FLAGS_OFST 4
7200 #define MC_CMD_NVRAM_UPDATE_START_V2_IN_FLAGS_LEN 4
7201 #define MC_CMD_NVRAM_UPDATE_START_V2_IN_FLAG_REPORT_VERIFY_RESULT_OFST 4
7211 * Read data from a virtual NVRAM partition. Locks required: PHY_LOCK if
7223 #define MC_CMD_NVRAM_READ_IN_TYPE_LEN 4
7226 #define MC_CMD_NVRAM_READ_IN_OFFSET_OFST 4
7227 #define MC_CMD_NVRAM_READ_IN_OFFSET_LEN 4
7230 #define MC_CMD_NVRAM_READ_IN_LENGTH_LEN 4
7235 #define MC_CMD_NVRAM_READ_IN_V2_TYPE_LEN 4
7238 #define MC_CMD_NVRAM_READ_IN_V2_OFFSET_OFST 4
7239 #define MC_CMD_NVRAM_READ_IN_V2_OFFSET_LEN 4
7242 #define MC_CMD_NVRAM_READ_IN_V2_LENGTH_LEN 4
7243 /* Optional control info. If a partition is stored with an A/B versioning
7246 * from. This allows it to perform a read-modify-write-verify with the write
7252 #define MC_CMD_NVRAM_READ_IN_V2_MODE_LEN 4
7258 /* enum: Read from the current partition of an A/B pair, even if holding the
7262 /* enum: Read from the non-current (i.e. to be updated) partition of an A/B
7282 * Write data to a virtual NVRAM partition. Locks required: PHY_LOCK if
7298 #define MC_CMD_NVRAM_WRITE_IN_TYPE_LEN 4
7301 #define MC_CMD_NVRAM_WRITE_IN_OFFSET_OFST 4
7302 #define MC_CMD_NVRAM_WRITE_IN_OFFSET_LEN 4
7304 #define MC_CMD_NVRAM_WRITE_IN_LENGTH_LEN 4
7317 * Erase sector(s) from a virtual NVRAM partition. Locks required: PHY_LOCK if
7329 #define MC_CMD_NVRAM_ERASE_IN_TYPE_LEN 4
7332 #define MC_CMD_NVRAM_ERASE_IN_OFFSET_OFST 4
7333 #define MC_CMD_NVRAM_ERASE_IN_OFFSET_LEN 4
7335 #define MC_CMD_NVRAM_ERASE_IN_LENGTH_LEN 4
7343 * Finish a group of update operations on a virtual NVRAM partition. Locks
7346 * a TSA controller, MC_CMD_NVRAM_UPDATE_FINISH can only be used on a subset of
7348 * Attempting to perform this operation on a restricted partition will return
7361 #define MC_CMD_NVRAM_UPDATE_FINISH_IN_TYPE_LEN 4
7364 #define MC_CMD_NVRAM_UPDATE_FINISH_IN_REBOOT_OFST 4
7365 #define MC_CMD_NVRAM_UPDATE_FINISH_IN_REBOOT_LEN 4
7374 #define MC_CMD_NVRAM_UPDATE_FINISH_V2_IN_TYPE_LEN 4
7377 #define MC_CMD_NVRAM_UPDATE_FINISH_V2_IN_REBOOT_OFST 4
7378 #define MC_CMD_NVRAM_UPDATE_FINISH_V2_IN_REBOOT_LEN 4
7380 #define MC_CMD_NVRAM_UPDATE_FINISH_V2_IN_FLAGS_LEN 4
7406 * This process takes a few seconds to complete. So is likely to take more than
7409 * MCDI command is run in a background MCDI processing thread. This response
7414 #define MC_CMD_NVRAM_UPDATE_FINISH_V2_OUT_LEN 4
7417 * the field are marked with a prefix 'Internal-error'.
7420 #define MC_CMD_NVRAM_UPDATE_FINISH_V2_OUT_RESULT_CODE_LEN 4
7451 /* enum: The image contains a test-signed certificate, but the adapter accepts
7455 /* enum: The image has a lower security level than the current firmware. */
7463 /* enum: Internal-error. The bundle does not have a valid reflash image layout.
7474 /* enum: Internal-error. The number of components in a bundle do not match the
7486 /* enum: Internal-error. The hash of a component does not match the hash stored
7492 /* enum: Internal-error. The component does not have a valid reflash image
7496 /* enum: The bundle processing code failed to copy a component to its target
7509 * assertion failure (at which point it is expected to perform a complete tear
7519 * Locks required: NONE Returns: Nothing. You get back a response with ERR=1,
7528 #define MC_CMD_REBOOT_IN_LEN 4
7530 #define MC_CMD_REBOOT_IN_FLAGS_LEN 4
7552 #define MC_CMD_SCHEDINFO_OUT_LENMIN 4
7555 #define MC_CMD_SCHEDINFO_OUT_LEN(num) (0+4*(num))
7556 #define MC_CMD_SCHEDINFO_OUT_DATA_NUM(len) (((len)-0)/4)
7558 #define MC_CMD_SCHEDINFO_OUT_DATA_LEN 4
7575 #define MC_CMD_REBOOT_MODE_IN_LEN 4
7577 #define MC_CMD_REBOOT_MODE_IN_VALUE_LEN 4
7591 #define MC_CMD_REBOOT_MODE_OUT_LEN 4
7593 #define MC_CMD_REBOOT_MODE_OUT_VALUE_LEN 4
7600 * Each sensor has a single (16bit) value, and a corresponding state. The
7604 * This call returns a mask (32bit) of the sensors that are supported by this
7608 * equal limit values. If one range is used, a value outside that range results
7609 * in STATE_FATAL. If two ranges are used, a value outside the second range
7610 * results in STATE_FATAL while a value outside the first and inside the second
7618 * If the request does not contain a PAGE value then firmware will only return
7621 * If the request contains a PAGE value then firmware responds with the sensor
7636 #define MC_CMD_SENSOR_INFO_EXT_IN_LEN 4
7644 #define MC_CMD_SENSOR_INFO_EXT_IN_PAGE_LEN 4
7655 #define MC_CMD_SENSOR_INFO_EXT_IN_V2_PAGE_LEN 4
7657 #define MC_CMD_SENSOR_INFO_EXT_IN_V2_FLAGS_OFST 4
7658 #define MC_CMD_SENSOR_INFO_EXT_IN_V2_FLAGS_LEN 4
7659 #define MC_CMD_SENSOR_INFO_EXT_IN_V2_ENGINEERING_OFST 4
7664 #define MC_CMD_SENSOR_INFO_OUT_LENMIN 4
7667 #define MC_CMD_SENSOR_INFO_OUT_LEN(num) (4+8*(num))
7668 #define MC_CMD_SENSOR_INFO_OUT_MC_CMD_SENSOR_ENTRY_NUM(len) (((len)-4)/8)
7670 #define MC_CMD_SENSOR_INFO_OUT_MASK_LEN 4
7717 /* enum: Fan 4 speed: RPM */
7733 /* enum: Not a sensor: reserved for the next page flag */
7769 /* enum: 0.9v power phase A voltage: mV */
7771 /* enum: 0.9v power phase A current: mA */
7773 /* enum: 0.9V voltage regulator phase A temperature: degC */
7791 /* enum: Not a sensor: reserved for the next page flag */
7851 /* enum: Engineering sensor 4 */
7861 /* enum: Not a sensor: reserved for the next page flag */
7864 #define MC_CMD_SENSOR_ENTRY_OFST 4
7866 #define MC_CMD_SENSOR_ENTRY_LO_OFST 4
7867 #define MC_CMD_SENSOR_ENTRY_LO_LEN 4
7871 #define MC_CMD_SENSOR_ENTRY_HI_LEN 4
7879 #define MC_CMD_SENSOR_INFO_EXT_OUT_LENMIN 4
7882 #define MC_CMD_SENSOR_INFO_EXT_OUT_LEN(num) (4+8*(num))
7883 #define MC_CMD_SENSOR_INFO_EXT_OUT_MC_CMD_SENSOR_ENTRY_NUM(len) (((len)-4)/8)
7885 #define MC_CMD_SENSOR_INFO_EXT_OUT_MASK_LEN 4
7892 /* MC_CMD_SENSOR_ENTRY_OFST 4 */
7894 /* MC_CMD_SENSOR_ENTRY_LO_OFST 4 */
7895 /* MC_CMD_SENSOR_ENTRY_LO_LEN 4 */
7899 /* MC_CMD_SENSOR_ENTRY_HI_LEN 4 */
7916 #define MC_CMD_SENSOR_INFO_ENTRY_TYPEDEF_MIN2_OFST 4
7930 * sensors), into host memory. Each array element is a
7938 * The MC will send a SENSOREVT event every time any sensor changes state. The
7950 /* DMA address of host buffer for sensor readings (must be 4Kbyte aligned).
7958 #define MC_CMD_READ_SENSORS_IN_DMA_ADDR_LO_LEN 4
7961 #define MC_CMD_READ_SENSORS_IN_DMA_ADDR_HI_OFST 4
7962 #define MC_CMD_READ_SENSORS_IN_DMA_ADDR_HI_LEN 4
7968 /* DMA address of host buffer for sensor readings (must be 4Kbyte aligned).
7976 #define MC_CMD_READ_SENSORS_EXT_IN_DMA_ADDR_LO_LEN 4
7979 #define MC_CMD_READ_SENSORS_EXT_IN_DMA_ADDR_HI_OFST 4
7980 #define MC_CMD_READ_SENSORS_EXT_IN_DMA_ADDR_HI_LEN 4
7985 #define MC_CMD_READ_SENSORS_EXT_IN_LENGTH_LEN 4
7989 /* DMA address of host buffer for sensor readings (must be 4Kbyte aligned).
7997 #define MC_CMD_READ_SENSORS_EXT_IN_V2_DMA_ADDR_LO_LEN 4
8000 #define MC_CMD_READ_SENSORS_EXT_IN_V2_DMA_ADDR_HI_OFST 4
8001 #define MC_CMD_READ_SENSORS_EXT_IN_V2_DMA_ADDR_HI_LEN 4
8006 #define MC_CMD_READ_SENSORS_EXT_IN_V2_LENGTH_LEN 4
8009 #define MC_CMD_READ_SENSORS_EXT_IN_V2_FLAGS_LEN 4
8021 #define MC_CMD_SENSOR_VALUE_ENTRY_TYPEDEF_LEN 4
8036 /* enum: Sensor is working but does not currently have a reading. */
8052 * Report current state of PHY. A 'zombie' PHY is a PHY that has failed to boot
8065 #define MC_CMD_GET_PHY_STATE_OUT_LEN 4
8067 #define MC_CMD_GET_PHY_STATE_OUT_STATE_LEN 4
8077 * disable 802.Qbb for a given priority.
8103 #define MC_CMD_WOL_FILTER_GET_OUT_LEN 4
8105 #define MC_CMD_WOL_FILTER_GET_OUT_FILTER_ID_LEN 4
8110 * Add a protocol offload to NIC for lights-out state. Locks required: None.
8122 #define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_LEN(num) (4+4*(num))
8123 #define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_DATA_NUM(len) (((len)-4)/4)
8125 #define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_PROTOCOL_LEN 4
8128 #define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_DATA_OFST 4
8129 #define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_DATA_LEN 4
8137 /* MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_PROTOCOL_LEN 4 */
8138 #define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_ARP_MAC_OFST 4
8141 #define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_ARP_IP_LEN 4
8146 /* MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_PROTOCOL_LEN 4 */
8147 #define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_NS_MAC_OFST 4
8155 #define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_OUT_LEN 4
8157 #define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_OUT_FILTER_ID_LEN 4
8162 * Remove a protocol offload from NIC for lights-out state. Locks required:
8173 #define MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_IN_PROTOCOL_LEN 4
8174 #define MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_IN_FILTER_ID_OFST 4
8175 #define MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_IN_FILTER_ID_LEN 4
8212 #define MC_CMD_TESTASSERT_V2_IN_LEN 4
8215 #define MC_CMD_TESTASSERT_V2_IN_TYPE_LEN 4
8222 /* enum: Deliberately trigger a watchdog */
8224 /* enum: Deliberately trigger a trap by loading from an invalid address */
8226 /* enum: Deliberately trigger a trap by storing to an invalid address */
8237 * Enable/Disable a given workaround. The mcfw will return EINVAL if it doesn't
8238 * understand the given workaround number - which should not be treated as a
8240 * workaround, that's between the driver and the mcfw on a per-workaround
8252 #define MC_CMD_WORKAROUND_IN_TYPE_LEN 4
8280 #define MC_CMD_WORKAROUND_IN_ENABLED_OFST 4
8281 #define MC_CMD_WORKAROUND_IN_ENABLED_LEN 4
8289 #define MC_CMD_WORKAROUND_EXT_OUT_LEN 4
8291 #define MC_CMD_WORKAROUND_EXT_OUT_FLAGS_LEN 4
8302 * output data, are interpreted on a per-type basis. For SFP+, PAGE=0 or 1
8303 * returns a 128-byte block read from module I2C address 0xA0 offset 0 or 0x80.
8305 * PAGE=3 is the module limits. For DSFP, module addressing requires a
8307 * Management Interface Specification (CMIS) for further details. A BANK:PAGE
8317 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_LEN 4
8319 #define MC_CMD_GET_PHY_MEDIA_INFO_IN_PAGE_LEN 4
8331 #define MC_CMD_GET_PHY_MEDIA_INFO_OUT_LEN(num) (4+1*(num))
8332 #define MC_CMD_GET_PHY_MEDIA_INFO_OUT_DATA_NUM(len) (((len)-4)/1)
8335 #define MC_CMD_GET_PHY_MEDIA_INFO_OUT_DATALEN_LEN 4
8336 #define MC_CMD_GET_PHY_MEDIA_INFO_OUT_DATA_OFST 4
8345 * Test a particular NVRAM partition for valid contents (where "valid" depends
8354 #define MC_CMD_NVRAM_TEST_IN_LEN 4
8356 #define MC_CMD_NVRAM_TEST_IN_TYPE_LEN 4
8361 #define MC_CMD_NVRAM_TEST_OUT_LEN 4
8363 #define MC_CMD_NVRAM_TEST_OUT_RESULT_LEN 4
8384 #define MC_CMD_MRSFP_TWEAK_IN_EQ_CONFIG_TXEQ_LEVEL_LEN 4
8386 #define MC_CMD_MRSFP_TWEAK_IN_EQ_CONFIG_TXEQ_DT_CFG_OFST 4
8387 #define MC_CMD_MRSFP_TWEAK_IN_EQ_CONFIG_TXEQ_DT_CFG_LEN 4
8390 #define MC_CMD_MRSFP_TWEAK_IN_EQ_CONFIG_RXEQ_BOOST_LEN 4
8393 #define MC_CMD_MRSFP_TWEAK_IN_EQ_CONFIG_RXEQ_DT_CFG_LEN 4
8402 #define MC_CMD_MRSFP_TWEAK_OUT_IOEXP_INPUTS_LEN 4
8404 #define MC_CMD_MRSFP_TWEAK_OUT_IOEXP_OUTPUTS_OFST 4
8405 #define MC_CMD_MRSFP_TWEAK_OUT_IOEXP_OUTPUTS_LEN 4
8408 #define MC_CMD_MRSFP_TWEAK_OUT_IOEXP_DIRECTION_LEN 4
8417 * Adjusts the sensor limits. This is a warranty-voiding operation. Returns:
8429 #define MC_CMD_SENSOR_SET_LIMS_IN_SENSOR_LEN 4
8433 #define MC_CMD_SENSOR_SET_LIMS_IN_LOW0_OFST 4
8434 #define MC_CMD_SENSOR_SET_LIMS_IN_LOW0_LEN 4
8437 #define MC_CMD_SENSOR_SET_LIMS_IN_HI0_LEN 4
8440 #define MC_CMD_SENSOR_SET_LIMS_IN_LOW1_LEN 4
8443 #define MC_CMD_SENSOR_SET_LIMS_IN_HI1_LEN 4
8460 #define MC_CMD_GET_RESOURCE_LIMITS_OUT_BUFTBL_LEN 4
8461 #define MC_CMD_GET_RESOURCE_LIMITS_OUT_EVQ_OFST 4
8462 #define MC_CMD_GET_RESOURCE_LIMITS_OUT_EVQ_LEN 4
8464 #define MC_CMD_GET_RESOURCE_LIMITS_OUT_RXQ_LEN 4
8466 #define MC_CMD_GET_RESOURCE_LIMITS_OUT_TXQ_LEN 4
8483 #define MC_CMD_NVRAM_PARTITIONS_OUT_LENMIN 4
8486 #define MC_CMD_NVRAM_PARTITIONS_OUT_LEN(num) (4+4*(num))
8487 #define MC_CMD_NVRAM_PARTITIONS_OUT_TYPE_ID_NUM(len) (((len)-4)/4)
8490 #define MC_CMD_NVRAM_PARTITIONS_OUT_NUM_PARTITIONS_LEN 4
8492 #define MC_CMD_NVRAM_PARTITIONS_OUT_TYPE_ID_OFST 4
8493 #define MC_CMD_NVRAM_PARTITIONS_OUT_TYPE_ID_LEN 4
8501 * Reads soft metadata for a virtual NVRAM partition type. Locks required:
8510 #define MC_CMD_NVRAM_METADATA_IN_LEN 4
8513 #define MC_CMD_NVRAM_METADATA_IN_TYPE_LEN 4
8523 #define MC_CMD_NVRAM_METADATA_OUT_TYPE_LEN 4
8524 #define MC_CMD_NVRAM_METADATA_OUT_FLAGS_OFST 4
8525 #define MC_CMD_NVRAM_METADATA_OUT_FLAGS_LEN 4
8526 #define MC_CMD_NVRAM_METADATA_OUT_SUBTYPE_VALID_OFST 4
8529 #define MC_CMD_NVRAM_METADATA_OUT_VERSION_VALID_OFST 4
8532 #define MC_CMD_NVRAM_METADATA_OUT_DESCRIPTION_VALID_OFST 4
8537 #define MC_CMD_NVRAM_METADATA_OUT_SUBTYPE_LEN 4
8547 /* 4th component of W.X.Y.Z version number for content of this partition */
8580 #define MC_CMD_GET_MAC_ADDRESSES_OUT_MAC_COUNT_LEN 4
8583 #define MC_CMD_GET_MAC_ADDRESSES_OUT_MAC_STRIDE_LEN 4
8588 * Perform a CLP related operation, see SF-110495-PS for details of CLP
8599 #define MC_CMD_CLP_IN_LEN 4
8602 #define MC_CMD_CLP_IN_OP_LEN 4
8618 #define MC_CMD_CLP_IN_DEFAULT_LEN 4
8620 /* MC_CMD_CLP_IN_OP_LEN 4 */
8628 /* MC_CMD_CLP_IN_OP_LEN 4 */
8629 /* The MAC address assigned to port. A zero MAC address of 00:00:00:00:00:00
8631 * port. A non-zero MAC address persists until a PCIe reset or a power cycle.
8633 #define MC_CMD_CLP_IN_SET_MAC_ADDR_OFST 4
8645 /* MC_CMD_CLP_IN_OP_LEN 4 */
8646 /* The MAC address assigned to port. A zero MAC address of 00:00:00:00:00:00
8648 * port. A non-zero MAC address persists until a PCIe reset or a power cycle.
8650 #define MC_CMD_CLP_IN_SET_MAC_V2_ADDR_OFST 4
8656 #define MC_CMD_CLP_IN_SET_MAC_V2_FLAGS_LEN 4
8662 #define MC_CMD_CLP_IN_GET_MAC_LEN 4
8664 /* MC_CMD_CLP_IN_OP_LEN 4 */
8669 /* MC_CMD_CLP_IN_OP_LEN 4 */
8670 #define MC_CMD_CLP_IN_GET_MAC_V2_FLAGS_OFST 4
8671 #define MC_CMD_CLP_IN_GET_MAC_V2_FLAGS_LEN 4
8672 #define MC_CMD_CLP_IN_GET_MAC_V2_PERMANENT_OFST 4
8688 /* MC_CMD_CLP_IN_OP_LEN 4 */
8690 #define MC_CMD_CLP_IN_SET_BOOT_FLAG_OFST 4
8697 #define MC_CMD_CLP_IN_GET_BOOT_LEN 4
8699 /* MC_CMD_CLP_IN_OP_LEN 4 */
8702 #define MC_CMD_CLP_OUT_GET_BOOT_LEN 4
8713 * Perform a MUM operation
8721 #define MC_CMD_MUM_IN_LEN 4
8723 #define MC_CMD_MUM_IN_OP_HDR_LEN 4
8761 #define MC_CMD_MUM_IN_NULL_LEN 4
8764 #define MC_CMD_MUM_IN_CMD_LEN 4
8767 #define MC_CMD_MUM_IN_GET_VERSION_LEN 4
8770 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8776 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8778 #define MC_CMD_MUM_IN_READ_DEVICE_OFST 4
8779 #define MC_CMD_MUM_IN_READ_DEVICE_LEN 4
8786 #define MC_CMD_MUM_IN_READ_ADDR_LEN 4
8789 #define MC_CMD_MUM_IN_READ_NUMWORDS_LEN 4
8795 #define MC_CMD_MUM_IN_WRITE_LEN(num) (12+4*(num))
8796 #define MC_CMD_MUM_IN_WRITE_BUFFER_NUM(len) (((len)-12)/4)
8799 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8801 #define MC_CMD_MUM_IN_WRITE_DEVICE_OFST 4
8802 #define MC_CMD_MUM_IN_WRITE_DEVICE_LEN 4
8807 #define MC_CMD_MUM_IN_WRITE_ADDR_LEN 4
8810 #define MC_CMD_MUM_IN_WRITE_BUFFER_LEN 4
8823 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8825 #define MC_CMD_MUM_IN_RAW_CMD_CMD_CODE_OFST 4
8826 #define MC_CMD_MUM_IN_RAW_CMD_CMD_CODE_LEN 4
8829 #define MC_CMD_MUM_IN_RAW_CMD_NUM_WRITE_LEN 4
8832 #define MC_CMD_MUM_IN_RAW_CMD_NUM_READ_LEN 4
8844 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8845 #define MC_CMD_MUM_IN_LOG_OP_OFST 4
8846 #define MC_CMD_MUM_IN_LOG_OP_LEN 4
8852 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8853 /* MC_CMD_MUM_IN_LOG_OP_OFST 4 */
8854 /* MC_CMD_MUM_IN_LOG_OP_LEN 4 */
8857 #define MC_CMD_MUM_IN_LOG_OP_UART_ENABLE_LEN 4
8863 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8864 #define MC_CMD_MUM_IN_GPIO_HDR_OFST 4
8865 #define MC_CMD_MUM_IN_GPIO_HDR_LEN 4
8866 #define MC_CMD_MUM_IN_GPIO_OPCODE_OFST 4
8879 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8880 #define MC_CMD_MUM_IN_GPIO_IN_READ_HDR_OFST 4
8881 #define MC_CMD_MUM_IN_GPIO_IN_READ_HDR_LEN 4
8886 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8887 #define MC_CMD_MUM_IN_GPIO_OUT_WRITE_HDR_OFST 4
8888 #define MC_CMD_MUM_IN_GPIO_OUT_WRITE_HDR_LEN 4
8891 #define MC_CMD_MUM_IN_GPIO_OUT_WRITE_GPIOMASK1_LEN 4
8894 #define MC_CMD_MUM_IN_GPIO_OUT_WRITE_GPIOMASK2_LEN 4
8899 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8900 #define MC_CMD_MUM_IN_GPIO_OUT_READ_HDR_OFST 4
8901 #define MC_CMD_MUM_IN_GPIO_OUT_READ_HDR_LEN 4
8906 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8907 #define MC_CMD_MUM_IN_GPIO_OUT_ENABLE_WRITE_HDR_OFST 4
8908 #define MC_CMD_MUM_IN_GPIO_OUT_ENABLE_WRITE_HDR_LEN 4
8911 #define MC_CMD_MUM_IN_GPIO_OUT_ENABLE_WRITE_GPIOMASK1_LEN 4
8914 #define MC_CMD_MUM_IN_GPIO_OUT_ENABLE_WRITE_GPIOMASK2_LEN 4
8919 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8920 #define MC_CMD_MUM_IN_GPIO_OUT_ENABLE_READ_HDR_OFST 4
8921 #define MC_CMD_MUM_IN_GPIO_OUT_ENABLE_READ_HDR_LEN 4
8926 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8927 #define MC_CMD_MUM_IN_GPIO_OP_HDR_OFST 4
8928 #define MC_CMD_MUM_IN_GPIO_OP_HDR_LEN 4
8929 #define MC_CMD_MUM_IN_GPIO_OP_BITWISE_OP_OFST 4
8936 #define MC_CMD_MUM_IN_GPIO_OP_GPIO_NUMBER_OFST 4
8943 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8944 #define MC_CMD_MUM_IN_GPIO_OP_OUT_READ_HDR_OFST 4
8945 #define MC_CMD_MUM_IN_GPIO_OP_OUT_READ_HDR_LEN 4
8950 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8951 #define MC_CMD_MUM_IN_GPIO_OP_OUT_WRITE_HDR_OFST 4
8952 #define MC_CMD_MUM_IN_GPIO_OP_OUT_WRITE_HDR_LEN 4
8953 #define MC_CMD_MUM_IN_GPIO_OP_OUT_WRITE_WRITEBIT_OFST 4
8960 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8961 #define MC_CMD_MUM_IN_GPIO_OP_OUT_CONFIG_HDR_OFST 4
8962 #define MC_CMD_MUM_IN_GPIO_OP_OUT_CONFIG_HDR_LEN 4
8963 #define MC_CMD_MUM_IN_GPIO_OP_OUT_CONFIG_CFG_OFST 4
8970 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8971 #define MC_CMD_MUM_IN_GPIO_OP_OUT_ENABLE_HDR_OFST 4
8972 #define MC_CMD_MUM_IN_GPIO_OP_OUT_ENABLE_HDR_LEN 4
8973 #define MC_CMD_MUM_IN_GPIO_OP_OUT_ENABLE_ENABLEBIT_OFST 4
8981 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8982 #define MC_CMD_MUM_IN_READ_SENSORS_PARAMS_OFST 4
8983 #define MC_CMD_MUM_IN_READ_SENSORS_PARAMS_LEN 4
8984 #define MC_CMD_MUM_IN_READ_SENSORS_SENSOR_ID_OFST 4
8987 #define MC_CMD_MUM_IN_READ_SENSORS_NUM_SENSORS_OFST 4
8995 /* MC_CMD_MUM_IN_CMD_LEN 4 */
8997 #define MC_CMD_MUM_IN_PROGRAM_CLOCKS_MASK_OFST 4
8998 #define MC_CMD_MUM_IN_PROGRAM_CLOCKS_MASK_LEN 4
9004 #define MC_CMD_MUM_IN_PROGRAM_CLOCKS_FLAGS_LEN 4
9019 /* MC_CMD_MUM_IN_CMD_LEN 4 */
9021 #define MC_CMD_MUM_IN_FPGA_LOAD_ENABLE_OFST 4
9022 #define MC_CMD_MUM_IN_FPGA_LOAD_ENABLE_LEN 4
9025 #define MC_CMD_MUM_IN_READ_ATB_SENSOR_LEN 4
9028 /* MC_CMD_MUM_IN_CMD_LEN 4 */
9034 /* MC_CMD_MUM_IN_CMD_LEN 4 */
9035 #define MC_CMD_MUM_IN_QSFP_HDR_OFST 4
9036 #define MC_CMD_MUM_IN_QSFP_HDR_LEN 4
9037 #define MC_CMD_MUM_IN_QSFP_OPCODE_OFST 4
9039 #define MC_CMD_MUM_IN_QSFP_OPCODE_WIDTH 4
9047 #define MC_CMD_MUM_IN_QSFP_IDX_LEN 4
9052 /* MC_CMD_MUM_IN_CMD_LEN 4 */
9053 #define MC_CMD_MUM_IN_QSFP_INIT_HDR_OFST 4
9054 #define MC_CMD_MUM_IN_QSFP_INIT_HDR_LEN 4
9056 #define MC_CMD_MUM_IN_QSFP_INIT_IDX_LEN 4
9058 #define MC_CMD_MUM_IN_QSFP_INIT_CAGE_LEN 4
9063 /* MC_CMD_MUM_IN_CMD_LEN 4 */
9064 #define MC_CMD_MUM_IN_QSFP_RECONFIGURE_HDR_OFST 4
9065 #define MC_CMD_MUM_IN_QSFP_RECONFIGURE_HDR_LEN 4
9067 #define MC_CMD_MUM_IN_QSFP_RECONFIGURE_IDX_LEN 4
9069 #define MC_CMD_MUM_IN_QSFP_RECONFIGURE_TX_DISABLE_LEN 4
9071 #define MC_CMD_MUM_IN_QSFP_RECONFIGURE_PORT_LANES_LEN 4
9073 #define MC_CMD_MUM_IN_QSFP_RECONFIGURE_PORT_LINK_SPEED_LEN 4
9078 /* MC_CMD_MUM_IN_CMD_LEN 4 */
9079 #define MC_CMD_MUM_IN_QSFP_GET_SUPPORTED_CAP_HDR_OFST 4
9080 #define MC_CMD_MUM_IN_QSFP_GET_SUPPORTED_CAP_HDR_LEN 4
9082 #define MC_CMD_MUM_IN_QSFP_GET_SUPPORTED_CAP_IDX_LEN 4
9087 /* MC_CMD_MUM_IN_CMD_LEN 4 */
9088 #define MC_CMD_MUM_IN_QSFP_GET_MEDIA_INFO_HDR_OFST 4
9089 #define MC_CMD_MUM_IN_QSFP_GET_MEDIA_INFO_HDR_LEN 4
9091 #define MC_CMD_MUM_IN_QSFP_GET_MEDIA_INFO_IDX_LEN 4
9093 #define MC_CMD_MUM_IN_QSFP_GET_MEDIA_INFO_PAGE_LEN 4
9098 /* MC_CMD_MUM_IN_CMD_LEN 4 */
9099 #define MC_CMD_MUM_IN_QSFP_FILL_STATS_HDR_OFST 4
9100 #define MC_CMD_MUM_IN_QSFP_FILL_STATS_HDR_LEN 4
9102 #define MC_CMD_MUM_IN_QSFP_FILL_STATS_IDX_LEN 4
9107 /* MC_CMD_MUM_IN_CMD_LEN 4 */
9108 #define MC_CMD_MUM_IN_QSFP_POLL_BIST_HDR_OFST 4
9109 #define MC_CMD_MUM_IN_QSFP_POLL_BIST_HDR_LEN 4
9111 #define MC_CMD_MUM_IN_QSFP_POLL_BIST_IDX_LEN 4
9114 #define MC_CMD_MUM_IN_READ_DDR_INFO_LEN 4
9117 /* MC_CMD_MUM_IN_CMD_LEN 4 */
9128 #define MC_CMD_MUM_OUT_GET_VERSION_FIRMWARE_LEN 4
9129 #define MC_CMD_MUM_OUT_GET_VERSION_VERSION_OFST 4
9131 #define MC_CMD_MUM_OUT_GET_VERSION_VERSION_LO_OFST 4
9132 #define MC_CMD_MUM_OUT_GET_VERSION_VERSION_LO_LEN 4
9136 #define MC_CMD_MUM_OUT_GET_VERSION_VERSION_HI_LEN 4
9154 #define MC_CMD_MUM_OUT_READ_LENMIN 4
9157 #define MC_CMD_MUM_OUT_READ_LEN(num) (0+4*(num))
9158 #define MC_CMD_MUM_OUT_READ_BUFFER_NUM(len) (((len)-0)/4)
9160 #define MC_CMD_MUM_OUT_READ_BUFFER_LEN 4
9178 #define MC_CMD_MUM_OUT_GPIO_IN_READ_GPIOMASK1_LEN 4
9180 #define MC_CMD_MUM_OUT_GPIO_IN_READ_GPIOMASK2_OFST 4
9181 #define MC_CMD_MUM_OUT_GPIO_IN_READ_GPIOMASK2_LEN 4
9190 #define MC_CMD_MUM_OUT_GPIO_OUT_READ_GPIOMASK1_LEN 4
9192 #define MC_CMD_MUM_OUT_GPIO_OUT_READ_GPIOMASK2_OFST 4
9193 #define MC_CMD_MUM_OUT_GPIO_OUT_READ_GPIOMASK2_LEN 4
9201 #define MC_CMD_MUM_OUT_GPIO_OUT_ENABLE_READ_GPIOMASK1_LEN 4
9202 #define MC_CMD_MUM_OUT_GPIO_OUT_ENABLE_READ_GPIOMASK2_OFST 4
9203 #define MC_CMD_MUM_OUT_GPIO_OUT_ENABLE_READ_GPIOMASK2_LEN 4
9206 #define MC_CMD_MUM_OUT_GPIO_OP_OUT_READ_LEN 4
9208 #define MC_CMD_MUM_OUT_GPIO_OP_OUT_READ_BIT_READ_LEN 4
9220 #define MC_CMD_MUM_OUT_READ_SENSORS_LENMIN 4
9223 #define MC_CMD_MUM_OUT_READ_SENSORS_LEN(num) (0+4*(num))
9224 #define MC_CMD_MUM_OUT_READ_SENSORS_DATA_NUM(len) (((len)-0)/4)
9226 #define MC_CMD_MUM_OUT_READ_SENSORS_DATA_LEN 4
9241 #define MC_CMD_MUM_OUT_PROGRAM_CLOCKS_LEN 4
9243 #define MC_CMD_MUM_OUT_PROGRAM_CLOCKS_OK_MASK_LEN 4
9249 #define MC_CMD_MUM_OUT_READ_ATB_SENSOR_LEN 4
9251 #define MC_CMD_MUM_OUT_READ_ATB_SENSOR_RESULT_LEN 4
9259 #define MC_CMD_MUM_OUT_QSFP_RECONFIGURE_PORT_PHY_LP_CAP_LEN 4
9260 #define MC_CMD_MUM_OUT_QSFP_RECONFIGURE_PORT_PHY_FLAGS_OFST 4
9261 #define MC_CMD_MUM_OUT_QSFP_RECONFIGURE_PORT_PHY_FLAGS_LEN 4
9262 #define MC_CMD_MUM_OUT_QSFP_RECONFIGURE_PORT_PHY_READY_OFST 4
9265 #define MC_CMD_MUM_OUT_QSFP_RECONFIGURE_PORT_PHY_LINK_UP_OFST 4
9270 #define MC_CMD_MUM_OUT_QSFP_GET_SUPPORTED_CAP_LEN 4
9272 #define MC_CMD_MUM_OUT_QSFP_GET_SUPPORTED_CAP_PORT_PHY_LP_CAP_LEN 4
9278 #define MC_CMD_MUM_OUT_QSFP_GET_MEDIA_INFO_LEN(num) (4+1*(num))
9279 #define MC_CMD_MUM_OUT_QSFP_GET_MEDIA_INFO_DATA_NUM(len) (((len)-4)/1)
9282 #define MC_CMD_MUM_OUT_QSFP_GET_MEDIA_INFO_DATALEN_LEN 4
9283 #define MC_CMD_MUM_OUT_QSFP_GET_MEDIA_INFO_DATA_OFST 4
9292 #define MC_CMD_MUM_OUT_QSFP_FILL_STATS_PORT_PHY_STATS_PMA_PMD_LINK_UP_LEN 4
9293 #define MC_CMD_MUM_OUT_QSFP_FILL_STATS_PORT_PHY_STATS_PCS_LINK_UP_OFST 4
9294 #define MC_CMD_MUM_OUT_QSFP_FILL_STATS_PORT_PHY_STATS_PCS_LINK_UP_LEN 4
9297 #define MC_CMD_MUM_OUT_QSFP_POLL_BIST_LEN 4
9299 #define MC_CMD_MUM_OUT_QSFP_POLL_BIST_TEST_LEN 4
9309 #define MC_CMD_MUM_OUT_READ_DDR_INFO_DISCRETE_DDR_INFO_LEN 4
9317 #define MC_CMD_MUM_OUT_READ_DDR_INFO_NUM_RECORDS_OFST 4
9318 #define MC_CMD_MUM_OUT_READ_DDR_INFO_NUM_RECORDS_LEN 4
9323 #define MC_CMD_MUM_OUT_READ_DDR_INFO_SODIMM_INFO_RECORD_LO_LEN 4
9327 #define MC_CMD_MUM_OUT_READ_DDR_INFO_SODIMM_INFO_RECORD_HI_LEN 4
9347 #define MC_CMD_MUM_OUT_READ_DDR_INFO_RANK_WIDTH 4
9350 #define MC_CMD_MUM_OUT_READ_DDR_INFO_VOLTAGE_WIDTH 4
9365 #define MC_CMD_MUM_OUT_READ_DDR_INFO_STATE_WIDTH 4
9389 /* A value below this will trigger a warning event. */
9391 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_LO_WARNING_LEN 4
9394 /* A value below this will trigger a critical event. */
9395 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_LO_CRITICAL_OFST 4
9396 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_LO_CRITICAL_LEN 4
9399 /* A value below this will shut down the card. */
9401 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_LO_FATAL_LEN 4
9404 /* A value above this will trigger a warning event. */
9406 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_HI_WARNING_LEN 4
9409 /* A value above this will trigger a critical event. */
9411 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_HI_CRITICAL_LEN 4
9414 /* A value above this will shut down the card. */
9416 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_HI_FATAL_LEN 4
9420 /* MC_CMD_DYNAMIC_SENSORS_DESCRIPTION structuredef: Description of a sensor.
9429 #define MC_CMD_DYNAMIC_SENSORS_DESCRIPTION_HANDLE_LEN 4
9432 /* A human-readable name for the sensor (zero terminated string, max 32 bytes)
9434 #define MC_CMD_DYNAMIC_SENSORS_DESCRIPTION_NAME_OFST 4
9442 #define MC_CMD_DYNAMIC_SENSORS_DESCRIPTION_TYPE_LEN 4
9443 /* enum: A voltage sensor. Unit is mV */
9445 /* enum: A current sensor. Unit is mA */
9447 /* enum: A power sensor. Unit is mW */
9449 /* enum: A temperature sensor. Unit is Celsius */
9451 /* enum: A cooling fan sensor. Unit is RPM */
9455 /* A single MC_CMD_DYNAMIC_SENSORS_LIMITS structure */
9461 /* MC_CMD_DYNAMIC_SENSORS_READING structuredef: State and value of a sensor.
9468 #define MC_CMD_DYNAMIC_SENSORS_READING_HANDLE_LEN 4
9472 #define MC_CMD_DYNAMIC_SENSORS_READING_VALUE_OFST 4
9473 #define MC_CMD_DYNAMIC_SENSORS_READING_VALUE_LEN 4
9478 #define MC_CMD_DYNAMIC_SENSORS_READING_STATE_LEN 4
9499 * Return a complete list of handles for sensors currently managed by the MC,
9500 * and a generation count for this version of the sensor table. On systems
9511 * table is modified, a CODE_DYNAMIC_SENSORS_CHANGE event will be generated
9516 * The sensor count is provided to allow a future path to supporting more than
9518 * the maximum number that will fit in a single response. As this is a fairly
9522 * On Riverhead this command is implemented as a wrapper for `list` in the
9537 #define MC_CMD_DYNAMIC_SENSORS_LIST_OUT_LEN(num) (8+4*(num))
9538 #define MC_CMD_DYNAMIC_SENSORS_LIST_OUT_HANDLES_NUM(len) (((len)-8)/4)
9539 /* Generation count, which will be updated each time a sensor is added to or
9543 #define MC_CMD_DYNAMIC_SENSORS_LIST_OUT_GENERATION_LEN 4
9547 #define MC_CMD_DYNAMIC_SENSORS_LIST_OUT_COUNT_OFST 4
9548 #define MC_CMD_DYNAMIC_SENSORS_LIST_OUT_COUNT_LEN 4
9551 #define MC_CMD_DYNAMIC_SENSORS_LIST_OUT_HANDLES_LEN 4
9559 * Get descriptions for a set of sensors, specified as an array of sensor
9562 * Any handles which do not correspond to a sensor currently managed by the MC
9563 * will be dropped from from the response. This may happen when a sensor table
9567 * On Riverhead this command is implemented as a wrapper for
9579 #define MC_CMD_DYNAMIC_SENSORS_GET_DESCRIPTIONS_IN_LEN(num) (0+4*(num))
9580 #define MC_CMD_DYNAMIC_SENSORS_GET_DESCRIPTIONS_IN_HANDLES_NUM(len) (((len)-0)/4)
9583 #define MC_CMD_DYNAMIC_SENSORS_GET_DESCRIPTIONS_IN_HANDLES_LEN 4
9604 * Read the state and value for a set of sensors, specified as an array of
9607 * In the case of a broken sensor, then the state of the response's
9611 * Any handles which do not correspond to a sensor currently managed by the MC
9612 * will be dropped from from the response. This may happen when a sensor table
9616 * On Riverhead this command is implemented as a wrapper for `get_readings`
9628 #define MC_CMD_DYNAMIC_SENSORS_GET_READINGS_IN_LEN(num) (0+4*(num))
9629 #define MC_CMD_DYNAMIC_SENSORS_GET_READINGS_IN_HANDLES_NUM(len) (((len)-0)/4)
9632 #define MC_CMD_DYNAMIC_SENSORS_GET_READINGS_IN_HANDLES_LEN 4
9665 #define MC_CMD_EVENT_CTRL_IN_LEN(num) (0+4*(num))
9666 #define MC_CMD_EVENT_CTRL_IN_EVENT_TYPE_NUM(len) (((len)-0)/4)
9669 #define MC_CMD_EVENT_CTRL_IN_EVENT_TYPE_LEN 4
9691 #define EVB_PORT_ID_LEN 4
9693 #define EVB_PORT_ID_PORT_ID_LEN 4
9715 #define EVB_VLAN_TAG_MODE_WIDTH 4
9734 #define BUFTBL_ENTRY_RAWADDR_OFST 4
9736 #define BUFTBL_ENTRY_RAWADDR_LO_OFST 4
9737 #define BUFTBL_ENTRY_RAWADDR_LO_LEN 4
9741 #define BUFTBL_ENTRY_RAWADDR_HI_LEN 4
9818 /* enum: FPGA jump instruction (a.k.a. boot) partition to select Stage1
9868 /* enum: Spare partition 4 */
9889 * platforms. See SF-119124-PS. The STATIC_CONFIG partition may contain a
9896 * a bundle update in TLV format
9918 * details of sensors leading up to a critical failure (where the board is shut
9946 #define LICENSED_APP_ID_LEN 4
9948 #define LICENSED_APP_ID_ID_LEN 4
9990 #define LICENSED_FEATURES_MASK_LO_LEN 4
9993 #define LICENSED_FEATURES_MASK_HI_OFST 4
9994 #define LICENSED_FEATURES_MASK_HI_LEN 4
10010 #define LICENSED_FEATURES_RX_TIMESTAMPS_LBN 4
10036 #define LICENSED_V3_APPS_MASK_LO_LEN 4
10039 #define LICENSED_V3_APPS_MASK_HI_OFST 4
10040 #define LICENSED_V3_APPS_MASK_HI_LEN 4
10056 #define LICENSED_V3_APPS_PERF_MONITOR_LBN 4
10100 #define LICENSED_V3_FEATURES_MASK_LO_LEN 4
10103 #define LICENSED_V3_FEATURES_MASK_HI_OFST 4
10104 #define LICENSED_V3_FEATURES_MASK_HI_LEN 4
10120 #define LICENSED_V3_FEATURES_RX_TIMESTAMPS_LBN 4
10151 /* enum: This is a TX completion event, not a timestamp */
10153 /* enum: This is a TX completion event for a CTPIO transmit. The event format
10157 /* enum: This is the low part of a TX timestamp for a CTPIO transmission. The
10161 /* enum: This is the high part of a TX timestamp for a CTPIO transmission. The
10165 /* enum: This is the low part of a TX timestamp event */
10167 /* enum: This is the high part of a TX timestamp event */
10172 #define TX_TIMESTAMP_EVENT_TSTAMP_DATA_HI_OFST 4
10179 /* The RSS mode for a particular packet type is a value from 0 - 15 which can
10180 * be considered as 4 bits selecting which fields are included in the hash. (A
10182 * generation tools require this structure to be a whole number of bytes wide,
10183 * but only 4 bits are relevant.
10203 #define CTPIO_STATS_MAP_LEN 4
10218 * Get a dump of the MCPU registers
10230 /* Whether the corresponding register entry contains a valid value */
10237 #define MC_CMD_READ_REGS_OUT_REGS_LEN 4
10244 * end with an address for each 4k of host memory required to back the EVQ.
10259 #define MC_CMD_INIT_EVQ_IN_SIZE_LEN 4
10260 /* Desired instance. Must be set to a specific instance, which is a function
10264 #define MC_CMD_INIT_EVQ_IN_INSTANCE_OFST 4
10265 #define MC_CMD_INIT_EVQ_IN_INSTANCE_LEN 4
10269 #define MC_CMD_INIT_EVQ_IN_TMR_LOAD_LEN 4
10272 #define MC_CMD_INIT_EVQ_IN_TMR_RELOAD_LEN 4
10275 #define MC_CMD_INIT_EVQ_IN_FLAGS_LEN 4
10289 #define MC_CMD_INIT_EVQ_IN_FLAG_RX_MERGE_LBN 4
10298 #define MC_CMD_INIT_EVQ_IN_TMR_MODE_LEN 4
10309 #define MC_CMD_INIT_EVQ_IN_TARGET_EVQ_LEN 4
10311 * MC_CMD_RESOURCE_INSTANCE_ANY unless a specific one required for test
10315 #define MC_CMD_INIT_EVQ_IN_IRQ_NUM_LEN 4
10318 #define MC_CMD_INIT_EVQ_IN_COUNT_MODE_LEN 4
10329 #define MC_CMD_INIT_EVQ_IN_COUNT_THRSHLD_LEN 4
10330 /* 64-bit address of 4k of 4k-aligned host memory buffer */
10334 #define MC_CMD_INIT_EVQ_IN_DMA_ADDR_LO_LEN 4
10338 #define MC_CMD_INIT_EVQ_IN_DMA_ADDR_HI_LEN 4
10346 #define MC_CMD_INIT_EVQ_OUT_LEN 4
10349 #define MC_CMD_INIT_EVQ_OUT_IRQ_LEN 4
10359 #define MC_CMD_INIT_EVQ_V2_IN_SIZE_LEN 4
10360 /* Desired instance. Must be set to a specific instance, which is a function
10364 #define MC_CMD_INIT_EVQ_V2_IN_INSTANCE_OFST 4
10365 #define MC_CMD_INIT_EVQ_V2_IN_INSTANCE_LEN 4
10369 #define MC_CMD_INIT_EVQ_V2_IN_TMR_LOAD_LEN 4
10372 #define MC_CMD_INIT_EVQ_V2_IN_TMR_RELOAD_LEN 4
10375 #define MC_CMD_INIT_EVQ_V2_IN_FLAGS_LEN 4
10389 #define MC_CMD_INIT_EVQ_V2_IN_FLAG_RX_MERGE_LBN 4
10399 #define MC_CMD_INIT_EVQ_V2_IN_FLAG_TYPE_WIDTH 4
10423 #define MC_CMD_INIT_EVQ_V2_IN_TMR_MODE_LEN 4
10434 #define MC_CMD_INIT_EVQ_V2_IN_TARGET_EVQ_LEN 4
10436 * MC_CMD_RESOURCE_INSTANCE_ANY unless a specific one required for test
10440 #define MC_CMD_INIT_EVQ_V2_IN_IRQ_NUM_LEN 4
10443 #define MC_CMD_INIT_EVQ_V2_IN_COUNT_MODE_LEN 4
10454 #define MC_CMD_INIT_EVQ_V2_IN_COUNT_THRSHLD_LEN 4
10455 /* 64-bit address of 4k of 4k-aligned host memory buffer */
10459 #define MC_CMD_INIT_EVQ_V2_IN_DMA_ADDR_LO_LEN 4
10463 #define MC_CMD_INIT_EVQ_V2_IN_DMA_ADDR_HI_LEN 4
10474 #define MC_CMD_INIT_EVQ_V2_OUT_IRQ_LEN 4
10476 #define MC_CMD_INIT_EVQ_V2_OUT_FLAGS_OFST 4
10477 #define MC_CMD_INIT_EVQ_V2_OUT_FLAGS_LEN 4
10478 #define MC_CMD_INIT_EVQ_V2_OUT_FLAG_CUT_THRU_OFST 4
10481 #define MC_CMD_INIT_EVQ_V2_OUT_FLAG_RX_MERGE_OFST 4
10484 #define MC_CMD_INIT_EVQ_V2_OUT_FLAG_TX_MERGE_OFST 4
10487 #define MC_CMD_INIT_EVQ_V2_OUT_FLAG_RXQ_FORCE_EV_MERGING_OFST 4
10497 #define MC_CMD_INIT_EVQ_V3_IN_SIZE_LEN 4
10498 /* Desired instance. Must be set to a specific instance, which is a function
10502 #define MC_CMD_INIT_EVQ_V3_IN_INSTANCE_OFST 4
10503 #define MC_CMD_INIT_EVQ_V3_IN_INSTANCE_LEN 4
10507 #define MC_CMD_INIT_EVQ_V3_IN_TMR_LOAD_LEN 4
10510 #define MC_CMD_INIT_EVQ_V3_IN_TMR_RELOAD_LEN 4
10513 #define MC_CMD_INIT_EVQ_V3_IN_FLAGS_LEN 4
10527 #define MC_CMD_INIT_EVQ_V3_IN_FLAG_RX_MERGE_LBN 4
10537 #define MC_CMD_INIT_EVQ_V3_IN_FLAG_TYPE_WIDTH 4
10561 #define MC_CMD_INIT_EVQ_V3_IN_TMR_MODE_LEN 4
10572 #define MC_CMD_INIT_EVQ_V3_IN_TARGET_EVQ_LEN 4
10574 * MC_CMD_RESOURCE_INSTANCE_ANY unless a specific one required for test
10578 #define MC_CMD_INIT_EVQ_V3_IN_IRQ_NUM_LEN 4
10581 #define MC_CMD_INIT_EVQ_V3_IN_COUNT_MODE_LEN 4
10592 #define MC_CMD_INIT_EVQ_V3_IN_COUNT_THRSHLD_LEN 4
10593 /* 64-bit address of 4k of 4k-aligned host memory buffer */
10597 #define MC_CMD_INIT_EVQ_V3_IN_DMA_ADDR_LO_LEN 4
10601 #define MC_CMD_INIT_EVQ_V3_IN_DMA_ADDR_HI_LEN 4
10613 #define MC_CMD_INIT_EVQ_V3_IN_RX_MERGE_TIMEOUT_NS_LEN 4
10620 #define MC_CMD_INIT_EVQ_V3_IN_TX_MERGE_TIMEOUT_NS_LEN 4
10626 #define MC_CMD_INIT_EVQ_V3_OUT_IRQ_LEN 4
10628 #define MC_CMD_INIT_EVQ_V3_OUT_FLAGS_OFST 4
10629 #define MC_CMD_INIT_EVQ_V3_OUT_FLAGS_LEN 4
10630 #define MC_CMD_INIT_EVQ_V3_OUT_FLAG_CUT_THRU_OFST 4
10633 #define MC_CMD_INIT_EVQ_V3_OUT_FLAG_RX_MERGE_OFST 4
10636 #define MC_CMD_INIT_EVQ_V3_OUT_FLAG_TX_MERGE_OFST 4
10639 #define MC_CMD_INIT_EVQ_V3_OUT_FLAG_RXQ_FORCE_EV_MERGING_OFST 4
10646 #define QUEUE_CRC_MODE_MODE_WIDTH 4
10659 #define QUEUE_CRC_MODE_SPARE_LBN 4
10660 #define QUEUE_CRC_MODE_SPARE_WIDTH 4
10665 * set up a receive queue according to the supplied parameters. The IN
10666 * arguments end with an address for each 4k of host memory required to back
10684 #define MC_CMD_INIT_RXQ_IN_SIZE_LEN 4
10687 #define MC_CMD_INIT_RXQ_IN_TARGET_EVQ_OFST 4
10688 #define MC_CMD_INIT_RXQ_IN_TARGET_EVQ_LEN 4
10691 #define MC_CMD_INIT_RXQ_IN_LABEL_LEN 4
10692 /* Desired instance. Must be set to a specific instance, which is a function
10697 #define MC_CMD_INIT_RXQ_IN_INSTANCE_LEN 4
10700 #define MC_CMD_INIT_RXQ_IN_FLAGS_LEN 4
10712 #define MC_CMD_INIT_RXQ_IN_CRC_MODE_WIDTH 4
10727 #define MC_CMD_INIT_RXQ_IN_OWNER_ID_LEN 4
10730 #define MC_CMD_INIT_RXQ_IN_PORT_ID_LEN 4
10731 /* 64-bit address of 4k of 4k-aligned host memory buffer */
10735 #define MC_CMD_INIT_RXQ_IN_DMA_ADDR_LO_LEN 4
10739 #define MC_CMD_INIT_RXQ_IN_DMA_ADDR_HI_LEN 4
10752 #define MC_CMD_INIT_RXQ_EXT_IN_SIZE_LEN 4
10756 #define MC_CMD_INIT_RXQ_EXT_IN_TARGET_EVQ_OFST 4
10757 #define MC_CMD_INIT_RXQ_EXT_IN_TARGET_EVQ_LEN 4
10763 #define MC_CMD_INIT_RXQ_EXT_IN_LABEL_LEN 4
10764 /* Desired instance. Must be set to a specific instance, which is a function
10769 #define MC_CMD_INIT_RXQ_EXT_IN_INSTANCE_LEN 4
10772 #define MC_CMD_INIT_RXQ_EXT_IN_FLAGS_LEN 4
10784 #define MC_CMD_INIT_RXQ_EXT_IN_CRC_MODE_WIDTH 4
10796 #define MC_CMD_INIT_RXQ_EXT_IN_DMA_MODE_WIDTH 4
10803 * multiple fixed-size packet buffers within each bucket. For a full
10832 #define MC_CMD_INIT_RXQ_EXT_IN_OWNER_ID_LEN 4
10835 #define MC_CMD_INIT_RXQ_EXT_IN_PORT_ID_LEN 4
10836 /* 64-bit address of 4k of 4k-aligned host memory buffer */
10840 #define MC_CMD_INIT_RXQ_EXT_IN_DMA_ADDR_LO_LEN 4
10844 #define MC_CMD_INIT_RXQ_EXT_IN_DMA_ADDR_HI_LEN 4
10852 #define MC_CMD_INIT_RXQ_EXT_IN_SNAPSHOT_LENGTH_LEN 4
10858 #define MC_CMD_INIT_RXQ_V3_IN_SIZE_LEN 4
10862 #define MC_CMD_INIT_RXQ_V3_IN_TARGET_EVQ_OFST 4
10863 #define MC_CMD_INIT_RXQ_V3_IN_TARGET_EVQ_LEN 4
10869 #define MC_CMD_INIT_RXQ_V3_IN_LABEL_LEN 4
10870 /* Desired instance. Must be set to a specific instance, which is a function
10875 #define MC_CMD_INIT_RXQ_V3_IN_INSTANCE_LEN 4
10878 #define MC_CMD_INIT_RXQ_V3_IN_FLAGS_LEN 4
10890 #define MC_CMD_INIT_RXQ_V3_IN_CRC_MODE_WIDTH 4
10902 #define MC_CMD_INIT_RXQ_V3_IN_DMA_MODE_WIDTH 4
10909 * multiple fixed-size packet buffers within each bucket. For a full
10938 #define MC_CMD_INIT_RXQ_V3_IN_OWNER_ID_LEN 4
10941 #define MC_CMD_INIT_RXQ_V3_IN_PORT_ID_LEN 4
10942 /* 64-bit address of 4k of 4k-aligned host memory buffer */
10946 #define MC_CMD_INIT_RXQ_V3_IN_DMA_ADDR_LO_LEN 4
10950 #define MC_CMD_INIT_RXQ_V3_IN_DMA_ADDR_HI_LEN 4
10958 #define MC_CMD_INIT_RXQ_V3_IN_SNAPSHOT_LENGTH_LEN 4
10964 #define MC_CMD_INIT_RXQ_V3_IN_ES_PACKET_BUFFERS_PER_BUCKET_LEN 4
10971 #define MC_CMD_INIT_RXQ_V3_IN_ES_MAX_DMA_LEN_LEN 4
10972 /* The length in bytes of a single packet buffer within a
10977 #define MC_CMD_INIT_RXQ_V3_IN_ES_PACKET_STRIDE_LEN 4
10980 * are still no descriptors then the packet will be dropped. A timeout of 0
10985 #define MC_CMD_INIT_RXQ_V3_IN_ES_HEAD_OF_LINE_BLOCK_TIMEOUT_LEN 4
10988 * for systems with a QDMA (currently, Riverhead)
10993 #define MC_CMD_INIT_RXQ_V4_IN_SIZE_LEN 4
10997 #define MC_CMD_INIT_RXQ_V4_IN_TARGET_EVQ_OFST 4
10998 #define MC_CMD_INIT_RXQ_V4_IN_TARGET_EVQ_LEN 4
11004 #define MC_CMD_INIT_RXQ_V4_IN_LABEL_LEN 4
11005 /* Desired instance. Must be set to a specific instance, which is a function
11010 #define MC_CMD_INIT_RXQ_V4_IN_INSTANCE_LEN 4
11013 #define MC_CMD_INIT_RXQ_V4_IN_FLAGS_LEN 4
11025 #define MC_CMD_INIT_RXQ_V4_IN_CRC_MODE_WIDTH 4
11037 #define MC_CMD_INIT_RXQ_V4_IN_DMA_MODE_WIDTH 4
11044 * multiple fixed-size packet buffers within each bucket. For a full
11073 #define MC_CMD_INIT_RXQ_V4_IN_OWNER_ID_LEN 4
11076 #define MC_CMD_INIT_RXQ_V4_IN_PORT_ID_LEN 4
11077 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11081 #define MC_CMD_INIT_RXQ_V4_IN_DMA_ADDR_LO_LEN 4
11085 #define MC_CMD_INIT_RXQ_V4_IN_DMA_ADDR_HI_LEN 4
11093 #define MC_CMD_INIT_RXQ_V4_IN_SNAPSHOT_LENGTH_LEN 4
11099 #define MC_CMD_INIT_RXQ_V4_IN_ES_PACKET_BUFFERS_PER_BUCKET_LEN 4
11106 #define MC_CMD_INIT_RXQ_V4_IN_ES_MAX_DMA_LEN_LEN 4
11107 /* The length in bytes of a single packet buffer within a
11112 #define MC_CMD_INIT_RXQ_V4_IN_ES_PACKET_STRIDE_LEN 4
11115 * are still no descriptors then the packet will be dropped. A timeout of 0
11120 #define MC_CMD_INIT_RXQ_V4_IN_ES_HEAD_OF_LINE_BLOCK_TIMEOUT_LEN 4
11123 #define MC_CMD_INIT_RXQ_V4_IN_V4_DATA_LEN 4
11126 * Riverhead there is a global limit of eight different buffer sizes across all
11127 * active queues. A 2KB and 4KB buffer is guaranteed to be available, but a
11128 * request for a different buffer size will fail if there are already eight
11133 #define MC_CMD_INIT_RXQ_V4_IN_BUFFER_SIZE_BYTES_LEN 4
11135 /* MC_CMD_INIT_RXQ_V5_IN msgrequest: INIT_RXQ request with ability to request a
11141 #define MC_CMD_INIT_RXQ_V5_IN_SIZE_LEN 4
11145 #define MC_CMD_INIT_RXQ_V5_IN_TARGET_EVQ_OFST 4
11146 #define MC_CMD_INIT_RXQ_V5_IN_TARGET_EVQ_LEN 4
11152 #define MC_CMD_INIT_RXQ_V5_IN_LABEL_LEN 4
11153 /* Desired instance. Must be set to a specific instance, which is a function
11158 #define MC_CMD_INIT_RXQ_V5_IN_INSTANCE_LEN 4
11161 #define MC_CMD_INIT_RXQ_V5_IN_FLAGS_LEN 4
11173 #define MC_CMD_INIT_RXQ_V5_IN_CRC_MODE_WIDTH 4
11185 #define MC_CMD_INIT_RXQ_V5_IN_DMA_MODE_WIDTH 4
11192 * multiple fixed-size packet buffers within each bucket. For a full
11221 #define MC_CMD_INIT_RXQ_V5_IN_OWNER_ID_LEN 4
11224 #define MC_CMD_INIT_RXQ_V5_IN_PORT_ID_LEN 4
11225 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11229 #define MC_CMD_INIT_RXQ_V5_IN_DMA_ADDR_LO_LEN 4
11233 #define MC_CMD_INIT_RXQ_V5_IN_DMA_ADDR_HI_LEN 4
11241 #define MC_CMD_INIT_RXQ_V5_IN_SNAPSHOT_LENGTH_LEN 4
11247 #define MC_CMD_INIT_RXQ_V5_IN_ES_PACKET_BUFFERS_PER_BUCKET_LEN 4
11254 #define MC_CMD_INIT_RXQ_V5_IN_ES_MAX_DMA_LEN_LEN 4
11255 /* The length in bytes of a single packet buffer within a
11260 #define MC_CMD_INIT_RXQ_V5_IN_ES_PACKET_STRIDE_LEN 4
11263 * are still no descriptors then the packet will be dropped. A timeout of 0
11268 #define MC_CMD_INIT_RXQ_V5_IN_ES_HEAD_OF_LINE_BLOCK_TIMEOUT_LEN 4
11271 #define MC_CMD_INIT_RXQ_V5_IN_V4_DATA_LEN 4
11274 * Riverhead there is a global limit of eight different buffer sizes across all
11275 * active queues. A 2KB and 4KB buffer is guaranteed to be available, but a
11276 * request for a different buffer size will fail if there are already eight
11281 #define MC_CMD_INIT_RXQ_V5_IN_BUFFER_SIZE_BYTES_LEN 4
11283 * Zero is always a valid prefix id and means the default prefix format
11285 * MC_CMD_GET_RX_PREFIX_ID with a requested set of prefix fields.
11288 #define MC_CMD_INIT_RXQ_V5_IN_RX_PREFIX_ID_LEN 4
11324 #define MC_CMD_INIT_TXQ_IN_SIZE_LEN 4
11328 #define MC_CMD_INIT_TXQ_IN_TARGET_EVQ_OFST 4
11329 #define MC_CMD_INIT_TXQ_IN_TARGET_EVQ_LEN 4
11332 #define MC_CMD_INIT_TXQ_IN_LABEL_LEN 4
11333 /* Desired instance. Must be set to a specific instance, which is a function
11338 #define MC_CMD_INIT_TXQ_IN_INSTANCE_LEN 4
11341 #define MC_CMD_INIT_TXQ_IN_FLAGS_LEN 4
11355 #define MC_CMD_INIT_TXQ_IN_CRC_MODE_LBN 4
11356 #define MC_CMD_INIT_TXQ_IN_CRC_MODE_WIDTH 4
11371 #define MC_CMD_INIT_TXQ_IN_OWNER_ID_LEN 4
11374 #define MC_CMD_INIT_TXQ_IN_PORT_ID_LEN 4
11375 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11379 #define MC_CMD_INIT_TXQ_IN_DMA_ADDR_LO_LEN 4
11383 #define MC_CMD_INIT_TXQ_IN_DMA_ADDR_HI_LEN 4
11396 #define MC_CMD_INIT_TXQ_EXT_IN_SIZE_LEN 4
11400 #define MC_CMD_INIT_TXQ_EXT_IN_TARGET_EVQ_OFST 4
11401 #define MC_CMD_INIT_TXQ_EXT_IN_TARGET_EVQ_LEN 4
11404 #define MC_CMD_INIT_TXQ_EXT_IN_LABEL_LEN 4
11405 /* Desired instance. Must be set to a specific instance, which is a function
11410 #define MC_CMD_INIT_TXQ_EXT_IN_INSTANCE_LEN 4
11413 #define MC_CMD_INIT_TXQ_EXT_IN_FLAGS_LEN 4
11427 #define MC_CMD_INIT_TXQ_EXT_IN_CRC_MODE_LBN 4
11428 #define MC_CMD_INIT_TXQ_EXT_IN_CRC_MODE_WIDTH 4
11461 #define MC_CMD_INIT_TXQ_EXT_IN_OWNER_ID_LEN 4
11464 #define MC_CMD_INIT_TXQ_EXT_IN_PORT_ID_LEN 4
11465 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11469 #define MC_CMD_INIT_TXQ_EXT_IN_DMA_ADDR_LO_LEN 4
11473 #define MC_CMD_INIT_TXQ_EXT_IN_DMA_ADDR_HI_LEN 4
11481 #define MC_CMD_INIT_TXQ_EXT_IN_QBB_FLAGS_LEN 4
11506 #define MC_CMD_FINI_EVQ_IN_LEN 4
11511 #define MC_CMD_FINI_EVQ_IN_INSTANCE_LEN 4
11519 * Teardown a RXQ.
11527 #define MC_CMD_FINI_RXQ_IN_LEN 4
11530 #define MC_CMD_FINI_RXQ_IN_INSTANCE_LEN 4
11538 * Teardown a TXQ.
11546 #define MC_CMD_FINI_TXQ_IN_LEN 4
11549 #define MC_CMD_FINI_TXQ_IN_INSTANCE_LEN 4
11568 #define MC_CMD_DRIVER_EVENT_IN_EVQ_LEN 4
11570 #define MC_CMD_DRIVER_EVENT_IN_DATA_OFST 4
11572 #define MC_CMD_DRIVER_EVENT_IN_DATA_LO_OFST 4
11573 #define MC_CMD_DRIVER_EVENT_IN_DATA_LO_LEN 4
11577 #define MC_CMD_DRIVER_EVENT_IN_DATA_HI_LEN 4
11587 * Execute an arbitrary MCDI command on behalf of a different function, subject
11598 #define MC_CMD_PROXY_CMD_IN_LEN 4
11601 #define MC_CMD_PROXY_CMD_IN_TARGET_LEN 4
11619 #define MC_PROXY_STATUS_BUFFER_HANDLE_LEN 4
11625 #define MC_PROXY_STATUS_BUFFER_PF_OFST 4
11629 /* The requesting virtual function number. Set to VF_NULL if the target is a
11646 /* If a request is authorized rather than carried out by the host, this is the
11650 #define MC_PROXY_STATUS_BUFFER_GRANTED_PRIVILEGES_LEN 4
11658 * a designated admin function
11668 #define MC_CMD_PROXY_CONFIGURE_IN_FLAGS_LEN 4
11672 /* Host provides a contiguous memory buffer that contains at least NUM_BLOCKS
11675 #define MC_CMD_PROXY_CONFIGURE_IN_STATUS_BUFF_ADDR_OFST 4
11677 #define MC_CMD_PROXY_CONFIGURE_IN_STATUS_BUFF_ADDR_LO_OFST 4
11678 #define MC_CMD_PROXY_CONFIGURE_IN_STATUS_BUFF_ADDR_LO_LEN 4
11682 #define MC_CMD_PROXY_CONFIGURE_IN_STATUS_BUFF_ADDR_HI_LEN 4
11685 /* Must be a power of 2 */
11687 #define MC_CMD_PROXY_CONFIGURE_IN_STATUS_BLOCK_SIZE_LEN 4
11688 /* Host provides a contiguous memory buffer that contains at least NUM_BLOCKS
11694 #define MC_CMD_PROXY_CONFIGURE_IN_REQUEST_BUFF_ADDR_LO_LEN 4
11698 #define MC_CMD_PROXY_CONFIGURE_IN_REQUEST_BUFF_ADDR_HI_LEN 4
11701 /* Must be a power of 2 */
11703 #define MC_CMD_PROXY_CONFIGURE_IN_REQUEST_BLOCK_SIZE_LEN 4
11704 /* Host provides a contiguous memory buffer that contains at least NUM_BLOCKS
11711 #define MC_CMD_PROXY_CONFIGURE_IN_REPLY_BUFF_ADDR_LO_LEN 4
11715 #define MC_CMD_PROXY_CONFIGURE_IN_REPLY_BUFF_ADDR_HI_LEN 4
11718 /* Must be a power of 2, or zero if this buffer is not provided */
11720 #define MC_CMD_PROXY_CONFIGURE_IN_REPLY_BLOCK_SIZE_LEN 4
11723 #define MC_CMD_PROXY_CONFIGURE_IN_NUM_BLOCKS_LEN 4
11724 /* A bit mask defining which MCDI operations may be proxied */
11731 #define MC_CMD_PROXY_CONFIGURE_EXT_IN_FLAGS_LEN 4
11735 /* Host provides a contiguous memory buffer that contains at least NUM_BLOCKS
11738 #define MC_CMD_PROXY_CONFIGURE_EXT_IN_STATUS_BUFF_ADDR_OFST 4
11740 #define MC_CMD_PROXY_CONFIGURE_EXT_IN_STATUS_BUFF_ADDR_LO_OFST 4
11741 #define MC_CMD_PROXY_CONFIGURE_EXT_IN_STATUS_BUFF_ADDR_LO_LEN 4
11745 #define MC_CMD_PROXY_CONFIGURE_EXT_IN_STATUS_BUFF_ADDR_HI_LEN 4
11748 /* Must be a power of 2 */
11750 #define MC_CMD_PROXY_CONFIGURE_EXT_IN_STATUS_BLOCK_SIZE_LEN 4
11751 /* Host provides a contiguous memory buffer that contains at least NUM_BLOCKS
11757 #define MC_CMD_PROXY_CONFIGURE_EXT_IN_REQUEST_BUFF_ADDR_LO_LEN 4
11761 #define MC_CMD_PROXY_CONFIGURE_EXT_IN_REQUEST_BUFF_ADDR_HI_LEN 4
11764 /* Must be a power of 2 */
11766 #define MC_CMD_PROXY_CONFIGURE_EXT_IN_REQUEST_BLOCK_SIZE_LEN 4
11767 /* Host provides a contiguous memory buffer that contains at least NUM_BLOCKS
11774 #define MC_CMD_PROXY_CONFIGURE_EXT_IN_REPLY_BUFF_ADDR_LO_LEN 4
11778 #define MC_CMD_PROXY_CONFIGURE_EXT_IN_REPLY_BUFF_ADDR_HI_LEN 4
11781 /* Must be a power of 2, or zero if this buffer is not provided */
11783 #define MC_CMD_PROXY_CONFIGURE_EXT_IN_REPLY_BLOCK_SIZE_LEN 4
11786 #define MC_CMD_PROXY_CONFIGURE_EXT_IN_NUM_BLOCKS_LEN 4
11787 /* A bit mask defining which MCDI operations may be proxied */
11791 #define MC_CMD_PROXY_CONFIGURE_EXT_IN_RESERVED_LEN 4
11799 * Tells FW that a requested proxy operation has either been completed (by
11812 #define MC_CMD_PROXY_COMPLETE_IN_BLOCK_INDEX_LEN 4
11813 #define MC_CMD_PROXY_COMPLETE_IN_STATUS_OFST 4
11814 #define MC_CMD_PROXY_COMPLETE_IN_STATUS_LEN 4
11830 #define MC_CMD_PROXY_COMPLETE_IN_HANDLE_LEN 4
11838 * Allocate a set of buffer table entries using the specified owner ID. This
11851 #define MC_CMD_ALLOC_BUFTBL_CHUNK_IN_OWNER_LEN 4
11852 /* Size of buffer table pages to use, in bytes (note that only a few values are
11855 #define MC_CMD_ALLOC_BUFTBL_CHUNK_IN_PAGE_SIZE_OFST 4
11856 #define MC_CMD_ALLOC_BUFTBL_CHUNK_IN_PAGE_SIZE_LEN 4
11861 #define MC_CMD_ALLOC_BUFTBL_CHUNK_OUT_HANDLE_LEN 4
11862 #define MC_CMD_ALLOC_BUFTBL_CHUNK_OUT_NUMENTRIES_OFST 4
11863 #define MC_CMD_ALLOC_BUFTBL_CHUNK_OUT_NUMENTRIES_LEN 4
11866 #define MC_CMD_ALLOC_BUFTBL_CHUNK_OUT_ID_LEN 4
11871 * Reprogram a set of buffer table entries in the specified chunk.
11885 #define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_HANDLE_LEN 4
11887 #define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_FIRSTID_OFST 4
11888 #define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_FIRSTID_LEN 4
11891 #define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_NUMENTRIES_LEN 4
11896 #define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_LO_LEN 4
11900 #define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_HI_LEN 4
11920 #define MC_CMD_FREE_BUFTBL_CHUNK_IN_LEN 4
11922 #define MC_CMD_FREE_BUFTBL_CHUNK_IN_HANDLE_LEN 4
11941 #define MC_CMD_FILTER_OP_IN_OP_LEN 4
11955 #define MC_CMD_FILTER_OP_IN_HANDLE_OFST 4
11957 #define MC_CMD_FILTER_OP_IN_HANDLE_LO_OFST 4
11958 #define MC_CMD_FILTER_OP_IN_HANDLE_LO_LEN 4
11962 #define MC_CMD_FILTER_OP_IN_HANDLE_HI_LEN 4
11968 #define MC_CMD_FILTER_OP_IN_PORT_ID_LEN 4
11971 #define MC_CMD_FILTER_OP_IN_MATCH_FIELDS_LEN 4
11985 #define MC_CMD_FILTER_OP_IN_MATCH_DST_MAC_LBN 4
12019 #define MC_CMD_FILTER_OP_IN_RX_DEST_LEN 4
12032 #define MC_CMD_FILTER_OP_IN_RX_QUEUE_LEN 4
12035 #define MC_CMD_FILTER_OP_IN_RX_MODE_LEN 4
12042 /* enum: install a filter entry that will never match; for test purposes only
12050 #define MC_CMD_FILTER_OP_IN_RX_CONTEXT_LEN 4
12053 #define MC_CMD_FILTER_OP_IN_TX_DOMAIN_LEN 4
12059 #define MC_CMD_FILTER_OP_IN_TX_DEST_LEN 4
12094 #define MC_CMD_FILTER_OP_IN_FWDEF0_LEN 4
12097 #define MC_CMD_FILTER_OP_IN_FWDEF1_LEN 4
12116 #define MC_CMD_FILTER_OP_EXT_IN_OP_LEN 4
12120 #define MC_CMD_FILTER_OP_EXT_IN_HANDLE_OFST 4
12122 #define MC_CMD_FILTER_OP_EXT_IN_HANDLE_LO_OFST 4
12123 #define MC_CMD_FILTER_OP_EXT_IN_HANDLE_LO_LEN 4
12127 #define MC_CMD_FILTER_OP_EXT_IN_HANDLE_HI_LEN 4
12133 #define MC_CMD_FILTER_OP_EXT_IN_PORT_ID_LEN 4
12136 #define MC_CMD_FILTER_OP_EXT_IN_MATCH_FIELDS_LEN 4
12150 #define MC_CMD_FILTER_OP_EXT_IN_MATCH_DST_MAC_LBN 4
12226 #define MC_CMD_FILTER_OP_EXT_IN_RX_DEST_LEN 4
12239 #define MC_CMD_FILTER_OP_EXT_IN_RX_QUEUE_LEN 4
12242 #define MC_CMD_FILTER_OP_EXT_IN_RX_MODE_LEN 4
12249 /* enum: install a filter entry that will never match; for test purposes only
12257 #define MC_CMD_FILTER_OP_EXT_IN_RX_CONTEXT_LEN 4
12260 #define MC_CMD_FILTER_OP_EXT_IN_TX_DOMAIN_LEN 4
12266 #define MC_CMD_FILTER_OP_EXT_IN_TX_DEST_LEN 4
12301 #define MC_CMD_FILTER_OP_EXT_IN_FWDEF0_LEN 4
12307 #define MC_CMD_FILTER_OP_EXT_IN_VNI_OR_VSID_LEN 4
12377 #define MC_CMD_FILTER_OP_EXT_IN_IFRM_FWDEF0_LEN 4
12382 #define MC_CMD_FILTER_OP_EXT_IN_IFRM_FWDEF1_LEN 4
12404 #define MC_CMD_FILTER_OP_V3_IN_OP_LEN 4
12408 #define MC_CMD_FILTER_OP_V3_IN_HANDLE_OFST 4
12410 #define MC_CMD_FILTER_OP_V3_IN_HANDLE_LO_OFST 4
12411 #define MC_CMD_FILTER_OP_V3_IN_HANDLE_LO_LEN 4
12415 #define MC_CMD_FILTER_OP_V3_IN_HANDLE_HI_LEN 4
12421 #define MC_CMD_FILTER_OP_V3_IN_PORT_ID_LEN 4
12424 #define MC_CMD_FILTER_OP_V3_IN_MATCH_FIELDS_LEN 4
12438 #define MC_CMD_FILTER_OP_V3_IN_MATCH_DST_MAC_LBN 4
12514 #define MC_CMD_FILTER_OP_V3_IN_RX_DEST_LEN 4
12527 #define MC_CMD_FILTER_OP_V3_IN_RX_QUEUE_LEN 4
12530 #define MC_CMD_FILTER_OP_V3_IN_RX_MODE_LEN 4
12537 /* enum: install a filter entry that will never match; for test purposes only
12545 #define MC_CMD_FILTER_OP_V3_IN_RX_CONTEXT_LEN 4
12548 #define MC_CMD_FILTER_OP_V3_IN_TX_DOMAIN_LEN 4
12554 #define MC_CMD_FILTER_OP_V3_IN_TX_DEST_LEN 4
12589 #define MC_CMD_FILTER_OP_V3_IN_FWDEF0_LEN 4
12595 #define MC_CMD_FILTER_OP_V3_IN_VNI_OR_VSID_LEN 4
12665 #define MC_CMD_FILTER_OP_V3_IN_IFRM_FWDEF0_LEN 4
12670 #define MC_CMD_FILTER_OP_V3_IN_IFRM_FWDEF1_LEN 4
12688 * field. For the cases where these flags induce a valid encoding of the
12692 #define MC_CMD_FILTER_OP_V3_IN_MATCH_ACTION_FLAGS_LEN 4
12706 #define MC_CMD_FILTER_OP_V3_IN_MATCH_STRIP_VLAN_LBN 4
12719 #define MC_CMD_FILTER_OP_V3_IN_MATCH_ACTION_LEN 4
12732 /* the mark value for MATCH_ACTION_MARK. Requesting a value larger than the
12737 #define MC_CMD_FILTER_OP_V3_IN_MATCH_MARK_VALUE_LEN 4
12743 #define MC_CMD_FILTER_OP_OUT_OP_LEN 4
12747 * handles should be considered opaque to the host, although a value of
12748 * 0xFFFFFFFF_FFFFFFFF is guaranteed never to be a valid handle.
12750 #define MC_CMD_FILTER_OP_OUT_HANDLE_OFST 4
12752 #define MC_CMD_FILTER_OP_OUT_HANDLE_LO_OFST 4
12753 #define MC_CMD_FILTER_OP_OUT_HANDLE_LO_LEN 4
12757 #define MC_CMD_FILTER_OP_OUT_HANDLE_HI_LEN 4
12769 #define MC_CMD_FILTER_OP_EXT_OUT_OP_LEN 4
12773 * handles should be considered opaque to the host, although a value of
12774 * 0xFFFFFFFF_FFFFFFFF is guaranteed never to be a valid handle.
12776 #define MC_CMD_FILTER_OP_EXT_OUT_HANDLE_OFST 4
12778 #define MC_CMD_FILTER_OP_EXT_OUT_HANDLE_LO_OFST 4
12779 #define MC_CMD_FILTER_OP_EXT_OUT_HANDLE_LO_LEN 4
12783 #define MC_CMD_FILTER_OP_EXT_OUT_HANDLE_HI_LEN 4
12800 #define MC_CMD_GET_PARSER_DISP_INFO_IN_LEN 4
12803 #define MC_CMD_GET_PARSER_DISP_INFO_IN_OP_LEN 4
12815 * encapsulated frames, which follow a different match sequence to normal
12830 #define MC_CMD_GET_PARSER_DISP_INFO_OUT_LEN(num) (8+4*(num))
12831 #define MC_CMD_GET_PARSER_DISP_INFO_OUT_SUPPORTED_MATCHES_NUM(len) (((len)-8)/4)
12834 #define MC_CMD_GET_PARSER_DISP_INFO_OUT_OP_LEN 4
12838 #define MC_CMD_GET_PARSER_DISP_INFO_OUT_NUM_SUPPORTED_MATCHES_OFST 4
12839 #define MC_CMD_GET_PARSER_DISP_INFO_OUT_NUM_SUPPORTED_MATCHES_LEN 4
12844 #define MC_CMD_GET_PARSER_DISP_INFO_OUT_SUPPORTED_MATCHES_LEN 4
12853 #define MC_CMD_GET_PARSER_DISP_RESTRICTIONS_OUT_OP_LEN 4
12857 #define MC_CMD_GET_PARSER_DISP_RESTRICTIONS_OUT_RESTRICTION_FLAGS_OFST 4
12858 #define MC_CMD_GET_PARSER_DISP_RESTRICTIONS_OUT_RESTRICTION_FLAGS_LEN 4
12859 #define MC_CMD_GET_PARSER_DISP_RESTRICTIONS_OUT_DST_IP_MCAST_ONLY_OFST 4
12864 * returned if a MC_CMD_GET_PARSER_DISP_INFO_IN request is sent with OP value
12872 #define MC_CMD_GET_PARSER_DISP_VNIC_ENCAP_MATCHES_OUT_LEN(num) (8+4*(num))
12873 #define MC_CMD_GET_PARSER_DISP_VNIC_ENCAP_MATCHES_OUT_SUPPORTED_MATCHES_NUM(len) (((len)-8)/4)
12876 #define MC_CMD_GET_PARSER_DISP_VNIC_ENCAP_MATCHES_OUT_OP_LEN 4
12880 #define MC_CMD_GET_PARSER_DISP_VNIC_ENCAP_MATCHES_OUT_NUM_SUPPORTED_MATCHES_OFST 4
12881 #define MC_CMD_GET_PARSER_DISP_VNIC_ENCAP_MATCHES_OUT_NUM_SUPPORTED_MATCHES_LEN 4
12886 #define MC_CMD_GET_PARSER_DISP_VNIC_ENCAP_MATCHES_OUT_SUPPORTED_MATCHES_LEN 4
12897 #define MC_CMD_GET_PARSER_DISP_SUPPORTED_VNIC_ENCAP_TYPES_OUT_OP_LEN 4
12900 #define MC_CMD_GET_PARSER_DISP_SUPPORTED_VNIC_ENCAP_TYPES_OUT_ENCAP_TYPES_SUPPORTED_OFST 4
12901 #define MC_CMD_GET_PARSER_DISP_SUPPORTED_VNIC_ENCAP_TYPES_OUT_ENCAP_TYPES_SUPPORTED_LEN 4
12902 #define MC_CMD_GET_PARSER_DISP_SUPPORTED_VNIC_ENCAP_TYPES_OUT_ENCAP_TYPE_VXLAN_OFST 4
12905 #define MC_CMD_GET_PARSER_DISP_SUPPORTED_VNIC_ENCAP_TYPES_OUT_ENCAP_TYPE_NVGRE_OFST 4
12908 #define MC_CMD_GET_PARSER_DISP_SUPPORTED_VNIC_ENCAP_TYPES_OUT_ENCAP_TYPE_GENEVE_OFST 4
12911 #define MC_CMD_GET_PARSER_DISP_SUPPORTED_VNIC_ENCAP_TYPES_OUT_ENCAP_TYPE_L2GRE_OFST 4
12934 #define MC_CMD_PARSER_DISP_RW_IN_TARGET_LEN 4
12940 * by cmdclient as a fallback for very old Huntington firmware, and not
12954 #define MC_CMD_PARSER_DISP_RW_IN_OP_OFST 4
12955 #define MC_CMD_PARSER_DISP_RW_IN_OP_LEN 4
12956 /* enum: Read a word of DICPU DMEM or a LUE entry */
12958 /* enum: Write a word of DICPU DMEM or a LUE entry. Not permitted on
12962 /* enum: Read-modify-write a word of DICPU DMEM (not valid for LUE). Not
12968 #define MC_CMD_PARSER_DISP_RW_IN_ADDRESS_LEN 4
12971 #define MC_CMD_PARSER_DISP_RW_IN_SELECTOR_LEN 4
12976 #define MC_CMD_PARSER_DISP_RW_IN_DMEM_WRITE_VALUE_LEN 4
12979 #define MC_CMD_PARSER_DISP_RW_IN_DMEM_RMW_XOR_VALUE_LEN 4
12982 #define MC_CMD_PARSER_DISP_RW_IN_DMEM_RMW_AND_MASK_LEN 4
12985 #define MC_CMD_PARSER_DISP_RW_IN_LUE_READ_METADATA_VERSION_LEN 4
12994 #define MC_CMD_PARSER_DISP_RW_OUT_DMEM_READ_VALUE_LEN 4
13005 #define MC_CMD_PARSER_DISP_RW_OUT_PORT_DP_MAPPING_LEN 4
13006 #define MC_CMD_PARSER_DISP_RW_OUT_PORT_DP_MAPPING_NUM 4
13037 #define MC_CMD_SET_PF_COUNT_IN_LEN 4
13040 #define MC_CMD_SET_PF_COUNT_IN_PF_COUNT_LEN 4
13059 #define MC_CMD_GET_PORT_ASSIGNMENT_OUT_LEN 4
13062 * yet configured, or assigning a port to a given function personality makes no
13066 #define MC_CMD_GET_PORT_ASSIGNMENT_OUT_PORT_LEN 4
13067 /* enum: Special value to indicate no port is assigned to a function. */
13081 #define MC_CMD_SET_PORT_ASSIGNMENT_IN_LEN 4
13084 #define MC_CMD_SET_PORT_ASSIGNMENT_IN_PORT_LEN 4
13103 #define MC_CMD_ALLOC_VIS_IN_MIN_VI_COUNT_LEN 4
13105 #define MC_CMD_ALLOC_VIS_IN_MAX_VI_COUNT_OFST 4
13106 #define MC_CMD_ALLOC_VIS_IN_MAX_VI_COUNT_LEN 4
13114 #define MC_CMD_ALLOC_VIS_OUT_VI_COUNT_LEN 4
13118 #define MC_CMD_ALLOC_VIS_OUT_VI_BASE_OFST 4
13119 #define MC_CMD_ALLOC_VIS_OUT_VI_BASE_LEN 4
13125 #define MC_CMD_ALLOC_VIS_EXT_OUT_VI_COUNT_LEN 4
13129 #define MC_CMD_ALLOC_VIS_EXT_OUT_VI_BASE_OFST 4
13130 #define MC_CMD_ALLOC_VIS_EXT_OUT_VI_BASE_LEN 4
13133 #define MC_CMD_ALLOC_VIS_EXT_OUT_VI_SHIFT_LEN 4
13169 #define MC_CMD_GET_SRIOV_CFG_OUT_VF_CURRENT_LEN 4
13171 #define MC_CMD_GET_SRIOV_CFG_OUT_VF_MAX_OFST 4
13172 #define MC_CMD_GET_SRIOV_CFG_OUT_VF_MAX_LEN 4
13174 #define MC_CMD_GET_SRIOV_CFG_OUT_FLAGS_LEN 4
13180 #define MC_CMD_GET_SRIOV_CFG_OUT_VF_OFFSET_LEN 4
13183 #define MC_CMD_GET_SRIOV_CFG_OUT_VF_STRIDE_LEN 4
13199 #define MC_CMD_SET_SRIOV_CFG_IN_VF_CURRENT_LEN 4
13201 #define MC_CMD_SET_SRIOV_CFG_IN_VF_MAX_OFST 4
13202 #define MC_CMD_SET_SRIOV_CFG_IN_VF_MAX_LEN 4
13204 #define MC_CMD_SET_SRIOV_CFG_IN_FLAGS_LEN 4
13212 #define MC_CMD_SET_SRIOV_CFG_IN_VF_OFFSET_LEN 4
13214 * MC_CMD_RESOURCE_INSTANCE_ANY to allow the system to allocate a stride.
13217 #define MC_CMD_SET_SRIOV_CFG_IN_VF_STRIDE_LEN 4
13241 #define MC_CMD_GET_VI_ALLOC_INFO_OUT_VI_COUNT_LEN 4
13245 #define MC_CMD_GET_VI_ALLOC_INFO_OUT_VI_BASE_OFST 4
13246 #define MC_CMD_GET_VI_ALLOC_INFO_OUT_VI_BASE_LEN 4
13249 #define MC_CMD_GET_VI_ALLOC_INFO_OUT_VI_SHIFT_LEN 4
13254 * For CmdClient use. Dump pertinent information on a specific absolute VI. The
13264 #define MC_CMD_DUMP_VI_STATE_IN_LEN 4
13267 #define MC_CMD_DUMP_VI_STATE_IN_VI_NUMBER_LEN 4
13278 #define MC_CMD_DUMP_VI_STATE_OUT_FUNC_VI_BASE_OFST 4
13293 #define MC_CMD_DUMP_VI_STATE_OUT_VI_EVQ_PTR_RAW_LO_LEN 4
13297 #define MC_CMD_DUMP_VI_STATE_OUT_VI_EVQ_PTR_RAW_HI_LEN 4
13304 #define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_TIMER_RAW_LO_LEN 4
13308 #define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_TIMER_RAW_HI_LEN 4
13313 #define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_META_LEN 4
13327 #define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_0_LO_LEN 4
13331 #define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_0_HI_LEN 4
13338 #define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_1_LO_LEN 4
13342 #define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_1_HI_LEN 4
13349 #define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_2_LO_LEN 4
13353 #define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_RAW_TBL_2_HI_LEN 4
13360 #define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_META_LO_LEN 4
13364 #define MC_CMD_DUMP_VI_STATE_OUT_VI_TX_META_HI_LEN 4
13386 #define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_0_LO_LEN 4
13390 #define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_0_HI_LEN 4
13397 #define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_1_LO_LEN 4
13401 #define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_1_HI_LEN 4
13408 #define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_2_LO_LEN 4
13412 #define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_RAW_TBL_2_HI_LEN 4
13419 #define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_META_LO_LEN 4
13423 #define MC_CMD_DUMP_VI_STATE_OUT_VI_RX_META_HI_LEN 4
13440 #define MC_CMD_DUMP_VI_STATE_OUT_USER_CLIENT_ID_LEN 4
13445 * Allocate a push I/O buffer for later use with a tx queue.
13456 #define MC_CMD_ALLOC_PIOBUF_OUT_LEN 4
13459 #define MC_CMD_ALLOC_PIOBUF_OUT_PIOBUF_HANDLE_LEN 4
13464 * Free a push I/O buffer.
13472 #define MC_CMD_FREE_PIOBUF_IN_LEN 4
13475 #define MC_CMD_FREE_PIOBUF_IN_PIOBUF_HANDLE_LEN 4
13483 * Get TLP steering and ordering information for a VI. The caller must have the
13493 #define MC_CMD_GET_VI_TLP_PROCESSING_IN_LEN 4
13496 #define MC_CMD_GET_VI_TLP_PROCESSING_IN_INSTANCE_LEN 4
13499 #define MC_CMD_GET_VI_TLP_PROCESSING_OUT_LEN 4
13519 #define MC_CMD_GET_VI_TLP_PROCESSING_OUT_DATA_LEN 4
13524 * Set TLP steering and ordering information for a VI. The caller must have the
13537 #define MC_CMD_SET_VI_TLP_PROCESSING_IN_INSTANCE_LEN 4
13539 #define MC_CMD_SET_VI_TLP_PROCESSING_IN_TPH_TAG1_RX_OFST 4
13556 #define MC_CMD_SET_VI_TLP_PROCESSING_IN_DATA_OFST 4
13557 #define MC_CMD_SET_VI_TLP_PROCESSING_IN_DATA_LEN 4
13573 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_IN_LEN 4
13575 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_IN_TLP_GLOBAL_CATEGORY_LEN 4
13588 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_GLOBAL_CATEGORY_LEN 4
13592 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_WORD_OFST 4
13593 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_WORD_LEN 4
13594 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_MISC_WTAG_EN_OFST 4
13597 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_MISC_SPARE_OFST 4
13600 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_DL_EN_OFST 4
13603 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_TX_EN_OFST 4
13606 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_EV_EN_OFST 4
13609 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_RX_EN_OFST 4
13612 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_SPARE_OFST 4
13613 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_IDO_SPARE_LBN 4
13615 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_RO_RXDMA_EN_OFST 4
13618 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_RO_TXDMA_EN_OFST 4
13621 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_RO_DL_EN_OFST 4
13624 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_RO_SPARE_OFST 4
13627 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_MSIX_OFST 4
13630 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_DL_OFST 4
13633 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_TX_OFST 4
13634 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_TX_LBN 4
13636 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_EV_OFST 4
13639 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TPH_TYPE_RX_OFST 4
13642 #define MC_CMD_GET_TLP_PROCESSING_GLOBALS_OUT_TLP_INFO_TLP_TYPE_SPARE_OFST 4
13659 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_GLOBAL_CATEGORY_LEN 4
13663 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_WORD_OFST 4
13664 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_WORD_LEN 4
13665 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_MISC_WTAG_EN_OFST 4
13668 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_IDO_DL_EN_OFST 4
13671 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_IDO_TX_EN_OFST 4
13674 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_IDO_EV_EN_OFST 4
13677 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_IDO_RX_EN_OFST 4
13680 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_RO_RXDMA_EN_OFST 4
13683 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_RO_TXDMA_EN_OFST 4
13686 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_RO_DL_EN_OFST 4
13689 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_MSIX_OFST 4
13692 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_DL_OFST 4
13695 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_TX_OFST 4
13696 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_TX_LBN 4
13698 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_EV_OFST 4
13701 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_TPH_TYPE_RX_OFST 4
13704 #define MC_CMD_SET_TLP_PROCESSING_GLOBALS_IN_TLP_INFO_SPARE_OFST 4
13714 * Download a new set of images to the satellite CPUs from the host.
13722 * are subtle, and so downloads must proceed in a number of phases.
13724 * 1) PHASE_RESET with a target of TARGET_ALL and chunk ID/length of 0.
13728 * be a checksum (a simple 32-bit sum) of the transferred data. An individual
13734 * 4) PHASE_READY with a target of TARGET_ALL and chunk ID/length of 0.
13736 * After any error (a requested abort is not considered to be an error) the
13742 #define MC_CMD_SATELLITE_DOWNLOAD_IN_LEN(num) (16+4*(num))
13743 #define MC_CMD_SATELLITE_DOWNLOAD_IN_CHUNK_DATA_NUM(len) (((len)-16)/4)
13745 * in a command from the host.)
13748 #define MC_CMD_SATELLITE_DOWNLOAD_IN_PHASE_LEN 4
13757 #define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_OFST 4
13758 #define MC_CMD_SATELLITE_DOWNLOAD_IN_TARGET_LEN 4
13791 /* enum: Valid in phases 1 (PHASE_RESET) and 4 (PHASE_READY) only */
13795 #define MC_CMD_SATELLITE_DOWNLOAD_IN_CHUNK_ID_LEN 4
13802 #define MC_CMD_SATELLITE_DOWNLOAD_IN_CHUNK_LEN_LEN 4
13805 #define MC_CMD_SATELLITE_DOWNLOAD_IN_CHUNK_DATA_LEN 4
13814 #define MC_CMD_SATELLITE_DOWNLOAD_OUT_RESULT_LEN 4
13816 #define MC_CMD_SATELLITE_DOWNLOAD_OUT_INFO_OFST 4
13817 #define MC_CMD_SATELLITE_DOWNLOAD_OUT_INFO_LEN 4
13855 #define MC_CMD_GET_CAPABILITIES_OUT_FLAGS1_LEN 4
13860 #define MC_CMD_GET_CAPABILITIES_OUT_TX_STRIPING_LBN 4
13944 #define MC_CMD_GET_CAPABILITIES_OUT_RX_DPCPU_FW_ID_OFST 4
13964 /* enum: RXDP Test firmware image 4 */
14006 #define MC_CMD_GET_CAPABILITIES_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
14057 #define MC_CMD_GET_CAPABILITIES_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
14096 #define MC_CMD_GET_CAPABILITIES_OUT_HW_CAPABILITIES_LEN 4
14099 #define MC_CMD_GET_CAPABILITIES_OUT_LICENSE_CAPABILITIES_LEN 4
14108 #define MC_CMD_GET_CAPABILITIES_V2_OUT_FLAGS1_LEN 4
14113 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_STRIPING_LBN 4
14197 #define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_DPCPU_FW_ID_OFST 4
14217 /* enum: RXDP Test firmware image 4 */
14259 #define MC_CMD_GET_CAPABILITIES_V2_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
14310 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
14349 #define MC_CMD_GET_CAPABILITIES_V2_OUT_HW_CAPABILITIES_LEN 4
14352 #define MC_CMD_GET_CAPABILITIES_V2_OUT_LICENSE_CAPABILITIES_LEN 4
14355 #define MC_CMD_GET_CAPABILITIES_V2_OUT_FLAGS2_LEN 4
14369 #define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_CUT_THROUGH_LBN 4
14464 * PF, indexed by PF number. Special values indicate that a PF is either not
14477 * in this field. It is intended for a possible future situation where a more
14479 * should look for a new field supporting the new scheme. The current/old
14483 /* One byte per PF containing the number of its VFs, indexed by PF number. A
14484 * special value indicates that a PF is not present.
14496 #define MC_CMD_GET_CAPABILITIES_V2_OUT_NUM_VIS_PER_PORT_NUM 4
14510 /* Size of a single PIO buffer */
14518 #define MC_CMD_GET_CAPABILITIES_V3_OUT_FLAGS1_LEN 4
14523 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_STRIPING_LBN 4
14607 #define MC_CMD_GET_CAPABILITIES_V3_OUT_RX_DPCPU_FW_ID_OFST 4
14627 /* enum: RXDP Test firmware image 4 */
14669 #define MC_CMD_GET_CAPABILITIES_V3_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
14720 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
14759 #define MC_CMD_GET_CAPABILITIES_V3_OUT_HW_CAPABILITIES_LEN 4
14762 #define MC_CMD_GET_CAPABILITIES_V3_OUT_LICENSE_CAPABILITIES_LEN 4
14765 #define MC_CMD_GET_CAPABILITIES_V3_OUT_FLAGS2_LEN 4
14779 #define MC_CMD_GET_CAPABILITIES_V3_OUT_RX_CUT_THROUGH_LBN 4
14874 * PF, indexed by PF number. Special values indicate that a PF is either not
14887 * in this field. It is intended for a possible future situation where a more
14889 * should look for a new field supporting the new scheme. The current/old
14893 /* One byte per PF containing the number of its VFs, indexed by PF number. A
14894 * special value indicates that a PF is not present.
14906 #define MC_CMD_GET_CAPABILITIES_V3_OUT_NUM_VIS_PER_PORT_NUM 4
14920 /* Size of a single PIO buffer */
14924 * is configurable. This is a global setting that the driver must query to
14930 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
14934 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
14936 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
14953 #define MC_CMD_GET_CAPABILITIES_V4_OUT_FLAGS1_LEN 4
14958 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_STRIPING_LBN 4
15042 #define MC_CMD_GET_CAPABILITIES_V4_OUT_RX_DPCPU_FW_ID_OFST 4
15062 /* enum: RXDP Test firmware image 4 */
15104 #define MC_CMD_GET_CAPABILITIES_V4_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
15155 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
15194 #define MC_CMD_GET_CAPABILITIES_V4_OUT_HW_CAPABILITIES_LEN 4
15197 #define MC_CMD_GET_CAPABILITIES_V4_OUT_LICENSE_CAPABILITIES_LEN 4
15200 #define MC_CMD_GET_CAPABILITIES_V4_OUT_FLAGS2_LEN 4
15214 #define MC_CMD_GET_CAPABILITIES_V4_OUT_RX_CUT_THROUGH_LBN 4
15309 * PF, indexed by PF number. Special values indicate that a PF is either not
15322 * in this field. It is intended for a possible future situation where a more
15324 * should look for a new field supporting the new scheme. The current/old
15328 /* One byte per PF containing the number of its VFs, indexed by PF number. A
15329 * special value indicates that a PF is not present.
15341 #define MC_CMD_GET_CAPABILITIES_V4_OUT_NUM_VIS_PER_PORT_NUM 4
15355 /* Size of a single PIO buffer */
15359 * is configurable. This is a global setting that the driver must query to
15365 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
15369 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
15371 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
15384 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
15396 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FLAGS1_LEN 4
15401 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_STRIPING_LBN 4
15485 #define MC_CMD_GET_CAPABILITIES_V5_OUT_RX_DPCPU_FW_ID_OFST 4
15505 /* enum: RXDP Test firmware image 4 */
15547 #define MC_CMD_GET_CAPABILITIES_V5_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
15598 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
15637 #define MC_CMD_GET_CAPABILITIES_V5_OUT_HW_CAPABILITIES_LEN 4
15640 #define MC_CMD_GET_CAPABILITIES_V5_OUT_LICENSE_CAPABILITIES_LEN 4
15643 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FLAGS2_LEN 4
15657 #define MC_CMD_GET_CAPABILITIES_V5_OUT_RX_CUT_THROUGH_LBN 4
15752 * PF, indexed by PF number. Special values indicate that a PF is either not
15765 * in this field. It is intended for a possible future situation where a more
15767 * should look for a new field supporting the new scheme. The current/old
15771 /* One byte per PF containing the number of its VFs, indexed by PF number. A
15772 * special value indicates that a PF is not present.
15784 #define MC_CMD_GET_CAPABILITIES_V5_OUT_NUM_VIS_PER_PORT_NUM 4
15798 /* Size of a single PIO buffer */
15802 * is configurable. This is a global setting that the driver must query to
15808 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
15812 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
15814 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
15827 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
15838 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FILTER_ACTION_MARK_MAX_LEN 4
15844 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FLAGS1_LEN 4
15849 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_STRIPING_LBN 4
15933 #define MC_CMD_GET_CAPABILITIES_V6_OUT_RX_DPCPU_FW_ID_OFST 4
15953 /* enum: RXDP Test firmware image 4 */
15995 #define MC_CMD_GET_CAPABILITIES_V6_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
16046 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
16085 #define MC_CMD_GET_CAPABILITIES_V6_OUT_HW_CAPABILITIES_LEN 4
16088 #define MC_CMD_GET_CAPABILITIES_V6_OUT_LICENSE_CAPABILITIES_LEN 4
16091 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FLAGS2_LEN 4
16105 #define MC_CMD_GET_CAPABILITIES_V6_OUT_RX_CUT_THROUGH_LBN 4
16200 * PF, indexed by PF number. Special values indicate that a PF is either not
16213 * in this field. It is intended for a possible future situation where a more
16215 * should look for a new field supporting the new scheme. The current/old
16219 /* One byte per PF containing the number of its VFs, indexed by PF number. A
16220 * special value indicates that a PF is not present.
16232 #define MC_CMD_GET_CAPABILITIES_V6_OUT_NUM_VIS_PER_PORT_NUM 4
16246 /* Size of a single PIO buffer */
16250 * is configurable. This is a global setting that the driver must query to
16256 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
16260 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
16262 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
16275 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
16286 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FILTER_ACTION_MARK_MAX_LEN 4
16288 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
16289 * they create an RX queue. Due to hardware limitations, only a small number of
16296 #define MC_CMD_GET_CAPABILITIES_V6_OUT_GUARANTEED_RX_BUFFER_SIZES_LEN 4
16303 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FLAGS1_LEN 4
16308 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_STRIPING_LBN 4
16392 #define MC_CMD_GET_CAPABILITIES_V7_OUT_RX_DPCPU_FW_ID_OFST 4
16412 /* enum: RXDP Test firmware image 4 */
16454 #define MC_CMD_GET_CAPABILITIES_V7_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
16505 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
16544 #define MC_CMD_GET_CAPABILITIES_V7_OUT_HW_CAPABILITIES_LEN 4
16547 #define MC_CMD_GET_CAPABILITIES_V7_OUT_LICENSE_CAPABILITIES_LEN 4
16550 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FLAGS2_LEN 4
16564 #define MC_CMD_GET_CAPABILITIES_V7_OUT_RX_CUT_THROUGH_LBN 4
16659 * PF, indexed by PF number. Special values indicate that a PF is either not
16672 * in this field. It is intended for a possible future situation where a more
16674 * should look for a new field supporting the new scheme. The current/old
16678 /* One byte per PF containing the number of its VFs, indexed by PF number. A
16679 * special value indicates that a PF is not present.
16691 #define MC_CMD_GET_CAPABILITIES_V7_OUT_NUM_VIS_PER_PORT_NUM 4
16705 /* Size of a single PIO buffer */
16709 * is configurable. This is a global setting that the driver must query to
16715 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
16719 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
16721 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
16734 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
16745 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FILTER_ACTION_MARK_MAX_LEN 4
16747 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
16748 * they create an RX queue. Due to hardware limitations, only a small number of
16755 #define MC_CMD_GET_CAPABILITIES_V7_OUT_GUARANTEED_RX_BUFFER_SIZES_LEN 4
16759 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FLAGS3_LEN 4
16773 #define MC_CMD_GET_CAPABILITIES_V7_OUT_VDPA_SUPPORTED_LBN 4
16807 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FLAGS1_LEN 4
16812 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_STRIPING_LBN 4
16896 #define MC_CMD_GET_CAPABILITIES_V8_OUT_RX_DPCPU_FW_ID_OFST 4
16916 /* enum: RXDP Test firmware image 4 */
16958 #define MC_CMD_GET_CAPABILITIES_V8_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
17009 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
17048 #define MC_CMD_GET_CAPABILITIES_V8_OUT_HW_CAPABILITIES_LEN 4
17051 #define MC_CMD_GET_CAPABILITIES_V8_OUT_LICENSE_CAPABILITIES_LEN 4
17054 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FLAGS2_LEN 4
17068 #define MC_CMD_GET_CAPABILITIES_V8_OUT_RX_CUT_THROUGH_LBN 4
17163 * PF, indexed by PF number. Special values indicate that a PF is either not
17176 * in this field. It is intended for a possible future situation where a more
17178 * should look for a new field supporting the new scheme. The current/old
17182 /* One byte per PF containing the number of its VFs, indexed by PF number. A
17183 * special value indicates that a PF is not present.
17195 #define MC_CMD_GET_CAPABILITIES_V8_OUT_NUM_VIS_PER_PORT_NUM 4
17209 /* Size of a single PIO buffer */
17213 * is configurable. This is a global setting that the driver must query to
17219 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
17223 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
17225 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
17238 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
17249 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FILTER_ACTION_MARK_MAX_LEN 4
17251 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
17252 * they create an RX queue. Due to hardware limitations, only a small number of
17259 #define MC_CMD_GET_CAPABILITIES_V8_OUT_GUARANTEED_RX_BUFFER_SIZES_LEN 4
17263 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FLAGS3_LEN 4
17277 #define MC_CMD_GET_CAPABILITIES_V8_OUT_VDPA_SUPPORTED_LBN 4
17313 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TEST_RESERVED_LO_LEN 4
17317 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TEST_RESERVED_HI_LEN 4
17325 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FLAGS1_LEN 4
17330 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_STRIPING_LBN 4
17414 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RX_DPCPU_FW_ID_OFST 4
17434 /* enum: RXDP Test firmware image 4 */
17476 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
17527 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
17566 #define MC_CMD_GET_CAPABILITIES_V9_OUT_HW_CAPABILITIES_LEN 4
17569 #define MC_CMD_GET_CAPABILITIES_V9_OUT_LICENSE_CAPABILITIES_LEN 4
17572 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FLAGS2_LEN 4
17586 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RX_CUT_THROUGH_LBN 4
17681 * PF, indexed by PF number. Special values indicate that a PF is either not
17694 * in this field. It is intended for a possible future situation where a more
17696 * should look for a new field supporting the new scheme. The current/old
17700 /* One byte per PF containing the number of its VFs, indexed by PF number. A
17701 * special value indicates that a PF is not present.
17713 #define MC_CMD_GET_CAPABILITIES_V9_OUT_NUM_VIS_PER_PORT_NUM 4
17727 /* Size of a single PIO buffer */
17731 * is configurable. This is a global setting that the driver must query to
17737 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
17741 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
17743 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
17756 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
17767 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FILTER_ACTION_MARK_MAX_LEN 4
17769 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
17770 * they create an RX queue. Due to hardware limitations, only a small number of
17777 #define MC_CMD_GET_CAPABILITIES_V9_OUT_GUARANTEED_RX_BUFFER_SIZES_LEN 4
17781 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FLAGS3_LEN 4
17795 #define MC_CMD_GET_CAPABILITIES_V9_OUT_VDPA_SUPPORTED_LBN 4
17831 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TEST_RESERVED_LO_LEN 4
17835 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TEST_RESERVED_HI_LEN 4
17839 * from the pool for an RSS context. Note that the table size used must be a
17843 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RSS_MIN_INDIRECTION_TABLE_SIZE_LEN 4
17845 * from the pool for an RSS context. Note that the table size used must be a
17849 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RSS_MAX_INDIRECTION_TABLE_SIZE_LEN 4
17851 * mode. In exclusive mode the context has a configurable indirection table and
17852 * a configurable RSS key.
17855 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RSS_MAX_INDIRECTION_QUEUES_LEN 4
17858 * but it does have a configurable RSS key.
17861 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RSS_MAX_EVEN_SPREADING_QUEUES_LEN 4
17864 * availability of indirection table space allocated from a common pool.
17867 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RSS_NUM_CONTEXTS_LEN 4
17872 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RSS_TABLE_POOL_SIZE_LEN 4
17878 #define MC_CMD_GET_CAPABILITIES_V10_OUT_FLAGS1_LEN 4
17883 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TX_STRIPING_LBN 4
17967 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RX_DPCPU_FW_ID_OFST 4
17987 /* enum: RXDP Test firmware image 4 */
18029 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RXPD_FW_VERSION_TYPE_WIDTH 4
18080 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TXPD_FW_VERSION_TYPE_WIDTH 4
18119 #define MC_CMD_GET_CAPABILITIES_V10_OUT_HW_CAPABILITIES_LEN 4
18122 #define MC_CMD_GET_CAPABILITIES_V10_OUT_LICENSE_CAPABILITIES_LEN 4
18125 #define MC_CMD_GET_CAPABILITIES_V10_OUT_FLAGS2_LEN 4
18139 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RX_CUT_THROUGH_LBN 4
18234 * PF, indexed by PF number. Special values indicate that a PF is either not
18247 * in this field. It is intended for a possible future situation where a more
18249 * should look for a new field supporting the new scheme. The current/old
18253 /* One byte per PF containing the number of its VFs, indexed by PF number. A
18254 * special value indicates that a PF is not present.
18266 #define MC_CMD_GET_CAPABILITIES_V10_OUT_NUM_VIS_PER_PORT_NUM 4
18280 /* Size of a single PIO buffer */
18284 * is configurable. This is a global setting that the driver must query to
18290 /* enum: Each VI occupies 8k as on Huntington and Medford. PIO is at offset 4k.
18294 /* enum: Each VI occupies 16k. PIO is at offset 4k. CTPIO is at offset 12k. */
18296 /* enum: Each VI occupies 64k. PIO is at offset 4k. CTPIO is at offset 12k. */
18309 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
18320 #define MC_CMD_GET_CAPABILITIES_V10_OUT_FILTER_ACTION_MARK_MAX_LEN 4
18322 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
18323 * they create an RX queue. Due to hardware limitations, only a small number of
18330 #define MC_CMD_GET_CAPABILITIES_V10_OUT_GUARANTEED_RX_BUFFER_SIZES_LEN 4
18334 #define MC_CMD_GET_CAPABILITIES_V10_OUT_FLAGS3_LEN 4
18348 #define MC_CMD_GET_CAPABILITIES_V10_OUT_VDPA_SUPPORTED_LBN 4
18384 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TEST_RESERVED_LO_LEN 4
18388 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TEST_RESERVED_HI_LEN 4
18392 * from the pool for an RSS context. Note that the table size used must be a
18396 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RSS_MIN_INDIRECTION_TABLE_SIZE_LEN 4
18398 * from the pool for an RSS context. Note that the table size used must be a
18402 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RSS_MAX_INDIRECTION_TABLE_SIZE_LEN 4
18404 * mode. In exclusive mode the context has a configurable indirection table and
18405 * a configurable RSS key.
18408 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RSS_MAX_INDIRECTION_QUEUES_LEN 4
18411 * but it does have a configurable RSS key.
18414 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RSS_MAX_EVEN_SPREADING_QUEUES_LEN 4
18417 * availability of indirection table space allocated from a common pool.
18420 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RSS_NUM_CONTEXTS_LEN 4
18425 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RSS_TABLE_POOL_SIZE_LEN 4
18426 /* A bitmap of the queue sizes the device can provide, where bit N being set
18427 * indicates that 2**N is a valid size. The device may be limited in the number
18428 * of different queue sizes that can exist simultaneously, so a bit being set
18429 * here does not guarantee that an attempt to create a queue of that size will
18433 #define MC_CMD_GET_CAPABILITIES_V10_OUT_SUPPORTED_QUEUE_SIZES_LEN 4
18434 /* A bitmap of queue sizes that are always available, in the same format as
18435 * SUPPORTED_QUEUE_SIZES. Attempting to create a queue with one of these sizes
18439 #define MC_CMD_GET_CAPABILITIES_V10_OUT_GUARANTEED_QUEUE_SIZES_LEN 4
18444 * Encapsulation for a v2 extended command
18449 #define MC_CMD_V2_EXTN_IN_LEN 4
18464 #define MC_CMD_V2_EXTN_IN_MESSAGE_TYPE_WIDTH 4
18467 /* enum: MCDI command directed to a TSA controller. MCDI responses of this type
18475 * Allocate a pacer bucket (for qau rp or a snapper test)
18486 #define MC_CMD_TCM_BUCKET_ALLOC_OUT_LEN 4
18489 #define MC_CMD_TCM_BUCKET_ALLOC_OUT_BUCKET_LEN 4
18494 * Free a pacer bucket
18502 #define MC_CMD_TCM_BUCKET_FREE_IN_LEN 4
18505 #define MC_CMD_TCM_BUCKET_FREE_IN_BUCKET_LEN 4
18513 * Initialise pacer bucket with a given rate
18524 #define MC_CMD_TCM_BUCKET_INIT_IN_BUCKET_LEN 4
18526 #define MC_CMD_TCM_BUCKET_INIT_IN_RATE_OFST 4
18527 #define MC_CMD_TCM_BUCKET_INIT_IN_RATE_LEN 4
18533 #define MC_CMD_TCM_BUCKET_INIT_EXT_IN_BUCKET_LEN 4
18535 #define MC_CMD_TCM_BUCKET_INIT_EXT_IN_RATE_OFST 4
18536 #define MC_CMD_TCM_BUCKET_INIT_EXT_IN_RATE_LEN 4
18539 #define MC_CMD_TCM_BUCKET_INIT_EXT_IN_MAX_FILL_LEN 4
18558 #define MC_CMD_TCM_TXQ_INIT_IN_QID_LEN 4
18560 #define MC_CMD_TCM_TXQ_INIT_IN_LABEL_OFST 4
18561 #define MC_CMD_TCM_TXQ_INIT_IN_LABEL_LEN 4
18564 #define MC_CMD_TCM_TXQ_INIT_IN_PQ_FLAGS_LEN 4
18576 #define MC_CMD_TCM_TXQ_INIT_IN_RP_BKT_LEN 4
18581 #define MC_CMD_TCM_TXQ_INIT_IN_MAX_BKT1_LEN 4
18586 #define MC_CMD_TCM_TXQ_INIT_IN_MAX_BKT2_LEN 4
18589 #define MC_CMD_TCM_TXQ_INIT_IN_MIN_BKT_LEN 4
18595 #define MC_CMD_TCM_TXQ_INIT_EXT_IN_QID_LEN 4
18597 #define MC_CMD_TCM_TXQ_INIT_EXT_IN_LABEL_NORMAL_OFST 4
18598 #define MC_CMD_TCM_TXQ_INIT_EXT_IN_LABEL_NORMAL_LEN 4
18601 #define MC_CMD_TCM_TXQ_INIT_EXT_IN_PQ_FLAGS_LEN 4
18613 #define MC_CMD_TCM_TXQ_INIT_EXT_IN_RP_BKT_LEN 4
18618 #define MC_CMD_TCM_TXQ_INIT_EXT_IN_MAX_BKT1_LEN 4
18623 #define MC_CMD_TCM_TXQ_INIT_EXT_IN_MAX_BKT2_LEN 4
18626 #define MC_CMD_TCM_TXQ_INIT_EXT_IN_MIN_BKT_LEN 4
18629 #define MC_CMD_TCM_TXQ_INIT_EXT_IN_LABEL_GUARANTEED_LEN 4
18637 * Link a push I/O buffer to a TxQ
18648 #define MC_CMD_LINK_PIOBUF_IN_PIOBUF_HANDLE_LEN 4
18649 /* Function Local Instance (VI) number which has a TxQ allocated to it. */
18650 #define MC_CMD_LINK_PIOBUF_IN_TXQ_INSTANCE_OFST 4
18651 #define MC_CMD_LINK_PIOBUF_IN_TXQ_INSTANCE_LEN 4
18659 * Unlink a push I/O buffer from a TxQ
18667 #define MC_CMD_UNLINK_PIOBUF_IN_LEN 4
18670 #define MC_CMD_UNLINK_PIOBUF_IN_TXQ_INSTANCE_LEN 4
18678 * allocate and initialise a v-switch.
18689 #define MC_CMD_VSWITCH_ALLOC_IN_UPSTREAM_PORT_ID_LEN 4
18691 #define MC_CMD_VSWITCH_ALLOC_IN_TYPE_OFST 4
18692 #define MC_CMD_VSWITCH_ALLOC_IN_TYPE_LEN 4
18705 #define MC_CMD_VSWITCH_ALLOC_IN_FLAGS_LEN 4
18717 #define MC_CMD_VSWITCH_ALLOC_IN_NUM_VLAN_TAGS_LEN 4
18725 * de-allocate a v-switch.
18733 #define MC_CMD_VSWITCH_FREE_IN_LEN 4
18736 #define MC_CMD_VSWITCH_FREE_IN_UPSTREAM_PORT_ID_LEN 4
18745 * It may be used to check if a v-switch is connected to a given EVB port (if
18754 #define MC_CMD_VSWITCH_QUERY_IN_LEN 4
18757 #define MC_CMD_VSWITCH_QUERY_IN_UPSTREAM_PORT_ID_LEN 4
18765 * allocate a v-port.
18776 #define MC_CMD_VPORT_ALLOC_IN_UPSTREAM_PORT_ID_LEN 4
18778 #define MC_CMD_VPORT_ALLOC_IN_TYPE_OFST 4
18779 #define MC_CMD_VPORT_ALLOC_IN_TYPE_LEN 4
18786 /* enum: A normal v-port receives packets which match a specified MAC and/or
18800 #define MC_CMD_VPORT_ALLOC_IN_FLAGS_LEN 4
18812 #define MC_CMD_VPORT_ALLOC_IN_NUM_VLAN_TAGS_LEN 4
18815 #define MC_CMD_VPORT_ALLOC_IN_VLAN_TAGS_LEN 4
18824 #define MC_CMD_VPORT_ALLOC_OUT_LEN 4
18827 #define MC_CMD_VPORT_ALLOC_OUT_VPORT_ID_LEN 4
18832 * de-allocate a v-port.
18840 #define MC_CMD_VPORT_FREE_IN_LEN 4
18843 #define MC_CMD_VPORT_FREE_IN_VPORT_ID_LEN 4
18851 * allocate a v-adaptor.
18862 #define MC_CMD_VADAPTOR_ALLOC_IN_UPSTREAM_PORT_ID_LEN 4
18865 #define MC_CMD_VADAPTOR_ALLOC_IN_FLAGS_LEN 4
18874 #define MC_CMD_VADAPTOR_ALLOC_IN_NUM_VLANS_LEN 4
18877 #define MC_CMD_VADAPTOR_ALLOC_IN_NUM_VLAN_TAGS_LEN 4
18880 #define MC_CMD_VADAPTOR_ALLOC_IN_VLAN_TAGS_LEN 4
18899 * de-allocate a v-adaptor.
18907 #define MC_CMD_VADAPTOR_FREE_IN_LEN 4
18910 #define MC_CMD_VADAPTOR_FREE_IN_UPSTREAM_PORT_ID_LEN 4
18918 * assign a new MAC address to a v-adaptor.
18929 #define MC_CMD_VADAPTOR_SET_MAC_IN_UPSTREAM_PORT_ID_LEN 4
18931 #define MC_CMD_VADAPTOR_SET_MAC_IN_MACADDR_OFST 4
18940 * read the MAC address assigned to a v-adaptor.
18948 #define MC_CMD_VADAPTOR_GET_MAC_IN_LEN 4
18951 #define MC_CMD_VADAPTOR_GET_MAC_IN_UPSTREAM_PORT_ID_LEN 4
18970 #define MC_CMD_VADAPTOR_QUERY_IN_LEN 4
18973 #define MC_CMD_VADAPTOR_QUERY_IN_UPSTREAM_PORT_ID_LEN 4
18979 #define MC_CMD_VADAPTOR_QUERY_OUT_PORT_FLAGS_LEN 4
18981 #define MC_CMD_VADAPTOR_QUERY_OUT_VADAPTOR_FLAGS_OFST 4
18982 #define MC_CMD_VADAPTOR_QUERY_OUT_VADAPTOR_FLAGS_LEN 4
18985 #define MC_CMD_VADAPTOR_QUERY_OUT_NUM_AVAILABLE_VLAN_TAGS_LEN 4
18990 * assign a port to a PCI function.
19001 #define MC_CMD_EVB_PORT_ASSIGN_IN_PORT_ID_LEN 4
19003 #define MC_CMD_EVB_PORT_ASSIGN_IN_FUNCTION_OFST 4
19004 #define MC_CMD_EVB_PORT_ASSIGN_IN_FUNCTION_LEN 4
19005 #define MC_CMD_EVB_PORT_ASSIGN_IN_PF_OFST 4
19008 #define MC_CMD_EVB_PORT_ASSIGN_IN_VF_OFST 4
19028 #define MC_CMD_RDWR_A64_REGIONS_IN_REGION0_LEN 4
19029 #define MC_CMD_RDWR_A64_REGIONS_IN_REGION1_OFST 4
19030 #define MC_CMD_RDWR_A64_REGIONS_IN_REGION1_LEN 4
19032 #define MC_CMD_RDWR_A64_REGIONS_IN_REGION2_LEN 4
19034 #define MC_CMD_RDWR_A64_REGIONS_IN_REGION3_LEN 4
19037 #define MC_CMD_RDWR_A64_REGIONS_IN_WRITE_MASK_WIDTH 4
19046 #define MC_CMD_RDWR_A64_REGIONS_OUT_REGION0_LEN 4
19047 #define MC_CMD_RDWR_A64_REGIONS_OUT_REGION1_OFST 4
19048 #define MC_CMD_RDWR_A64_REGIONS_OUT_REGION1_LEN 4
19050 #define MC_CMD_RDWR_A64_REGIONS_OUT_REGION2_LEN 4
19052 #define MC_CMD_RDWR_A64_REGIONS_OUT_REGION3_LEN 4
19065 #define MC_CMD_ONLOAD_STACK_ALLOC_IN_LEN 4
19068 #define MC_CMD_ONLOAD_STACK_ALLOC_IN_UPSTREAM_PORT_ID_LEN 4
19071 #define MC_CMD_ONLOAD_STACK_ALLOC_OUT_LEN 4
19074 #define MC_CMD_ONLOAD_STACK_ALLOC_OUT_ONLOAD_STACK_ID_LEN 4
19087 #define MC_CMD_ONLOAD_STACK_FREE_IN_LEN 4
19090 #define MC_CMD_ONLOAD_STACK_FREE_IN_ONLOAD_STACK_ID_LEN 4
19109 #define MC_CMD_RSS_CONTEXT_ALLOC_IN_UPSTREAM_PORT_ID_LEN 4
19111 #define MC_CMD_RSS_CONTEXT_ALLOC_IN_TYPE_OFST 4
19112 #define MC_CMD_RSS_CONTEXT_ALLOC_IN_TYPE_LEN 4
19113 /* enum: Allocate a context for exclusive use. The key and indirection table
19117 /* enum: Allocate a context for shared use; this will spread across a range of
19119 * changed. For this mode, NUM_QUEUES must 2, 4, 8, 16, 32 or 64.
19122 /* enum: Allocate a context to spread evenly across an arbitrary number of
19135 * be useful as a way of obtaining the Toeplitz hash.
19138 #define MC_CMD_RSS_CONTEXT_ALLOC_IN_NUM_QUEUES_LEN 4
19144 #define MC_CMD_RSS_CONTEXT_ALLOC_V2_IN_UPSTREAM_PORT_ID_LEN 4
19146 #define MC_CMD_RSS_CONTEXT_ALLOC_V2_IN_TYPE_OFST 4
19147 #define MC_CMD_RSS_CONTEXT_ALLOC_V2_IN_TYPE_LEN 4
19148 /* enum: Allocate a context for exclusive use. The key and indirection table
19152 /* enum: Allocate a context for shared use; this will spread across a range of
19154 * changed. For this mode, NUM_QUEUES must 2, 4, 8, 16, 32 or 64.
19157 /* enum: Allocate a context to spread evenly across an arbitrary number of
19170 * be useful as a way of obtaining the Toeplitz hash.
19173 #define MC_CMD_RSS_CONTEXT_ALLOC_V2_IN_NUM_QUEUES_LEN 4
19175 * Must be a power of 2. The minimum and maximum table size can be queried
19182 #define MC_CMD_RSS_CONTEXT_ALLOC_V2_IN_INDIRECTION_TABLE_SIZE_LEN 4
19185 #define MC_CMD_RSS_CONTEXT_ALLOC_OUT_LEN 4
19187 * host, although a value of 0xFFFFFFFF is guaranteed never to be a valid
19191 #define MC_CMD_RSS_CONTEXT_ALLOC_OUT_RSS_CONTEXT_ID_LEN 4
19206 #define MC_CMD_RSS_CONTEXT_FREE_IN_LEN 4
19209 #define MC_CMD_RSS_CONTEXT_FREE_IN_RSS_CONTEXT_ID_LEN 4
19228 #define MC_CMD_RSS_CONTEXT_SET_KEY_IN_RSS_CONTEXT_ID_LEN 4
19230 #define MC_CMD_RSS_CONTEXT_SET_KEY_IN_TOEPLITZ_KEY_OFST 4
19247 #define MC_CMD_RSS_CONTEXT_GET_KEY_IN_LEN 4
19250 #define MC_CMD_RSS_CONTEXT_GET_KEY_IN_RSS_CONTEXT_ID_LEN 4
19255 #define MC_CMD_RSS_CONTEXT_GET_KEY_OUT_TOEPLITZ_KEY_OFST 4
19263 * when the RSS context is allocated without specifying a table size.
19274 #define MC_CMD_RSS_CONTEXT_SET_TABLE_IN_RSS_CONTEXT_ID_LEN 4
19276 #define MC_CMD_RSS_CONTEXT_SET_TABLE_IN_INDIRECTION_TABLE_OFST 4
19287 * when the RSS context is allocated without specifying a table size.
19295 #define MC_CMD_RSS_CONTEXT_GET_TABLE_IN_LEN 4
19298 #define MC_CMD_RSS_CONTEXT_GET_TABLE_IN_RSS_CONTEXT_ID_LEN 4
19303 #define MC_CMD_RSS_CONTEXT_GET_TABLE_OUT_INDIRECTION_TABLE_OFST 4
19309 * Write a portion of a selectable-size indirection table for an RSS context.
19322 #define MC_CMD_RSS_CONTEXT_WRITE_TABLE_IN_LEN(num) (4+4*(num))
19323 #define MC_CMD_RSS_CONTEXT_WRITE_TABLE_IN_ENTRIES_NUM(len) (((len)-4)/4)
19326 #define MC_CMD_RSS_CONTEXT_WRITE_TABLE_IN_RSS_CONTEXT_ID_LEN 4
19330 #define MC_CMD_RSS_CONTEXT_WRITE_TABLE_IN_ENTRIES_OFST 4
19331 #define MC_CMD_RSS_CONTEXT_WRITE_TABLE_IN_ENTRIES_LEN 4
19340 #define MC_CMD_RSS_CONTEXT_WRITE_TABLE_ENTRY_LEN 4
19355 * Read a portion of a selectable-size indirection table for an RSS context.
19368 #define MC_CMD_RSS_CONTEXT_READ_TABLE_IN_LEN(num) (4+2*(num))
19369 #define MC_CMD_RSS_CONTEXT_READ_TABLE_IN_INDICES_NUM(len) (((len)-4)/2)
19372 #define MC_CMD_RSS_CONTEXT_READ_TABLE_IN_RSS_CONTEXT_ID_LEN 4
19374 #define MC_CMD_RSS_CONTEXT_READ_TABLE_IN_INDICES_OFST 4
19386 /* A buffer containing the requested entries read from the table. */
19407 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_RSS_CONTEXT_ID_LEN 4
19414 * reject any attempt to set the FLAGS field to a value > 0xff with EINVAL. In
19420 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_FLAGS_OFST 4
19421 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_FLAGS_LEN 4
19422 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_IPV4_EN_OFST 4
19425 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_TCPV4_EN_OFST 4
19428 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_IPV6_EN_OFST 4
19431 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TOEPLITZ_TCPV6_EN_OFST 4
19434 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_RESERVED_OFST 4
19435 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_RESERVED_LBN 4
19436 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_RESERVED_WIDTH 4
19437 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TCP_IPV4_RSS_MODE_OFST 4
19439 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TCP_IPV4_RSS_MODE_WIDTH 4
19440 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_UDP_IPV4_RSS_MODE_OFST 4
19442 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_UDP_IPV4_RSS_MODE_WIDTH 4
19443 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_OTHER_IPV4_RSS_MODE_OFST 4
19445 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_OTHER_IPV4_RSS_MODE_WIDTH 4
19446 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TCP_IPV6_RSS_MODE_OFST 4
19448 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TCP_IPV6_RSS_MODE_WIDTH 4
19449 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_UDP_IPV6_RSS_MODE_OFST 4
19451 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_UDP_IPV6_RSS_MODE_WIDTH 4
19452 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_OTHER_IPV6_RSS_MODE_OFST 4
19454 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_OTHER_IPV6_RSS_MODE_WIDTH 4
19470 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_IN_LEN 4
19473 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_IN_RSS_CONTEXT_ID_LEN 4
19482 * guaranteed to be consistent with the _EN flags for a freshly-allocated RSS
19487 * mode by looking only at the _MODE bits; the value returned by a GET can
19488 * always be used for a SET regardless of old/new driver vs. old/new firmware.
19490 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_FLAGS_OFST 4
19491 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_FLAGS_LEN 4
19492 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_IPV4_EN_OFST 4
19495 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_TCPV4_EN_OFST 4
19498 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_IPV6_EN_OFST 4
19501 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TOEPLITZ_TCPV6_EN_OFST 4
19504 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_RESERVED_OFST 4
19505 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_RESERVED_LBN 4
19506 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_RESERVED_WIDTH 4
19507 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TCP_IPV4_RSS_MODE_OFST 4
19509 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TCP_IPV4_RSS_MODE_WIDTH 4
19510 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_UDP_IPV4_RSS_MODE_OFST 4
19512 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_UDP_IPV4_RSS_MODE_WIDTH 4
19513 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_OTHER_IPV4_RSS_MODE_OFST 4
19515 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_OTHER_IPV4_RSS_MODE_WIDTH 4
19516 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TCP_IPV6_RSS_MODE_OFST 4
19518 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TCP_IPV6_RSS_MODE_WIDTH 4
19519 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_UDP_IPV6_RSS_MODE_OFST 4
19521 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_UDP_IPV6_RSS_MODE_WIDTH 4
19522 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_OTHER_IPV6_RSS_MODE_OFST 4
19524 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_OTHER_IPV6_RSS_MODE_WIDTH 4
19529 * Allocate a .1p mapping.
19540 #define MC_CMD_DOT1P_MAPPING_ALLOC_IN_UPSTREAM_PORT_ID_LEN 4
19545 #define MC_CMD_DOT1P_MAPPING_ALLOC_IN_NUM_QUEUES_OFST 4
19546 #define MC_CMD_DOT1P_MAPPING_ALLOC_IN_NUM_QUEUES_LEN 4
19549 #define MC_CMD_DOT1P_MAPPING_ALLOC_OUT_LEN 4
19551 * host, although a value of 0xFFFFFFFF is guaranteed never to be a valid
19555 #define MC_CMD_DOT1P_MAPPING_ALLOC_OUT_DOT1P_MAPPING_ID_LEN 4
19562 * Free a .1p mapping.
19570 #define MC_CMD_DOT1P_MAPPING_FREE_IN_LEN 4
19573 #define MC_CMD_DOT1P_MAPPING_FREE_IN_DOT1P_MAPPING_ID_LEN 4
19581 * Set the mapping table for a .1p mapping.
19592 #define MC_CMD_DOT1P_MAPPING_SET_TABLE_IN_DOT1P_MAPPING_ID_LEN 4
19596 #define MC_CMD_DOT1P_MAPPING_SET_TABLE_IN_MAPPING_TABLE_OFST 4
19605 * Get the mapping table for a .1p mapping.
19613 #define MC_CMD_DOT1P_MAPPING_GET_TABLE_IN_LEN 4
19616 #define MC_CMD_DOT1P_MAPPING_GET_TABLE_IN_DOT1P_MAPPING_ID_LEN 4
19623 #define MC_CMD_DOT1P_MAPPING_GET_TABLE_OUT_MAPPING_TABLE_OFST 4
19643 #define MC_CMD_GET_VECTOR_CFG_OUT_VEC_BASE_LEN 4
19645 #define MC_CMD_GET_VECTOR_CFG_OUT_VECS_PER_PF_OFST 4
19646 #define MC_CMD_GET_VECTOR_CFG_OUT_VECS_PER_PF_LEN 4
19649 #define MC_CMD_GET_VECTOR_CFG_OUT_VECS_PER_VF_LEN 4
19664 * let the system find a suitable base.
19667 #define MC_CMD_SET_VECTOR_CFG_IN_VEC_BASE_LEN 4
19669 #define MC_CMD_SET_VECTOR_CFG_IN_VECS_PER_PF_OFST 4
19670 #define MC_CMD_SET_VECTOR_CFG_IN_VECS_PER_PF_LEN 4
19673 #define MC_CMD_SET_VECTOR_CFG_IN_VECS_PER_VF_LEN 4
19681 * Add a MAC address to a v-port
19692 #define MC_CMD_VPORT_ADD_MAC_ADDRESS_IN_VPORT_ID_LEN 4
19694 #define MC_CMD_VPORT_ADD_MAC_ADDRESS_IN_MACADDR_OFST 4
19703 * Delete a MAC address from a v-port
19714 #define MC_CMD_VPORT_DEL_MAC_ADDRESS_IN_VPORT_ID_LEN 4
19716 #define MC_CMD_VPORT_DEL_MAC_ADDRESS_IN_MACADDR_OFST 4
19725 * Delete a MAC address from a v-port
19733 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_IN_LEN 4
19736 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_IN_VPORT_ID_LEN 4
19739 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_LENMIN 4
19742 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_LEN(num) (4+6*(num))
19743 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_MACADDR_NUM(len) (((len)-4)/6)
19746 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_MACADDR_COUNT_LEN 4
19748 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_MACADDR_OFST 4
19770 #define MC_CMD_VPORT_RECONFIGURE_IN_VPORT_ID_LEN 4
19772 #define MC_CMD_VPORT_RECONFIGURE_IN_FLAGS_OFST 4
19773 #define MC_CMD_VPORT_RECONFIGURE_IN_FLAGS_LEN 4
19774 #define MC_CMD_VPORT_RECONFIGURE_IN_REPLACE_VLAN_TAGS_OFST 4
19777 #define MC_CMD_VPORT_RECONFIGURE_IN_REPLACE_MACADDRS_OFST 4
19785 #define MC_CMD_VPORT_RECONFIGURE_IN_NUM_VLAN_TAGS_LEN 4
19788 #define MC_CMD_VPORT_RECONFIGURE_IN_VLAN_TAGS_LEN 4
19797 #define MC_CMD_VPORT_RECONFIGURE_IN_NUM_MACADDRS_LEN 4
19801 #define MC_CMD_VPORT_RECONFIGURE_IN_MACADDRS_NUM 4
19804 #define MC_CMD_VPORT_RECONFIGURE_OUT_LEN 4
19806 #define MC_CMD_VPORT_RECONFIGURE_OUT_FLAGS_LEN 4
19822 #define MC_CMD_EVB_PORT_QUERY_IN_LEN 4
19825 #define MC_CMD_EVB_PORT_QUERY_IN_PORT_ID_LEN 4
19831 #define MC_CMD_EVB_PORT_QUERY_OUT_PORT_FLAGS_LEN 4
19832 /* The number of VLAN tags that may be used on a v-adaptor connected to this
19835 #define MC_CMD_EVB_PORT_QUERY_OUT_NUM_AVAILABLE_VLAN_TAGS_OFST 4
19836 #define MC_CMD_EVB_PORT_QUERY_OUT_NUM_AVAILABLE_VLAN_TAGS_LEN 4
19855 #define MC_CMD_DUMP_BUFTBL_ENTRIES_IN_FIRSTID_LEN 4
19857 #define MC_CMD_DUMP_BUFTBL_ENTRIES_IN_NUMENTRIES_OFST 4
19858 #define MC_CMD_DUMP_BUFTBL_ENTRIES_IN_NUMENTRIES_LEN 4
19884 #define MC_CMD_SET_RXDP_CONFIG_IN_LEN 4
19886 #define MC_CMD_SET_RXDP_CONFIG_IN_DATA_LEN 4
19917 #define MC_CMD_GET_RXDP_CONFIG_OUT_LEN 4
19919 #define MC_CMD_GET_RXDP_CONFIG_OUT_DATA_LEN 4
19946 #define MC_CMD_GET_CLOCK_OUT_SYS_FREQ_LEN 4
19948 #define MC_CMD_GET_CLOCK_OUT_DPCPU_FREQ_OFST 4
19949 #define MC_CMD_GET_CLOCK_OUT_DPCPU_FREQ_LEN 4
19965 #define MC_CMD_SET_CLOCK_IN_SYS_FREQ_LEN 4
19969 #define MC_CMD_SET_CLOCK_IN_ICORE_FREQ_OFST 4
19970 #define MC_CMD_SET_CLOCK_IN_ICORE_FREQ_LEN 4
19975 #define MC_CMD_SET_CLOCK_IN_DPCPU_FREQ_LEN 4
19980 #define MC_CMD_SET_CLOCK_IN_PCS_FREQ_LEN 4
19985 #define MC_CMD_SET_CLOCK_IN_MC_FREQ_LEN 4
19990 #define MC_CMD_SET_CLOCK_IN_RMON_FREQ_LEN 4
19995 #define MC_CMD_SET_CLOCK_IN_VSWITCH_FREQ_LEN 4
20003 #define MC_CMD_SET_CLOCK_OUT_SYS_FREQ_LEN 4
20007 #define MC_CMD_SET_CLOCK_OUT_ICORE_FREQ_OFST 4
20008 #define MC_CMD_SET_CLOCK_OUT_ICORE_FREQ_LEN 4
20013 #define MC_CMD_SET_CLOCK_OUT_DPCPU_FREQ_LEN 4
20018 #define MC_CMD_SET_CLOCK_OUT_PCS_FREQ_LEN 4
20023 #define MC_CMD_SET_CLOCK_OUT_MC_FREQ_LEN 4
20028 #define MC_CMD_SET_CLOCK_OUT_RMON_FREQ_LEN 4
20033 #define MC_CMD_SET_CLOCK_OUT_VSWITCH_FREQ_LEN 4
20050 #define MC_CMD_DPCPU_RPC_IN_CPU_LEN 4
20070 #define MC_CMD_DPCPU_RPC_IN_DATA_OFST 4
20072 #define MC_CMD_DPCPU_RPC_IN_HDR_CMD_CMDNUM_OFST 4
20084 #define MC_CMD_DPCPU_RPC_IN_HDR_CMD_REQ_OBJID_OFST 4
20087 #define MC_CMD_DPCPU_RPC_IN_HDR_CMD_REQ_ADDR_OFST 4
20090 #define MC_CMD_DPCPU_RPC_IN_HDR_CMD_REQ_COUNT_OFST 4
20093 #define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_INFO_OFST 4
20096 #define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_CMD_OFST 4
20104 #define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_START_DELAY_OFST 4
20107 #define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_RPT_COUNT_OFST 4
20110 #define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_GAP_DELAY_OFST 4
20113 #define MC_CMD_DPCPU_RPC_IN_MC_REPLAY_MODE_OFST 4
20119 #define MC_CMD_DPCPU_RPC_IN_MC_REPLAY_CNTXT_OFST 4
20126 #define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_DATA_LEN 4
20129 #define MC_CMD_DPCPU_RPC_IN_CSR_ACCESS_ADDRESS_LEN 4
20134 #define MC_CMD_DPCPU_RPC_OUT_RC_LEN 4
20136 #define MC_CMD_DPCPU_RPC_OUT_DATA_OFST 4
20138 #define MC_CMD_DPCPU_RPC_OUT_HDR_CMD_RESP_ERRCODE_OFST 4
20141 #define MC_CMD_DPCPU_RPC_OUT_CSR_ACCESS_READ_COUNT_OFST 4
20147 #define MC_CMD_DPCPU_RPC_OUT_CSR_ACCESS_READ_VAL_1_LEN 4
20149 #define MC_CMD_DPCPU_RPC_OUT_CSR_ACCESS_READ_VAL_2_LEN 4
20151 #define MC_CMD_DPCPU_RPC_OUT_CSR_ACCESS_READ_VAL_3_LEN 4
20153 #define MC_CMD_DPCPU_RPC_OUT_CSR_ACCESS_READ_VAL_4_LEN 4
20166 #define MC_CMD_TRIGGER_INTERRUPT_IN_LEN 4
20169 #define MC_CMD_TRIGGER_INTERRUPT_IN_INTR_LEVEL_LEN 4
20185 #define MC_CMD_SHMBOOT_OP_IN_LEN 4
20188 #define MC_CMD_SHMBOOT_OP_IN_SHMBOOT_OP_LEN 4
20208 #define MC_CMD_CAP_BLK_READ_IN_CAP_REG_LEN 4
20209 #define MC_CMD_CAP_BLK_READ_IN_ADDR_OFST 4
20210 #define MC_CMD_CAP_BLK_READ_IN_ADDR_LEN 4
20212 #define MC_CMD_CAP_BLK_READ_IN_COUNT_LEN 4
20223 #define MC_CMD_CAP_BLK_READ_OUT_BUFFER_LO_LEN 4
20226 #define MC_CMD_CAP_BLK_READ_OUT_BUFFER_HI_OFST 4
20227 #define MC_CMD_CAP_BLK_READ_OUT_BUFFER_HI_LEN 4
20237 * Take a dump of the DUT state
20247 #define MC_CMD_DUMP_DO_IN_PADDING_LEN 4
20248 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_OFST 4
20249 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_LEN 4
20253 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_TYPE_LEN 4
20259 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_NVRAM_PARTITION_TYPE_ID_LEN 4
20261 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_NVRAM_OFFSET_LEN 4
20263 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_ADDR_LO_LEN 4
20265 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_ADDR_HI_LEN 4
20267 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_LO_LEN 4
20270 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_HI_LEN 4
20272 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_DEPTH_LEN 4
20275 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_UART_PORT_LEN 4
20276 /* enum: The uart port this command was received over (if using a uart
20281 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_SIZE_LEN 4
20283 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_LEN 4
20287 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_TYPE_LEN 4
20291 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_NVRAM_PARTITION_TYPE_ID_LEN 4
20293 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_NVRAM_OFFSET_LEN 4
20295 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_ADDR_LO_LEN 4
20297 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_ADDR_HI_LEN 4
20299 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_LO_LEN 4
20301 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_HI_LEN 4
20303 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_DEPTH_LEN 4
20305 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_UART_PORT_LEN 4
20307 #define MC_CMD_DUMP_DO_IN_DUMPFILE_DST_CUSTOM_SIZE_LEN 4
20310 #define MC_CMD_DUMP_DO_OUT_LEN 4
20312 #define MC_CMD_DUMP_DO_OUT_DUMPFILE_SIZE_LEN 4
20327 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_ENABLE_LEN 4
20328 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_OFST 4
20329 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_LEN 4
20333 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_TYPE_LEN 4
20337 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_NVRAM_PARTITION_TYPE_ID_LEN 4
20339 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_NVRAM_OFFSET_LEN 4
20341 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_ADDR_LO_LEN 4
20343 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_ADDR_HI_LEN 4
20345 …e MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_LO_LEN 4
20347 …e MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_HI_LEN 4
20349 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_DEPTH_LEN 4
20351 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_UART_PORT_LEN 4
20353 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_SIZE_LEN 4
20355 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_LEN 4
20359 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_TYPE_LEN 4
20363 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_NVRAM_PARTITION_TYPE_ID_LEN 4
20365 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_NVRAM_OFFSET_LEN 4
20367 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_ADDR_LO_LEN 4
20369 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_ADDR_HI_LEN 4
20371 …e MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_LO_LEN 4
20373 …e MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_ROOT_ADDR_HI_LEN 4
20375 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_HOST_MEMORY_MLI_DEPTH_LEN 4
20377 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_UART_PORT_LEN 4
20379 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPFILE_DST_CUSTOM_SIZE_LEN 4
20384 * Adjusts power supply parameters. This is a warranty-voiding operation.
20396 #define MC_CMD_SET_PSU_IN_PARAM_LEN 4
20398 #define MC_CMD_SET_PSU_IN_RAIL_OFST 4
20399 #define MC_CMD_SET_PSU_IN_RAIL_LEN 4
20404 #define MC_CMD_SET_PSU_IN_VALUE_LEN 4
20425 #define MC_CMD_GET_FUNCTION_INFO_OUT_PF_LEN 4
20426 #define MC_CMD_GET_FUNCTION_INFO_OUT_VF_OFST 4
20427 #define MC_CMD_GET_FUNCTION_INFO_OUT_VF_LEN 4
20432 #define MC_CMD_GET_FUNCTION_INFO_OUT_V2_PF_LEN 4
20433 #define MC_CMD_GET_FUNCTION_INFO_OUT_V2_VF_OFST 4
20434 #define MC_CMD_GET_FUNCTION_INFO_OUT_V2_VF_LEN 4
20435 /* Values from PCIE_INTERFACE enumeration. For NICs with a single interface, or
20436 * in the case of a V1 response, this should be HOST_PRIMARY.
20439 #define MC_CMD_GET_FUNCTION_INFO_OUT_V2_INTF_LEN 4
20462 * Send checksummed[sic] block of data over the uart. Response is a placeholder
20479 #define MC_CMD_UART_SEND_DATA_OUT_CHECKSUM_LEN 4
20481 #define MC_CMD_UART_SEND_DATA_OUT_OFFSET_OFST 4
20482 #define MC_CMD_UART_SEND_DATA_OUT_OFFSET_LEN 4
20485 #define MC_CMD_UART_SEND_DATA_OUT_LENGTH_LEN 4
20488 #define MC_CMD_UART_SEND_DATA_OUT_RESERVED_LEN 4
20501 * Request checksummed[sic] block of data over the uart. Only a placeholder,
20513 #define MC_CMD_UART_RECV_DATA_OUT_CHECKSUM_LEN 4
20515 #define MC_CMD_UART_RECV_DATA_OUT_OFFSET_OFST 4
20516 #define MC_CMD_UART_RECV_DATA_OUT_OFFSET_LEN 4
20519 #define MC_CMD_UART_RECV_DATA_OUT_LENGTH_LEN 4
20522 #define MC_CMD_UART_RECV_DATA_OUT_RESERVED_LEN 4
20532 #define MC_CMD_UART_RECV_DATA_IN_CHECKSUM_LEN 4
20534 #define MC_CMD_UART_RECV_DATA_IN_RESERVED1_OFST 4
20535 #define MC_CMD_UART_RECV_DATA_IN_RESERVED1_LEN 4
20538 #define MC_CMD_UART_RECV_DATA_IN_RESERVED2_LEN 4
20541 #define MC_CMD_UART_RECV_DATA_IN_RESERVED3_LEN 4
20562 #define MC_CMD_READ_FUSES_IN_OFFSET_LEN 4
20564 #define MC_CMD_READ_FUSES_IN_LENGTH_OFST 4
20565 #define MC_CMD_READ_FUSES_IN_LENGTH_LEN 4
20568 #define MC_CMD_READ_FUSES_OUT_LENMIN 4
20571 #define MC_CMD_READ_FUSES_OUT_LEN(num) (4+1*(num))
20572 #define MC_CMD_READ_FUSES_OUT_DATA_NUM(len) (((len)-4)/1)
20575 #define MC_CMD_READ_FUSES_OUT_LENGTH_LEN 4
20577 #define MC_CMD_READ_FUSES_OUT_DATA_OFST 4
20594 #define MC_CMD_KR_TUNE_IN_LENMIN 4
20597 #define MC_CMD_KR_TUNE_IN_LEN(num) (4+4*(num))
20598 #define MC_CMD_KR_TUNE_IN_KR_TUNE_ARGS_NUM(len) (((len)-4)/4)
20612 /* enum: Start KR Serdes Eye diagram plot on a given lane. Lane must have valid
20631 #define MC_CMD_KR_TUNE_IN_KR_TUNE_ARGS_OFST 4
20632 #define MC_CMD_KR_TUNE_IN_KR_TUNE_ARGS_LEN 4
20641 #define MC_CMD_KR_TUNE_RXEQ_GET_IN_LEN 4
20650 #define MC_CMD_KR_TUNE_RXEQ_GET_OUT_LENMIN 4
20653 #define MC_CMD_KR_TUNE_RXEQ_GET_OUT_LEN(num) (0+4*(num))
20654 #define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_NUM(len) (((len)-0)/4)
20657 #define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_LEN 4
20728 /* enum: I/Q clk offset (Medford2 - 4 bit signed (-5 - +5))) */
20750 /* enum: CTLE Boost stages - retimer lineside (Medford2 with DS250x retimer - 4
20769 /* enum: CTLE Boost stages - retimer hostside (Medford2 with DS250x retimer - 4
20801 #define MC_CMD_KR_TUNE_RXEQ_GET_OUT_RESERVED_WIDTH 4
20813 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_LEN(num) (4+4*(num))
20814 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_NUM(len) (((len)-4)/4)
20822 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_OFST 4
20823 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_LEN 4
20827 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_ID_OFST 4
20832 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_LANE_OFST 4
20837 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_AUTOCAL_OFST 4
20840 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_RESERVED_OFST 4
20842 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_RESERVED_WIDTH 4
20843 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_INITIAL_OFST 4
20846 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_RESERVED2_OFST 4
20854 #define MC_CMD_KR_TUNE_TXEQ_GET_IN_LEN 4
20863 #define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LENMIN 4
20866 #define MC_CMD_KR_TUNE_TXEQ_GET_OUT_LEN(num) (0+4*(num))
20867 #define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_NUM(len) (((len)-0)/4)
20870 #define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_LEN 4
20937 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_LEN(num) (4+4*(num))
20938 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_NUM(len) (((len)-4)/4)
20946 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_OFST 4
20947 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_LEN 4
20951 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_ID_OFST 4
20956 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_LANE_OFST 4
20961 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_RESERVED_OFST 4
20964 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_INITIAL_OFST 4
20967 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_RESERVED2_OFST 4
20975 #define MC_CMD_KR_TUNE_RECAL_IN_LEN 4
20995 #define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_LANE_OFST 4
20996 #define MC_CMD_KR_TUNE_START_EYE_PLOT_IN_LANE_LEN 4
21006 #define MC_CMD_KR_TUNE_START_EYE_PLOT_V2_IN_LANE_OFST 4
21007 #define MC_CMD_KR_TUNE_START_EYE_PLOT_V2_IN_LANE_LEN 4
21008 #define MC_CMD_KR_TUNE_START_EYE_PLOT_V2_IN_LANE_NUM_OFST 4
21011 #define MC_CMD_KR_TUNE_START_EYE_PLOT_V2_IN_LANE_ABS_REL_OFST 4
21016 #define MC_CMD_KR_TUNE_START_EYE_PLOT_V2_IN_BER_LEN 4
21022 #define MC_CMD_KR_TUNE_POLL_EYE_PLOT_IN_LEN 4
21050 #define MC_CMD_KR_TUNE_READ_FOM_IN_LANE_OFST 4
21051 #define MC_CMD_KR_TUNE_READ_FOM_IN_LANE_LEN 4
21052 #define MC_CMD_KR_TUNE_READ_FOM_IN_LANE_NUM_OFST 4
21055 #define MC_CMD_KR_TUNE_READ_FOM_IN_LANE_ABS_REL_OFST 4
21060 #define MC_CMD_KR_TUNE_READ_FOM_OUT_LEN 4
21062 #define MC_CMD_KR_TUNE_READ_FOM_OUT_FOM_LEN 4
21072 #define MC_CMD_KR_TUNE_LINK_TRAIN_RUN_IN_RUN_OFST 4
21073 #define MC_CMD_KR_TUNE_LINK_TRAIN_RUN_IN_RUN_LEN 4
21085 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_LANE_OFST 4
21086 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_LANE_LEN 4
21089 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_INITIALIZE_LEN 4
21092 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_PRESET_LEN 4
21095 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_CM1_LEN 4
21101 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_C0_LEN 4
21106 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_CP1_LEN 4
21114 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_CM1_STATUS_LEN 4
21120 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_C0_STATUS_OFST 4
21121 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_C0_STATUS_LEN 4
21126 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_CP1_STATUS_LEN 4
21131 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_CM1_VALUE_LEN 4
21134 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_C0_VALUE_LEN 4
21137 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_CP1_VALUE_LEN 4
21150 #define MC_CMD_PCIE_TUNE_IN_LENMIN 4
21153 #define MC_CMD_PCIE_TUNE_IN_LEN(num) (4+4*(num))
21154 #define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_ARGS_NUM(len) (((len)-4)/4)
21166 /* enum: Start PCIe Serdes Eye diagram plot on a given lane. */
21173 /* enum: Enable the SERDES BIST and set it to generate a 200MHz square wave */
21179 #define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_ARGS_OFST 4
21180 #define MC_CMD_PCIE_TUNE_IN_PCIE_TUNE_ARGS_LEN 4
21189 #define MC_CMD_PCIE_TUNE_RXEQ_GET_IN_LEN 4
21198 #define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LENMIN 4
21201 #define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_LEN(num) (0+4*(num))
21202 #define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_PARAM_NUM(len) (((len)-0)/4)
21205 #define MC_CMD_PCIE_TUNE_RXEQ_GET_OUT_PARAM_LEN 4
21268 #define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_LEN(num) (4+4*(num))
21269 #define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_NUM(len) (((len)-4)/4)
21277 #define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_OFST 4
21278 #define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_LEN 4
21282 #define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_ID_OFST 4
21287 #define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_LANE_OFST 4
21292 #define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_AUTOCAL_OFST 4
21295 #define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_RESERVED_OFST 4
21298 #define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_PARAM_INITIAL_OFST 4
21301 #define MC_CMD_PCIE_TUNE_RXEQ_SET_IN_RESERVED2_OFST 4
21309 #define MC_CMD_PCIE_TUNE_TXEQ_GET_IN_LEN 4
21318 #define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_LENMIN 4
21321 #define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_LEN(num) (0+4*(num))
21322 #define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_NUM(len) (((len)-0)/4)
21325 #define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_LEN 4
21344 #define MC_CMD_PCIE_TUNE_TXEQ_GET_OUT_PARAM_LANE_WIDTH 4
21362 #define MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN_LANE_OFST 4
21363 #define MC_CMD_PCIE_TUNE_START_EYE_PLOT_IN_LANE_LEN 4
21369 #define MC_CMD_PCIE_TUNE_POLL_EYE_PLOT_IN_LEN 4
21407 #define MC_CMD_LICENSING_IN_LEN 4
21410 #define MC_CMD_LICENSING_IN_OP_LEN 4
21411 /* enum: re-read and apply licenses after a license key partition update; note
21412 * that this operation returns a zero-length response
21422 #define MC_CMD_LICENSING_OUT_VALID_APP_KEYS_LEN 4
21426 #define MC_CMD_LICENSING_OUT_INVALID_APP_KEYS_OFST 4
21427 #define MC_CMD_LICENSING_OUT_INVALID_APP_KEYS_LEN 4
21430 #define MC_CMD_LICENSING_OUT_BLACKLISTED_APP_KEYS_LEN 4
21433 #define MC_CMD_LICENSING_OUT_UNVERIFIABLE_APP_KEYS_LEN 4
21437 #define MC_CMD_LICENSING_OUT_WRONG_NODE_APP_KEYS_LEN 4
21442 #define MC_CMD_LICENSING_OUT_LICENSING_STATE_LEN 4
21445 #define MC_CMD_LICENSING_OUT_LICENSING_SELF_TEST_LEN 4
21463 #define MC_CMD_LICENSING_V3_IN_LEN 4
21466 #define MC_CMD_LICENSING_V3_IN_OP_LEN 4
21467 /* enum: re-read and apply licenses after a license key partition update; note
21468 * that this operation returns a zero-length response
21480 #define MC_CMD_LICENSING_V3_OUT_VALID_KEYS_LEN 4
21484 #define MC_CMD_LICENSING_V3_OUT_INVALID_KEYS_OFST 4
21485 #define MC_CMD_LICENSING_V3_OUT_INVALID_KEYS_LEN 4
21488 #define MC_CMD_LICENSING_V3_OUT_UNVERIFIABLE_KEYS_LEN 4
21491 #define MC_CMD_LICENSING_V3_OUT_WRONG_NODE_KEYS_LEN 4
21496 #define MC_CMD_LICENSING_V3_OUT_LICENSING_STATE_LEN 4
21499 #define MC_CMD_LICENSING_V3_OUT_LICENSING_SELF_TEST_LEN 4
21508 #define MC_CMD_LICENSING_V3_OUT_LICENSED_APPS_LO_LEN 4
21512 #define MC_CMD_LICENSING_V3_OUT_LICENSED_APPS_HI_LEN 4
21522 #define MC_CMD_LICENSING_V3_OUT_LICENSED_FEATURES_LO_LEN 4
21526 #define MC_CMD_LICENSING_V3_OUT_LICENSED_FEATURES_HI_LEN 4
21555 #define MC_CMD_LICENSING_GET_ID_V3_OUT_LICENSE_TYPE_LEN 4
21557 #define MC_CMD_LICENSING_GET_ID_V3_OUT_LICENSE_ID_LENGTH_OFST 4
21558 #define MC_CMD_LICENSING_GET_ID_V3_OUT_LICENSE_ID_LENGTH_LEN 4
21569 * Execute an arbitrary MCDI command on the slave MC of a dual-core device.
21570 * This will fail on a single-core system.
21588 * or a reboot of the MC.) Not used for V3 licensing
21596 #define MC_CMD_GET_LICENSED_APP_STATE_IN_LEN 4
21599 #define MC_CMD_GET_LICENSED_APP_STATE_IN_APP_ID_LEN 4
21602 #define MC_CMD_GET_LICENSED_APP_STATE_OUT_LEN 4
21605 #define MC_CMD_GET_LICENSED_APP_STATE_OUT_STATE_LEN 4
21608 /* enum: a valid license is present for the application */
21616 * operation or a reboot of the MC.) Used for V3 licensing (Medford)
21625 /* application ID to query (LICENSED_V3_APPS_xxx) expressed as a single bit
21631 #define MC_CMD_GET_LICENSED_V3_APP_STATE_IN_APP_ID_LO_LEN 4
21634 #define MC_CMD_GET_LICENSED_V3_APP_STATE_IN_APP_ID_HI_OFST 4
21635 #define MC_CMD_GET_LICENSED_V3_APP_STATE_IN_APP_ID_HI_LEN 4
21640 #define MC_CMD_GET_LICENSED_V3_APP_STATE_OUT_LEN 4
21643 #define MC_CMD_GET_LICENSED_V3_APP_STATE_OUT_STATE_LEN 4
21646 /* enum: a valid license is present for the application */
21654 * operation or a reboot of the MC.) Used for V3 licensing (Medford)
21663 /* features to query (LICENSED_V3_FEATURES_xxx) expressed as a mask with one or
21669 #define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_IN_FEATURES_LO_LEN 4
21672 #define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_IN_FEATURES_HI_OFST 4
21673 #define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_IN_FEATURES_HI_LEN 4
21683 #define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_OUT_STATES_LO_LEN 4
21686 #define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_OUT_STATES_HI_OFST 4
21687 #define MC_CMD_GET_LICENSED_V3_FEATURE_STATES_OUT_STATES_HI_LEN 4
21706 #define MC_CMD_LICENSED_APP_OP_IN_LEN(num) (8+4*(num))
21707 #define MC_CMD_LICENSED_APP_OP_IN_ARGS_NUM(len) (((len)-8)/4)
21710 #define MC_CMD_LICENSED_APP_OP_IN_APP_ID_LEN 4
21712 #define MC_CMD_LICENSED_APP_OP_IN_OP_OFST 4
21713 #define MC_CMD_LICENSED_APP_OP_IN_OP_LEN 4
21720 #define MC_CMD_LICENSED_APP_OP_IN_ARGS_LEN 4
21729 #define MC_CMD_LICENSED_APP_OP_OUT_LEN(num) (0+4*(num))
21730 #define MC_CMD_LICENSED_APP_OP_OUT_RESULT_NUM(len) (((len)-0)/4)
21733 #define MC_CMD_LICENSED_APP_OP_OUT_RESULT_LEN 4
21742 #define MC_CMD_LICENSED_APP_OP_VALIDATE_IN_APP_ID_LEN 4
21744 #define MC_CMD_LICENSED_APP_OP_VALIDATE_IN_OP_OFST 4
21745 #define MC_CMD_LICENSED_APP_OP_VALIDATE_IN_OP_LEN 4
21754 #define MC_CMD_LICENSED_APP_OP_VALIDATE_OUT_EXPIRY_LEN 4
21756 #define MC_CMD_LICENSED_APP_OP_VALIDATE_OUT_RESPONSE_OFST 4
21763 #define MC_CMD_LICENSED_APP_OP_MASK_IN_APP_ID_LEN 4
21765 #define MC_CMD_LICENSED_APP_OP_MASK_IN_OP_OFST 4
21766 #define MC_CMD_LICENSED_APP_OP_MASK_IN_OP_LEN 4
21769 #define MC_CMD_LICENSED_APP_OP_MASK_IN_FLAG_LEN 4
21790 /* application ID expressed as a single bit mask */
21794 #define MC_CMD_LICENSED_V3_VALIDATE_APP_IN_APP_ID_LO_LEN 4
21798 #define MC_CMD_LICENSED_V3_VALIDATE_APP_IN_APP_ID_HI_LEN 4
21805 * of two 384-bit integers, r and s, in big-endian order. The signature signs a
21806 * SHA-384 digest of a message constructed from the concatenation of the input
21808 * bytes] ... expiry_time[4 bytes] ...
21814 #define MC_CMD_LICENSED_V3_VALIDATE_APP_OUT_EXPIRY_TIME_LEN 4
21817 #define MC_CMD_LICENSED_V3_VALIDATE_APP_OUT_EXPIRY_UNITS_LEN 4
21822 /* base MAC address of the NIC stored in NVRAM (note that this is a constant
21823 * value for a given NIC regardless which function is calling, effectively this
21850 #define MC_CMD_LICENSED_V3_MASK_FEATURES_IN_MASK_LO_LEN 4
21853 #define MC_CMD_LICENSED_V3_MASK_FEATURES_IN_MASK_HI_OFST 4
21854 #define MC_CMD_LICENSED_V3_MASK_FEATURES_IN_MASK_HI_LEN 4
21859 #define MC_CMD_LICENSED_V3_MASK_FEATURES_IN_FLAG_LEN 4
21871 * Perform operations to support installation of a single temporary license in
21874 * stored in MC persistent data and so will survive a MC reboot, but will be
21883 #define MC_CMD_LICENSING_V3_TEMPORARY_IN_LEN 4
21886 #define MC_CMD_LICENSING_V3_TEMPORARY_IN_OP_LEN 4
21887 /* enum: install a new license, overwriting any existing temporary license.
21904 #define MC_CMD_LICENSING_V3_TEMPORARY_IN_SET_OP_LEN 4
21906 #define MC_CMD_LICENSING_V3_TEMPORARY_IN_SET_LICENSE_OFST 4
21910 #define MC_CMD_LICENSING_V3_TEMPORARY_IN_CLEAR_LEN 4
21912 #define MC_CMD_LICENSING_V3_TEMPORARY_IN_CLEAR_OP_LEN 4
21915 #define MC_CMD_LICENSING_V3_TEMPORARY_IN_STATUS_LEN 4
21917 #define MC_CMD_LICENSING_V3_TEMPORARY_IN_STATUS_OP_LEN 4
21923 #define MC_CMD_LICENSING_V3_TEMPORARY_OUT_STATUS_STATUS_LEN 4
21933 #define MC_CMD_LICENSING_V3_TEMPORARY_OUT_STATUS_LICENSED_FEATURES_OFST 4
21935 #define MC_CMD_LICENSING_V3_TEMPORARY_OUT_STATUS_LICENSED_FEATURES_LO_OFST 4
21936 #define MC_CMD_LICENSING_V3_TEMPORARY_OUT_STATUS_LICENSED_FEATURES_LO_LEN 4
21940 #define MC_CMD_LICENSING_V3_TEMPORARY_OUT_STATUS_LICENSED_FEATURES_HI_LEN 4
21948 * function. Only a privileged function may change the port sniffing
21949 * configuration. A copy of all traffic delivered to the host (non-promiscuous
21951 * delivered to a specific queue, or a set of queues with RSS.
21962 #define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_FLAGS_LEN 4
21970 #define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_RX_QUEUE_OFST 4
21971 #define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_RX_QUEUE_LEN 4
21974 #define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_RX_MODE_LEN 4
21980 * that these handles should be considered opaque to the host, although a value
21981 * of 0xFFFFFFFF is guaranteed never to be a valid handle.
21984 #define MC_CMD_SET_PORT_SNIFF_CONFIG_IN_RX_CONTEXT_LEN 4
21993 * associated with the calling function. Only a privileged function may read
22008 #define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_FLAGS_LEN 4
22016 #define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_RX_QUEUE_OFST 4
22017 #define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_RX_QUEUE_LEN 4
22020 #define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_RX_MODE_LEN 4
22027 #define MC_CMD_GET_PORT_SNIFF_CONFIG_OUT_RX_CONTEXT_LEN 4
22043 #define MC_CMD_SET_PARSER_DISP_CONFIG_IN_LEN(num) (8+4*(num))
22044 #define MC_CMD_SET_PARSER_DISP_CONFIG_IN_VALUE_NUM(len) (((len)-8)/4)
22047 #define MC_CMD_SET_PARSER_DISP_CONFIG_IN_TYPE_LEN 4
22049 * internal loopback. (ENTITY is a queue handle, VALUE is a single boolean.)
22053 * internal loopback path. (ENTITY is an EVB_PORT_ID, VALUE is a single
22060 #define MC_CMD_SET_PARSER_DISP_CONFIG_IN_ENTITY_OFST 4
22061 #define MC_CMD_SET_PARSER_DISP_CONFIG_IN_ENTITY_LEN 4
22066 #define MC_CMD_SET_PARSER_DISP_CONFIG_IN_VALUE_LEN 4
22088 #define MC_CMD_GET_PARSER_DISP_CONFIG_IN_TYPE_LEN 4
22094 #define MC_CMD_GET_PARSER_DISP_CONFIG_IN_ENTITY_OFST 4
22095 #define MC_CMD_GET_PARSER_DISP_CONFIG_IN_ENTITY_LEN 4
22098 #define MC_CMD_GET_PARSER_DISP_CONFIG_OUT_LENMIN 4
22101 #define MC_CMD_GET_PARSER_DISP_CONFIG_OUT_LEN(num) (0+4*(num))
22102 #define MC_CMD_GET_PARSER_DISP_CONFIG_OUT_VALUE_NUM(len) (((len)-0)/4)
22107 #define MC_CMD_GET_PARSER_DISP_CONFIG_OUT_VALUE_LEN 4
22116 * function. Only a privileged function may change the port sniffing
22117 * configuration. A copy of all traffic transmitted through the port may be
22118 * delivered to a specific queue, or a set of queues with RSS. Note that these
22132 #define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN_FLAGS_LEN 4
22137 #define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN_RX_QUEUE_OFST 4
22138 #define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN_RX_QUEUE_LEN 4
22141 #define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN_RX_MODE_LEN 4
22147 * that these handles should be considered opaque to the host, although a value
22148 * of 0xFFFFFFFF is guaranteed never to be a valid handle.
22151 #define MC_CMD_SET_TX_PORT_SNIFF_CONFIG_IN_RX_CONTEXT_LEN 4
22160 * associated with the calling function. Only a privileged function may read
22175 #define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT_FLAGS_LEN 4
22180 #define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT_RX_QUEUE_OFST 4
22181 #define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT_RX_QUEUE_LEN 4
22184 #define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT_RX_MODE_LEN 4
22191 #define MC_CMD_GET_TX_PORT_SNIFF_CONFIG_OUT_RX_CONTEXT_LEN 4
22207 #define MC_CMD_RMON_STATS_RX_ERRORS_IN_RX_QUEUE_LEN 4
22208 #define MC_CMD_RMON_STATS_RX_ERRORS_IN_FLAGS_OFST 4
22209 #define MC_CMD_RMON_STATS_RX_ERRORS_IN_FLAGS_LEN 4
22210 #define MC_CMD_RMON_STATS_RX_ERRORS_IN_RST_OFST 4
22217 #define MC_CMD_RMON_STATS_RX_ERRORS_OUT_CRC_ERRORS_LEN 4
22218 #define MC_CMD_RMON_STATS_RX_ERRORS_OUT_TRUNC_ERRORS_OFST 4
22219 #define MC_CMD_RMON_STATS_RX_ERRORS_OUT_TRUNC_ERRORS_LEN 4
22221 #define MC_CMD_RMON_STATS_RX_ERRORS_OUT_RX_NO_DESC_DROPS_LEN 4
22223 #define MC_CMD_RMON_STATS_RX_ERRORS_OUT_RX_ABORT_LEN 4
22242 #define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_MAX_PFS_LEN 4
22244 #define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_MAX_VFS_OFST 4
22245 #define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_MAX_VFS_LEN 4
22248 #define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_MAX_VECTORS_LEN 4
22252 #define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_DEFAULT_PF_VECTORS_LEN 4
22256 #define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_DEFAULT_VF_VECTORS_LEN 4
22259 #define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_MAX_PF_VECTORS_LEN 4
22262 #define MC_CMD_GET_PCIE_RESOURCE_INFO_OUT_MAX_VF_VECTORS_LEN 4
22283 #define MC_CMD_GET_PORT_MODES_OUT_MODES_LEN 4
22285 #define MC_CMD_GET_PORT_MODES_OUT_DEFAULT_MODE_OFST 4
22286 #define MC_CMD_GET_PORT_MODES_OUT_DEFAULT_MODE_LEN 4
22289 #define MC_CMD_GET_PORT_MODES_OUT_CURRENT_MODE_LEN 4
22297 #define MC_CMD_GET_PORT_MODES_OUT_V2_MODES_LEN 4
22299 #define MC_CMD_GET_PORT_MODES_OUT_V2_DEFAULT_MODE_OFST 4
22300 #define MC_CMD_GET_PORT_MODES_OUT_V2_DEFAULT_MODE_LEN 4
22303 #define MC_CMD_GET_PORT_MODES_OUT_V2_CURRENT_MODE_LEN 4
22305 * TLV_PORT_MODE_*). A superset of MC_CMD_GET_PORT_MODES_OUT/MODES that
22306 * contains all modes implemented in firmware for a particular board. Modes
22314 #define MC_CMD_GET_PORT_MODES_OUT_V2_ENGINEERING_MODES_LEN 4
22321 * warm reboot. A cold reboot resets the override. It is assumed that a
22333 #define MC_CMD_OVERRIDE_PORT_MODE_IN_FLAGS_LEN 4
22338 #define MC_CMD_OVERRIDE_PORT_MODE_IN_MODE_OFST 4
22339 #define MC_CMD_OVERRIDE_PORT_MODE_IN_MODE_LEN 4
22357 #define MC_CMD_READ_ATB_IN_SIGNAL_BUS_LEN 4
22361 #define MC_CMD_READ_ATB_IN_SIGNAL_EN_BITNO_OFST 4
22362 #define MC_CMD_READ_ATB_IN_SIGNAL_EN_BITNO_LEN 4
22364 #define MC_CMD_READ_ATB_IN_SIGNAL_SEL_LEN 4
22366 #define MC_CMD_READ_ATB_IN_SETTLING_TIME_US_LEN 4
22369 #define MC_CMD_READ_ATB_OUT_LEN 4
22371 #define MC_CMD_READ_ATB_OUT_SAMPLE_MV_LEN 4
22386 /* Each workaround is represented by a single bit according to the enums below.
22389 #define MC_CMD_GET_WORKAROUNDS_OUT_IMPLEMENTED_LEN 4
22390 #define MC_CMD_GET_WORKAROUNDS_OUT_ENABLED_OFST 4
22391 #define MC_CMD_GET_WORKAROUNDS_OUT_ENABLED_LEN 4
22427 #define MC_CMD_PRIVILEGE_MASK_IN_FUNCTION_LEN 4
22438 #define MC_CMD_PRIVILEGE_MASK_IN_NEW_MASK_OFST 4
22439 #define MC_CMD_PRIVILEGE_MASK_IN_NEW_MASK_LEN 4
22456 /* enum: Privilege that allows a Function to change the MAC address configured
22460 /* enum: Privilege that allows a Function to install filters that specify VLANs
22463 * only a set of permitted VLANs. See the vPort flag FLAG_VLAN_RESTRICT.
22472 * an adapter has Bound to a remote ServerLock Controller (see doxbox
22482 /* enum: A dynamic client with this privilege may perform all the same DMA
22486 /* enum: A client with this privilege may perform DMA as any PCIe function on
22492 /* enum: Set this bit to indicate that a new privilege mask is to be set,
22498 #define MC_CMD_PRIVILEGE_MASK_OUT_LEN 4
22501 #define MC_CMD_PRIVILEGE_MASK_OUT_OLD_MASK_LEN 4
22506 * Read/set link state mode of a VF
22515 /* The target function to have its link state mode read or set, must be a VF
22519 #define MC_CMD_LINK_STATE_MODE_IN_FUNCTION_LEN 4
22527 #define MC_CMD_LINK_STATE_MODE_IN_NEW_MODE_OFST 4
22528 #define MC_CMD_LINK_STATE_MODE_IN_NEW_MODE_LEN 4
22537 #define MC_CMD_LINK_STATE_MODE_OUT_LEN 4
22539 #define MC_CMD_LINK_STATE_MODE_OUT_OLD_MODE_LEN 4
22559 #define MC_CMD_GET_SNAPSHOT_LENGTH_OUT_RX_SNAPLEN_MIN_LEN 4
22561 #define MC_CMD_GET_SNAPSHOT_LENGTH_OUT_RX_SNAPLEN_MAX_OFST 4
22562 #define MC_CMD_GET_SNAPSHOT_LENGTH_OUT_RX_SNAPLEN_MAX_LEN 4
22581 #define MC_CMD_FUSE_DIAGS_OUT_AREA0_MISMATCH_BITS_LEN 4
22582 /* Total number of unexpectedly clear (set in B but not A) bits in area 0 */
22583 #define MC_CMD_FUSE_DIAGS_OUT_AREA0_PAIR_A_BAD_BITS_OFST 4
22584 #define MC_CMD_FUSE_DIAGS_OUT_AREA0_PAIR_A_BAD_BITS_LEN 4
22585 /* Total number of unexpectedly clear (set in A but not B) bits in area 0 */
22587 #define MC_CMD_FUSE_DIAGS_OUT_AREA0_PAIR_B_BAD_BITS_LEN 4
22590 #define MC_CMD_FUSE_DIAGS_OUT_AREA0_CHECKSUM_LEN 4
22593 #define MC_CMD_FUSE_DIAGS_OUT_AREA1_MISMATCH_BITS_LEN 4
22594 /* Total number of unexpectedly clear (set in B but not A) bits in area 1 */
22596 #define MC_CMD_FUSE_DIAGS_OUT_AREA1_PAIR_A_BAD_BITS_LEN 4
22597 /* Total number of unexpectedly clear (set in A but not B) bits in area 1 */
22599 #define MC_CMD_FUSE_DIAGS_OUT_AREA1_PAIR_B_BAD_BITS_LEN 4
22602 #define MC_CMD_FUSE_DIAGS_OUT_AREA1_CHECKSUM_LEN 4
22605 #define MC_CMD_FUSE_DIAGS_OUT_AREA2_MISMATCH_BITS_LEN 4
22606 /* Total number of unexpectedly clear (set in B but not A) bits in area 2 */
22608 #define MC_CMD_FUSE_DIAGS_OUT_AREA2_PAIR_A_BAD_BITS_LEN 4
22609 /* Total number of unexpectedly clear (set in A but not B) bits in area 2 */
22611 #define MC_CMD_FUSE_DIAGS_OUT_AREA2_PAIR_B_BAD_BITS_LEN 4
22614 #define MC_CMD_FUSE_DIAGS_OUT_AREA2_CHECKSUM_LEN 4
22619 * Modify the privileges of a set of PCIe functions. Note that this operation
22632 #define MC_CMD_PRIVILEGE_MODIFY_IN_FN_GROUP_LEN 4
22640 #define MC_CMD_PRIVILEGE_MODIFY_IN_FUNCTION_OFST 4
22641 #define MC_CMD_PRIVILEGE_MODIFY_IN_FUNCTION_LEN 4
22642 #define MC_CMD_PRIVILEGE_MODIFY_IN_FUNCTION_PF_OFST 4
22645 #define MC_CMD_PRIVILEGE_MODIFY_IN_FUNCTION_VF_OFST 4
22652 #define MC_CMD_PRIVILEGE_MODIFY_IN_ADD_MASK_LEN 4
22657 #define MC_CMD_PRIVILEGE_MODIFY_IN_REMOVE_MASK_LEN 4
22676 #define MC_CMD_XPM_READ_BYTES_IN_ADDR_LEN 4
22678 #define MC_CMD_XPM_READ_BYTES_IN_COUNT_OFST 4
22679 #define MC_CMD_XPM_READ_BYTES_IN_COUNT_LEN 4
22712 #define MC_CMD_XPM_WRITE_BYTES_IN_ADDR_LEN 4
22714 #define MC_CMD_XPM_WRITE_BYTES_IN_COUNT_OFST 4
22715 #define MC_CMD_XPM_WRITE_BYTES_IN_COUNT_LEN 4
22740 #define MC_CMD_XPM_READ_SECTOR_IN_INDEX_LEN 4
22742 #define MC_CMD_XPM_READ_SECTOR_IN_SIZE_OFST 4
22743 #define MC_CMD_XPM_READ_SECTOR_IN_SIZE_LEN 4
22746 #define MC_CMD_XPM_READ_SECTOR_OUT_LENMIN 4
22749 #define MC_CMD_XPM_READ_SECTOR_OUT_LEN(num) (4+1*(num))
22750 #define MC_CMD_XPM_READ_SECTOR_OUT_DATA_NUM(len) (((len)-4)/1)
22753 #define MC_CMD_XPM_READ_SECTOR_OUT_TYPE_LEN 4
22760 #define MC_CMD_XPM_READ_SECTOR_OUT_DATA_OFST 4
22792 #define MC_CMD_XPM_WRITE_SECTOR_IN_TYPE_OFST 4
22793 #define MC_CMD_XPM_WRITE_SECTOR_IN_TYPE_LEN 4
22798 #define MC_CMD_XPM_WRITE_SECTOR_IN_SIZE_LEN 4
22807 #define MC_CMD_XPM_WRITE_SECTOR_OUT_LEN 4
22810 #define MC_CMD_XPM_WRITE_SECTOR_OUT_INDEX_LEN 4
22823 #define MC_CMD_XPM_INVALIDATE_SECTOR_IN_LEN 4
22826 #define MC_CMD_XPM_INVALIDATE_SECTOR_IN_INDEX_LEN 4
22845 #define MC_CMD_XPM_BLANK_CHECK_IN_ADDR_LEN 4
22847 #define MC_CMD_XPM_BLANK_CHECK_IN_COUNT_OFST 4
22848 #define MC_CMD_XPM_BLANK_CHECK_IN_COUNT_LEN 4
22851 #define MC_CMD_XPM_BLANK_CHECK_OUT_LENMIN 4
22854 #define MC_CMD_XPM_BLANK_CHECK_OUT_LEN(num) (4+2*(num))
22855 #define MC_CMD_XPM_BLANK_CHECK_OUT_BAD_ADDR_NUM(len) (((len)-4)/2)
22858 #define MC_CMD_XPM_BLANK_CHECK_OUT_BAD_COUNT_LEN 4
22862 #define MC_CMD_XPM_BLANK_CHECK_OUT_BAD_ADDR_OFST 4
22882 #define MC_CMD_XPM_REPAIR_IN_ADDR_LEN 4
22884 #define MC_CMD_XPM_REPAIR_IN_COUNT_OFST 4
22885 #define MC_CMD_XPM_REPAIR_IN_COUNT_LEN 4
22911 * by writing to a dedicated test row. There are 16 locations in the test row
22931 * and if correct begin execution from the start of IMEM. The caller supplies a
22946 #define MC_CMD_EXEC_SIGNED_IN_CODELEN_LEN 4
22948 #define MC_CMD_EXEC_SIGNED_IN_DATALEN_OFST 4
22949 #define MC_CMD_EXEC_SIGNED_IN_DATALEN_LEN 4
22952 #define MC_CMD_EXEC_SIGNED_IN_KEYSECTOR_LEN 4
22963 * Prepare to upload a signed image. This will scrub the specified length of
22973 #define MC_CMD_PREPARE_SIGNED_IN_LEN 4
22976 #define MC_CMD_PREPARE_SIGNED_IN_DATALEN_LEN 4
22983 #define TUNNEL_ENCAP_UDP_PORT_ENTRY_LEN 4
23010 * cause all functions to see a reset. (Available on Medford only.)
23018 #define MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_IN_LENMIN 4
23021 #define MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_IN_LEN(num) (4+4*(num))
23022 #define MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_IN_ENTRIES_NUM(len) (((len)-4)/4)
23032 /* Entries defining the UDP port to protocol mapping, each laid out as a
23035 #define MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_IN_ENTRIES_OFST 4
23036 #define MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_IN_ENTRIES_LEN 4
23053 * Configure a port upconverter to distribute the packets on both RX engines.
23054 * Packets are distributed based on a table with the destination vFIFO. The
23055 * index of the table is a hash of source and destination of IPV4 and VLAN
23067 #define MC_CMD_RX_BALANCING_IN_PORT_LEN 4
23069 #define MC_CMD_RX_BALANCING_IN_PRIORITY_OFST 4
23070 #define MC_CMD_RX_BALANCING_IN_PRIORITY_LEN 4
23073 #define MC_CMD_RX_BALANCING_IN_SRC_DST_LEN 4
23076 #define MC_CMD_RX_BALANCING_IN_ENG_LEN 4
23084 * Append a single TLV to the MC_USAGE_TLV partition. Returns MC_CMD_ERR_EEXIST
23100 #define MC_CMD_NVRAM_PRIVATE_APPEND_IN_TAG_LEN 4
23102 #define MC_CMD_NVRAM_PRIVATE_APPEND_IN_LENGTH_OFST 4
23103 #define MC_CMD_NVRAM_PRIVATE_APPEND_IN_LENGTH_LEN 4
23127 #define MC_CMD_XPM_VERIFY_CONTENTS_IN_LEN 4
23130 #define MC_CMD_XPM_VERIFY_CONTENTS_IN_DATA_TYPE_LEN 4
23140 #define MC_CMD_XPM_VERIFY_CONTENTS_OUT_NUM_SECTORS_LEN 4
23142 #define MC_CMD_XPM_VERIFY_CONTENTS_OUT_NUM_BYTES_OFST 4
23143 #define MC_CMD_XPM_VERIFY_CONTENTS_OUT_NUM_BYTES_LEN 4
23146 #define MC_CMD_XPM_VERIFY_CONTENTS_OUT_SIG_LENGTH_LEN 4
23157 * Update the timer load, timer reload and timer mode values for a given EVQ.
23173 #define MC_CMD_SET_EVQ_TMR_IN_INSTANCE_LEN 4
23175 #define MC_CMD_SET_EVQ_TMR_IN_TMR_LOAD_REQ_NS_OFST 4
23176 #define MC_CMD_SET_EVQ_TMR_IN_TMR_LOAD_REQ_NS_LEN 4
23179 #define MC_CMD_SET_EVQ_TMR_IN_TMR_RELOAD_REQ_NS_LEN 4
23182 #define MC_CMD_SET_EVQ_TMR_IN_TMR_MODE_LEN 4
23192 #define MC_CMD_SET_EVQ_TMR_OUT_TMR_LOAD_ACT_NS_LEN 4
23194 #define MC_CMD_SET_EVQ_TMR_OUT_TMR_RELOAD_ACT_NS_OFST 4
23195 #define MC_CMD_SET_EVQ_TMR_OUT_TMR_RELOAD_ACT_NS_LEN 4
23214 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_FLAGS_LEN 4
23217 * requested duration of a timer is this value multiplied by the timer
23220 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_TMR_REG_NS_PER_COUNT_OFST 4
23221 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_TMR_REG_NS_PER_COUNT_LEN 4
23226 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_TMR_REG_MAX_COUNT_LEN 4
23227 /* For timers updated via writes to EVQ_TMR_REG, timer load/reload counts not a
23232 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_TMR_REG_STEP_LEN 4
23237 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_MCDI_TMR_MAX_NS_LEN 4
23238 /* Timer durations requested via MCDI that are not a multiple of this step size
23242 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_MCDI_TMR_STEP_NS_LEN 4
23245 * requested duration of a timer is this value multiplied by the timer
23250 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_BUG35388_TMR_NS_PER_COUNT_LEN 4
23256 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_BUG35388_TMR_MAX_COUNT_LEN 4
23258 * not a multiple of this step size will be rounded in an implementation
23263 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_BUG35388_TMR_STEP_LEN 4
23278 /* Desired instance. Must be set to a specific instance, which is a function
23283 #define MC_CMD_ALLOCATE_TX_VFIFO_CP_IN_INSTANCE_LEN 4
23285 #define MC_CMD_ALLOCATE_TX_VFIFO_CP_IN_MODE_OFST 4
23286 #define MC_CMD_ALLOCATE_TX_VFIFO_CP_IN_MODE_LEN 4
23292 #define MC_CMD_ALLOCATE_TX_VFIFO_CP_IN_SIZE_LEN 4
23295 #define MC_CMD_ALLOCATE_TX_VFIFO_CP_IN_INGRESS_LEN 4
23300 #define MC_CMD_ALLOCATE_TX_VFIFO_CP_IN_EGRESS_LEN 4
23313 #define MC_CMD_ALLOCATE_TX_VFIFO_CP_OUT_LEN 4
23316 #define MC_CMD_ALLOCATE_TX_VFIFO_CP_OUT_CP_ID_LEN 4
23334 #define MC_CMD_ALLOCATE_TX_VFIFO_VFIFO_IN_CP_LEN 4
23336 #define MC_CMD_ALLOCATE_TX_VFIFO_VFIFO_IN_EGRESS_OFST 4
23337 #define MC_CMD_ALLOCATE_TX_VFIFO_VFIFO_IN_EGRESS_LEN 4
23350 #define MC_CMD_ALLOCATE_TX_VFIFO_VFIFO_IN_SIZE_LEN 4
23355 #define MC_CMD_ALLOCATE_TX_VFIFO_VFIFO_IN_MODE_LEN 4
23358 #define MC_CMD_ALLOCATE_TX_VFIFO_VFIFO_IN_PRIORITY_LEN 4
23366 #define MC_CMD_ALLOCATE_TX_VFIFO_VFIFO_OUT_VID_LEN 4
23368 #define MC_CMD_ALLOCATE_TX_VFIFO_VFIFO_OUT_PRIORITY_OFST 4
23369 #define MC_CMD_ALLOCATE_TX_VFIFO_VFIFO_OUT_PRIORITY_LEN 4
23383 #define MC_CMD_TEARDOWN_TX_VFIFO_VF_IN_LEN 4
23386 #define MC_CMD_TEARDOWN_TX_VFIFO_VF_IN_VFIFO_LEN 4
23403 #define MC_CMD_DEALLOCATE_TX_VFIFO_CP_IN_LEN 4
23406 #define MC_CMD_DEALLOCATE_TX_VFIFO_CP_IN_POOL_ID_LEN 4
23429 #define MC_CMD_SWITCH_GET_UNASSIGNED_BUFFERS_OUT_NET_LEN 4
23431 #define MC_CMD_SWITCH_GET_UNASSIGNED_BUFFERS_OUT_ENG_OFST 4
23432 #define MC_CMD_SWITCH_GET_UNASSIGNED_BUFFERS_OUT_ENG_LEN 4
23449 /* The SUC firmware version as four numbers - a.b.c.d */
23451 #define MC_CMD_SUC_VERSION_OUT_VERSION_LEN 4
23452 #define MC_CMD_SUC_VERSION_OUT_VERSION_NUM 4
23457 #define MC_CMD_SUC_VERSION_OUT_BUILD_DATE_LEN 4
23462 #define MC_CMD_SUC_VERSION_OUT_CHIP_ID_LEN 4
23467 #define MC_CMD_SUC_BOOT_VERSION_IN_LEN 4
23469 #define MC_CMD_SUC_BOOT_VERSION_IN_MAGIC_LEN 4
23474 #define MC_CMD_SUC_BOOT_VERSION_OUT_LEN 4
23477 #define MC_CMD_SUC_BOOT_VERSION_OUT_VERSION_LEN 4
23483 * packet prefix. It takes as input a bitmask of the fields the host would like
23485 * combination of fields, then this command returns a list of prefix-ids,
23486 * opaque identifiers suitable for use in the RX_PREFIX_ID field of a
23502 #define MC_CMD_GET_RX_PREFIX_ID_IN_FIELDS_LO_LEN 4
23505 #define MC_CMD_GET_RX_PREFIX_ID_IN_FIELDS_HI_OFST 4
23506 #define MC_CMD_GET_RX_PREFIX_ID_IN_FIELDS_HI_LEN 4
23522 #define MC_CMD_GET_RX_PREFIX_ID_IN_PARTIAL_TSTAMP_LBN 4
23553 #define MC_CMD_GET_RX_PREFIX_ID_OUT_LEN(num) (4+4*(num))
23554 #define MC_CMD_GET_RX_PREFIX_ID_OUT_RX_PREFIX_ID_NUM(len) (((len)-4)/4)
23557 #define MC_CMD_GET_RX_PREFIX_ID_OUT_NUM_RX_PREFIX_IDS_LEN 4
23561 #define MC_CMD_GET_RX_PREFIX_ID_OUT_RX_PREFIX_ID_OFST 4
23562 #define MC_CMD_GET_RX_PREFIX_ID_OUT_RX_PREFIX_ID_LEN 4
23567 /* RX_PREFIX_FIELD_INFO structuredef: Information about a single RX prefix
23570 #define RX_PREFIX_FIELD_INFO_LEN 4
23603 * which every field has a fixed offset and width
23605 #define RX_PREFIX_FIXED_RESPONSE_LENMIN 4
23608 #define RX_PREFIX_FIXED_RESPONSE_LEN(num) (4+4*(num))
23609 #define RX_PREFIX_FIXED_RESPONSE_FIELDS_NUM(len) (((len)-4)/4)
23625 #define RX_PREFIX_FIXED_RESPONSE_FIELDS_OFST 4
23626 #define RX_PREFIX_FIXED_RESPONSE_FIELDS_LEN 4
23637 * and returns a description of the RX prefix of packets delievered to an RXQ
23646 #define MC_CMD_QUERY_RX_PREFIX_ID_IN_LEN 4
23649 #define MC_CMD_QUERY_RX_PREFIX_ID_IN_RX_PREFIX_ID_LEN 4
23652 #define MC_CMD_QUERY_RX_PREFIX_ID_OUT_LENMIN 4
23655 #define MC_CMD_QUERY_RX_PREFIX_ID_OUT_LEN(num) (4+1*(num))
23656 #define MC_CMD_QUERY_RX_PREFIX_ID_OUT_RESPONSE_NUM(len) (((len)-4)/1)
23665 #define MC_CMD_QUERY_RX_PREFIX_ID_OUT_RESPONSE_OFST 4
23674 * A command to perform various bundle-related operations on insecure cards.
23682 #define MC_CMD_BUNDLE_IN_LEN 4
23685 #define MC_CMD_BUNDLE_IN_OP_LEN 4
23696 #define MC_CMD_BUNDLE_OP_COMPONENT_ACCESS_GET_IN_LEN 4
23699 #define MC_CMD_BUNDLE_OP_COMPONENT_ACCESS_GET_IN_OP_LEN 4
23704 #define MC_CMD_BUNDLE_OP_COMPONENT_ACCESS_GET_OUT_LEN 4
23707 #define MC_CMD_BUNDLE_OP_COMPONENT_ACCESS_GET_OUT_ACCESS_MODE_LEN 4
23723 #define MC_CMD_BUNDLE_OP_COMPONENT_ACCESS_SET_IN_OP_LEN 4
23725 #define MC_CMD_BUNDLE_OP_COMPONENT_ACCESS_SET_IN_ACCESS_MODE_OFST 4
23726 #define MC_CMD_BUNDLE_OP_COMPONENT_ACCESS_SET_IN_ACCESS_MODE_LEN 4
23736 * Read all VPD starting from a given address
23744 #define MC_CMD_GET_VPD_IN_LEN 4
23749 #define MC_CMD_GET_VPD_IN_ADDR_LEN 4
23778 #define MC_CMD_GET_NCSI_INFO_IN_OP_LEN 4
23784 #define MC_CMD_GET_NCSI_INFO_IN_CHANNEL_OFST 4
23785 #define MC_CMD_GET_NCSI_INFO_IN_CHANNEL_LEN 4
23791 #define MC_CMD_GET_NCSI_INFO_LINK_OUT_SETTINGS_LEN 4
23793 #define MC_CMD_GET_NCSI_INFO_LINK_OUT_ADV_CAP_OFST 4
23794 #define MC_CMD_GET_NCSI_INFO_LINK_OUT_ADV_CAP_LEN 4
23797 #define MC_CMD_GET_NCSI_INFO_LINK_OUT_STATUS_LEN 4
23808 #define MC_CMD_GET_NCSI_INFO_LINK_OUT_ATTACHED_LBN 4
23815 #define MC_CMD_GET_NCSI_INFO_STATISTICS_OUT_NCSI_CMDS_RX_LEN 4
23817 #define MC_CMD_GET_NCSI_INFO_STATISTICS_OUT_NCSI_PKTS_DROPPED_OFST 4
23818 #define MC_CMD_GET_NCSI_INFO_STATISTICS_OUT_NCSI_PKTS_DROPPED_LEN 4
23821 #define MC_CMD_GET_NCSI_INFO_STATISTICS_OUT_NCSI_CMD_TYPE_ERRS_LEN 4
23824 #define MC_CMD_GET_NCSI_INFO_STATISTICS_OUT_NCSI_CMD_CSUM_ERRS_LEN 4
23827 #define MC_CMD_GET_NCSI_INFO_STATISTICS_OUT_NCSI_RX_PKTS_LEN 4
23830 #define MC_CMD_GET_NCSI_INFO_STATISTICS_OUT_NCSI_TX_PKTS_LEN 4
23833 #define MC_CMD_GET_NCSI_INFO_STATISTICS_OUT_AENS_SENT_LEN 4
23835 /* CLIENT_HANDLE structuredef: A client is an abstract entity that can make
23837 * Examples of clients include PCIe functions and dynamic clients. A client
23838 * handle is a 32b opaque value used to refer to a client. Further details can
23841 #define CLIENT_HANDLE_LEN 4
23843 #define CLIENT_HANDLE_OPAQUE_LEN 4
23844 /* enum: A client handle guaranteed never to refer to a real client. */
23851 /* CLOCK_INFO structuredef: Information about a single hardware clock */
23881 #define CLOCK_INFO_FREQUENCY_OFST 4
23883 #define CLOCK_INFO_FREQUENCY_LO_OFST 4
23884 #define CLOCK_INFO_FREQUENCY_LO_LEN 4
23888 #define CLOCK_INFO_FREQUENCY_HI_LEN 4
23936 #define SCHED_CREDIT_CHECK_RESULT_NODE_INDEX_OFST 4
23937 #define SCHED_CREDIT_CHECK_RESULT_NODE_INDEX_LEN 4
23942 #define SCHED_CREDIT_CHECK_RESULT_EXPECTED_CREDITS_LEN 4
23947 #define SCHED_CREDIT_CHECK_RESULT_ACTUAL_CREDITS_LEN 4
23980 * Add a rule for detecting encapsulations in the VNIC stage. Currently this
23983 * apply to the current driver. If a rule matches, then the packet is
23986 * are not inserted. (If a packet would match multiple rules, a random one of
23987 * them will be used.) A rule with the exact same match criteria may not be
23988 * inserted twice (EALREADY). Only a limited number MATCH_FLAGS values are
23990 * OP_GET_SUPPORTED_VNIC_ENCAP_RULE_MATCHES to get a list of supported
23991 * combinations. Each driver may only have a limited set of active rules -
24003 #define MC_CMD_VNIC_ENCAP_RULE_ADD_IN_MPORT_SELECTOR_LEN 4
24008 #define MC_CMD_VNIC_ENCAP_RULE_ADD_IN_MATCH_FLAGS_OFST 4
24009 #define MC_CMD_VNIC_ENCAP_RULE_ADD_IN_MATCH_FLAGS_LEN 4
24010 #define MC_CMD_VNIC_ENCAP_RULE_ADD_IN_MATCH_ETHER_TYPE_OFST 4
24013 #define MC_CMD_VNIC_ENCAP_RULE_ADD_IN_MATCH_OUTER_VLAN_OFST 4
24016 #define MC_CMD_VNIC_ENCAP_RULE_ADD_IN_MATCH_DST_IP_OFST 4
24019 #define MC_CMD_VNIC_ENCAP_RULE_ADD_IN_MATCH_IP_PROTO_OFST 4
24022 #define MC_CMD_VNIC_ENCAP_RULE_ADD_IN_MATCH_DST_PORT_OFST 4
24023 #define MC_CMD_VNIC_ENCAP_RULE_ADD_IN_MATCH_DST_PORT_LBN 4
24042 * case of IPv4, the IP should be in the first 4 bytes and all other bytes
24067 #define MC_CMD_VNIC_ENCAP_RULE_ADD_IN_ENCAP_TYPE_LEN 4
24070 #define MC_CMD_VNIC_ENCAP_RULE_ADD_OUT_LEN 4
24073 #define MC_CMD_VNIC_ENCAP_RULE_ADD_OUT_HANDLE_LEN 4
24078 * Remove a VNIC encapsulation rule. Packets which would have previously
24088 #define MC_CMD_VNIC_ENCAP_RULE_REMOVE_IN_LEN 4
24091 #define MC_CMD_VNIC_ENCAP_RULE_REMOVE_IN_HANDLE_LEN 4
24102 #define UUID_TIME_LOW_LEN 4
24105 #define UUID_TIME_MID_OFST 4
24112 #define UUID_VERSION_WIDTH 4
24125 * Create a handle to a datapath plugin's extension. This involves finding a
24127 * the UUID) and allocating a handle to track the usage of it. Plugin
24129 * so that a single plugin bitfile may offer more than one piece of independent
24142 /* The functionality requested of the plugin, as a UUID structure */
24147 #define MC_CMD_PLUGIN_ALLOC_IN_FLAGS_LEN 4
24157 * will be loaded). See MC_CMD_PLUGIN_GET_META_GLOBAL for a description of
24169 #define MC_CMD_PLUGIN_ALLOC_OUT_LEN 4
24172 #define MC_CMD_PLUGIN_ALLOC_OUT_HANDLE_LEN 4
24177 * Delete a handle to a plugin's extension.
24185 #define MC_CMD_PLUGIN_FREE_IN_LEN 4
24188 #define MC_CMD_PLUGIN_FREE_IN_HANDLE_LEN 4
24205 #define MC_CMD_PLUGIN_GET_META_GLOBAL_IN_LEN 4
24208 #define MC_CMD_PLUGIN_GET_META_GLOBAL_IN_HANDLE_LEN 4
24225 #define MC_CMD_PLUGIN_GET_META_GLOBAL_OUT_NUM_MSGS_LEN 4
24237 #define MC_CMD_PLUGIN_GET_META_GLOBAL_OUT_MAPPED_CSR_FLAGS_LEN 4
24246 * same time. ADMIN_GROUP values themselves are arbitrary (but they contain a
24266 * extension in a human-readable way. Contrast with
24279 #define MC_CMD_PLUGIN_GET_META_PUBLISHER_IN_HANDLE_LEN 4
24281 #define MC_CMD_PLUGIN_GET_META_PUBLISHER_IN_SUBTYPE_OFST 4
24282 #define MC_CMD_PLUGIN_GET_META_PUBLISHER_IN_SUBTYPE_LEN 4
24285 * the extension. The data is a back-to-back list of zero-terminated strings;
24286 * the even-numbered fields (0,2,4,...) are keys and their following odd-
24300 #define MC_CMD_PLUGIN_GET_META_PUBLISHER_IN_OFFSET_LEN 4
24303 #define MC_CMD_PLUGIN_GET_META_PUBLISHER_OUT_LENMIN 4
24306 #define MC_CMD_PLUGIN_GET_META_PUBLISHER_OUT_LEN(num) (4+1*(num))
24307 #define MC_CMD_PLUGIN_GET_META_PUBLISHER_OUT_DATA_NUM(len) (((len)-4)/1)
24310 #define MC_CMD_PLUGIN_GET_META_PUBLISHER_OUT_TOTAL_SIZE_LEN 4
24312 #define MC_CMD_PLUGIN_GET_META_PUBLISHER_OUT_DATA_OFST 4
24321 * Returns the simple metadata for a specific plugin request message. This
24334 #define MC_CMD_PLUGIN_GET_META_MSG_IN_HANDLE_LEN 4
24336 #define MC_CMD_PLUGIN_GET_META_MSG_IN_ID_OFST 4
24337 #define MC_CMD_PLUGIN_GET_META_MSG_IN_ID_LEN 4
24345 #define MC_CMD_PLUGIN_GET_META_MSG_OUT_ID_LEN 4
24347 * a unique ID in an array to allow for more efficient storage/management.
24349 #define MC_CMD_PLUGIN_GET_META_MSG_OUT_INDEX_OFST 4
24350 #define MC_CMD_PLUGIN_GET_META_MSG_OUT_INDEX_LEN 4
24352 * formatted as a C identifier in the basic ASCII character set with any spare
24355 * a trusted purpose.
24362 * specified here will fit in to MC_CMD_PLUGIN_REQ_IN_DATA in a single MCDI
24366 #define MC_CMD_PLUGIN_GET_META_MSG_OUT_DATA_SIZE_LEN 4
24388 * Returns a list of all plugin extensions currently loaded and available. The
24401 #define MC_CMD_PLUGIN_GET_ALL_IN_LEN 4
24406 #define MC_CMD_PLUGIN_GET_ALL_IN_FLAGS_LEN 4
24432 * Send a command to a plugin. A plugin may define an arbitrary number of
24434 * identified by a 32-bit ID.
24449 #define MC_CMD_PLUGIN_REQ_IN_HANDLE_LEN 4
24451 #define MC_CMD_PLUGIN_REQ_IN_ID_OFST 4
24452 #define MC_CMD_PLUGIN_REQ_IN_ID_LEN 4
24477 /* DESC_ADDR_REGION structuredef: Describes a contiguous region of DESC_ADDR
24478 * space that maps to a contiguous region of TRGT_ADDR space. Addresses
24488 #define DESC_ADDR_REGION_DESC_ADDR_BASE_LO_LEN 4
24491 #define DESC_ADDR_REGION_DESC_ADDR_BASE_HI_OFST 4
24492 #define DESC_ADDR_REGION_DESC_ADDR_BASE_HI_LEN 4
24503 #define DESC_ADDR_REGION_TRGT_ADDR_BASE_LO_LEN 4
24507 #define DESC_ADDR_REGION_TRGT_ADDR_BASE_HI_LEN 4
24514 #define DESC_ADDR_REGION_WINDOW_SIZE_LOG2_LEN 4
24518 * must be a multiple of 1 << TRGT_ADDR_ALIGN_LOG2.
24521 #define DESC_ADDR_REGION_TRGT_ADDR_ALIGN_LOG2_LEN 4
24527 #define DESC_ADDR_REGION_RSVD_LO_LEN 4
24531 #define DESC_ADDR_REGION_RSVD_HI_LEN 4
24540 …* Returns a description of the mapping from DESC_ADDR to TRGT_ADDR for the calling function's addr…
24551 #define MC_CMD_GET_DESC_ADDR_INFO_OUT_LEN 4
24556 #define MC_CMD_GET_DESC_ADDR_INFO_OUT_MAPPING_TYPE_LEN 4
24567 …* Returns a list of the DESC_ADDR regions for the calling function's address space. Only valid if…
24595 …* Set the base TRGT_ADDR for a set of DESC_ADDR regions for the calling function's address space. …
24608 /* A bitmask indicating which regions should have their base TRGT_ADDR updated.
24609 * To update the base TRGR_ADDR for a DESC_ADDR region, the corresponding bit
24613 #define MC_CMD_SET_DESC_ADDR_REGIONS_IN_SET_REGION_MASK_LEN 4
24615 #define MC_CMD_SET_DESC_ADDR_REGIONS_IN_RSVD_OFST 4
24616 #define MC_CMD_SET_DESC_ADDR_REGIONS_IN_RSVD_LEN 4
24625 #define MC_CMD_SET_DESC_ADDR_REGIONS_IN_TRGT_ADDR_BASE_LO_LEN 4
24629 #define MC_CMD_SET_DESC_ADDR_REGIONS_IN_TRGT_ADDR_BASE_HI_LEN 4
24642 * Execute an arbitrary MCDI command on behalf of a different client. The
24646 * indicated client. The given client must be a descendant of the requestor.
24657 #define MC_CMD_CLIENT_CMD_IN_LEN 4
24660 #define MC_CMD_CLIENT_CMD_IN_CLIENT_ID_LEN 4
24668 * Create a new client object. Clients are a system for delineating NIC
24669 * resource ownership, such that groups of resources may be torn down as a
24671 * and a glossary. Clients created by this command are known as "dynamic
24672 * clients". The newly-created client is a child of the client which sent this
24686 #define MC_CMD_CLIENT_ALLOC_OUT_LEN 4
24689 #define MC_CMD_CLIENT_ALLOC_OUT_CLIENT_ID_LEN 4
24704 #define MC_CMD_CLIENT_FREE_IN_LEN 4
24705 /* The ID of the client to be freed. This client must be a descendant of the
24706 * requestor. A client cannot free itself.
24709 #define MC_CMD_CLIENT_FREE_IN_CLIENT_ID_LEN 4
24718 * and a 'user'. The owner is the client which allocated the VI
24735 #define MC_CMD_SET_VI_USER_IN_INSTANCE_LEN 4
24736 /* Client ID to become the new user. This must be a descendant of the owning
24740 #define MC_CMD_SET_VI_USER_IN_CLIENT_ID_OFST 4
24741 #define MC_CMD_SET_VI_USER_IN_CLIENT_ID_LEN 4
24749 * A device reports a set of MAC addresses for each client to use, known as the
24752 * a hint to that client which MAC address its administrator would like to use
24755 * with switching within the device. There is no guarantee that a client will
24756 * be able to send traffic with a source MAC address taken from the list of MAC
24757 * address reported, nor is there a guarantee that a client will be able to
24758 * resource traffic with a destination MAC taken from the list of MAC
24759 * addresses. Likewise, there is no guarantee that a client will not be able to
24760 * use a MAC address not present in the list. Restrictions on switching are
24763 * tenants to use this API whilst a provider is using the EVB API, the MAC
24766 * to allow tenants to use the EVB API whilst a provider is using this API, if
24767 * a client queries the MAC addresses for a vPort using the host_evb_port_id
24770 * (i.e. MC_CMD_VPORT_GET_MAC_ADDRESSES) or implicit (e.g. creation of a
24771 * vAdaptor with a NULL/automatic MAC address). Changing the MAC address on a
24774 * clients. On VirtIO device reset, a vAdaptor is created with an automatic MAC
24785 #define MC_CMD_GET_CLIENT_MAC_ADDRESSES_IN_LEN 4
24786 /* A handle for the client for whom MAC address should be obtained. Use
24791 #define MC_CMD_GET_CLIENT_MAC_ADDRESSES_IN_CLIENT_HANDLE_LEN 4
24809 * Set the permanent MAC addresses for a client. The caller must by an
24819 #define MC_CMD_SET_CLIENT_MAC_ADDRESSES_IN_LENMIN 4
24822 #define MC_CMD_SET_CLIENT_MAC_ADDRESSES_IN_LEN(num) (4+6*(num))
24823 #define MC_CMD_SET_CLIENT_MAC_ADDRESSES_IN_MAC_ADDRS_NUM(len) (((len)-4)/6)
24824 /* A handle for the client for whom MAC addresses should be set */
24826 #define MC_CMD_SET_CLIENT_MAC_ADDRESSES_IN_CLIENT_HANDLE_LEN 4
24828 #define MC_CMD_SET_CLIENT_MAC_ADDRESSES_IN_MAC_ADDRS_OFST 4
24864 #define MC_CMD_GET_BOARD_ATTR_OUT_FLAGS_LEN 4
24874 #define MC_CMD_GET_BOARD_ATTR_OUT_ATTRIBUTES_OFST 4
24875 #define MC_CMD_GET_BOARD_ATTR_OUT_ATTRIBUTES_LEN 4
24876 #define MC_CMD_GET_BOARD_ATTR_OUT_SOC_EE_OFST 4
24879 #define MC_CMD_GET_BOARD_ATTR_OUT_SUC_EE_OFST 4
24882 #define MC_CMD_GET_BOARD_ATTR_OUT_FPGA_VOLTAGES_SUPPORTED_OFST 4
24891 #define MC_CMD_GET_BOARD_ATTR_OUT_CAGE_COUNT_OFST 4
24923 #define MC_CMD_GET_SOC_STATE_OUT_FLAGS_LEN 4
24934 #define MC_CMD_GET_SOC_STATE_OUT_ATTRIBUTES_OFST 4
24935 #define MC_CMD_GET_SOC_STATE_OUT_ATTRIBUTES_LEN 4
24936 #define MC_CMD_GET_SOC_STATE_OUT_RUN_STATE_OFST 4
24951 #define MC_CMD_GET_SOC_STATE_OUT_RESET_COUNT_LEN 4
24971 #define MC_CMD_CHECK_SCHEDULER_CREDITS_IN_FLAGS_LEN 4
24976 * into pages. This field specifies which (0-indexed) page to request. A
24982 #define MC_CMD_CHECK_SCHEDULER_CREDITS_IN_PAGE_OFST 4
24983 #define MC_CMD_CHECK_SCHEDULER_CREDITS_IN_PAGE_LEN 4
24993 #define MC_CMD_CHECK_SCHEDULER_CREDITS_OUT_TOTAL_RESULTS_LEN 4
24995 #define MC_CMD_CHECK_SCHEDULER_CREDITS_OUT_NUM_PAGES_OFST 4
24996 #define MC_CMD_CHECK_SCHEDULER_CREDITS_OUT_NUM_PAGES_LEN 4
24999 #define MC_CMD_CHECK_SCHEDULER_CREDITS_OUT_RESULTS_THIS_PAGE_LEN 4
25000 /* Result generation count. Incremented any time a request is made with PAGE=0.
25003 #define MC_CMD_CHECK_SCHEDULER_CREDITS_OUT_GENERATION_LEN 4
25025 #define MC_CMD_TXQ_STATS_IN_INSTANCE_LEN 4
25027 #define MC_CMD_TXQ_STATS_IN_FLAGS_OFST 4
25028 #define MC_CMD_TXQ_STATS_IN_FLAGS_LEN 4
25029 #define MC_CMD_TXQ_STATS_IN_CLEAR_OFST 4
25042 #define MC_CMD_TXQ_STATS_OUT_STATISTICS_LO_LEN 4
25045 #define MC_CMD_TXQ_STATS_OUT_STATISTICS_HI_OFST 4
25046 #define MC_CMD_TXQ_STATS_OUT_STATISTICS_HI_LEN 4
25057 #define FUNCTION_PERSONALITY_LEN 4
25059 #define FUNCTION_PERSONALITY_ID_LEN 4
25070 /* enum: Function has virtio block device configuration registers and a
25071 * doorbell for a single virtqueue.
25074 /* enum: Function is a Xilinx acceleration device - management function */
25076 /* enum: Function is a Xilinx acceleration device - user function */
25084 * Get a list of the virtio features supported by the device.
25092 #define MC_CMD_VIRTIO_GET_FEATURES_IN_LEN 4
25097 #define MC_CMD_VIRTIO_GET_FEATURES_IN_DEVICE_ID_LEN 4
25107 /* Features supported by the device. The result is a bitfield in the format of
25115 #define MC_CMD_VIRTIO_GET_FEATURES_OUT_FEATURES_LO_LEN 4
25118 #define MC_CMD_VIRTIO_GET_FEATURES_OUT_FEATURES_HI_OFST 4
25119 #define MC_CMD_VIRTIO_GET_FEATURES_OUT_FEATURES_HI_LEN 4
25126 * Query whether a given set of features is supported. Fails with ENOSUP if the
25127 * driver requests a feature the device doesn't support. Fails with EINVAL if
25128 * the driver fails to request a feature which the device requires.
25141 #define MC_CMD_VIRTIO_TEST_FEATURES_IN_DEVICE_ID_LEN 4
25144 #define MC_CMD_VIRTIO_TEST_FEATURES_IN_RESERVED_OFST 4
25145 #define MC_CMD_VIRTIO_TEST_FEATURES_IN_RESERVED_LEN 4
25152 #define MC_CMD_VIRTIO_TEST_FEATURES_IN_FEATURES_LO_LEN 4
25156 #define MC_CMD_VIRTIO_TEST_FEATURES_IN_FEATURES_HI_LEN 4
25168 * (hardware device as a whole), rather than that of individual configured
25179 #define MC_CMD_VIRTIO_GET_CAPABILITIES_IN_LEN 4
25184 #define MC_CMD_VIRTIO_GET_CAPABILITIES_IN_DEVICE_ID_LEN 4
25189 #define MC_CMD_VIRTIO_GET_CAPABILITIES_OUT_LEN 4
25190 /* Maximum number of queues supported for a single device instance */
25192 #define MC_CMD_VIRTIO_GET_CAPABILITIES_OUT_MAX_QUEUES_LEN 4
25197 * Create a virtio virtqueue. Fails with EALREADY if the queue already exists.
25198 * Fails with ENOSUP if a feature is requested that isn't supported. Fails with
25199 * EINVAL if a required feature isn't requested, or any other parameter is
25209 /* Type of virtqueue to create. A network rxq and a txq can exist at the same
25210 * time on a single VI.
25214 /* enum: A network device receive queue */
25216 /* enum: A network device transmit queue */
25218 /* enum: A block device request queue */
25222 /* If the calling function is a PF and this field is not VF_NULL, create the
25232 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_INSTANCE_OFST 4
25233 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_INSTANCE_LEN 4
25234 /* Queue size, in entries. Must be a power of two. */
25236 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_SIZE_LEN 4
25239 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_FLAGS_LEN 4
25247 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_DESC_TBL_ADDR_LO_LEN 4
25251 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_DESC_TBL_ADDR_HI_LEN 4
25258 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_AVAIL_RING_ADDR_LO_LEN 4
25262 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_AVAIL_RING_ADDR_HI_LEN 4
25269 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_USED_RING_ADDR_LO_LEN 4
25273 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_USED_RING_ADDR_HI_LEN 4
25280 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_PASID_LEN 4
25291 * spec and in the return from MC_CMD_VIRTIO_GET_FEATURES. Must be a subset of
25299 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_FEATURES_LO_LEN 4
25303 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_FEATURES_HI_LEN 4
25311 * equivalent if the original queue was on a thirdparty device). Otherwise, it
25315 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_INITIAL_AVAIL_IDX_LEN 4
25318 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_INITIAL_PIDX_LEN 4
25322 * the original queue was on a thirdparty device). Otherwise, it should be
25326 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_INITIAL_USED_IDX_LEN 4
25329 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_INITIAL_CIDX_LEN 4
25330 /* A MAE_MPORT_SELECTOR defining which mport this queue should be associated
25335 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_MPORT_SELECTOR_LEN 4
25343 * Destroy a virtio virtqueue
25359 /* If the calling function is a PF and this field is not VF_NULL, destroy the
25367 #define MC_CMD_VIRTIO_FINI_QUEUE_REQ_INSTANCE_OFST 4
25368 #define MC_CMD_VIRTIO_FINI_QUEUE_REQ_INSTANCE_LEN 4
25374 #define MC_CMD_VIRTIO_FINI_QUEUE_RESP_FINAL_AVAIL_IDX_LEN 4
25377 #define MC_CMD_VIRTIO_FINI_QUEUE_RESP_FINAL_PIDX_LEN 4
25379 #define MC_CMD_VIRTIO_FINI_QUEUE_RESP_FINAL_USED_IDX_OFST 4
25380 #define MC_CMD_VIRTIO_FINI_QUEUE_RESP_FINAL_USED_IDX_LEN 4
25382 #define MC_CMD_VIRTIO_FINI_QUEUE_RESP_FINAL_CIDX_OFST 4
25383 #define MC_CMD_VIRTIO_FINI_QUEUE_RESP_FINAL_CIDX_LEN 4
25388 * Get the offset in the BAR of the doorbells for a VI. Doesn't require the
25407 /* If the calling function is a PF and this field is not VF_NULL, query the VI
25415 #define MC_CMD_VIRTIO_GET_DOORBELL_OFFSET_REQ_INSTANCE_OFST 4
25416 #define MC_CMD_VIRTIO_GET_DOORBELL_OFFSET_REQ_INSTANCE_LEN 4
25422 #define MC_CMD_VIRTIO_GET_NET_DOORBELL_OFFSET_RESP_RX_DBL_OFFSET_LEN 4
25424 #define MC_CMD_VIRTIO_GET_NET_DOORBELL_OFFSET_RESP_TX_DBL_OFFSET_OFST 4
25425 #define MC_CMD_VIRTIO_GET_NET_DOORBELL_OFFSET_RESP_TX_DBL_OFFSET_LEN 4
25428 #define MC_CMD_VIRTIO_GET_BLOCK_DOORBELL_OFFSET_RESP_LEN 4
25431 #define MC_CMD_VIRTIO_GET_BLOCK_DOORBELL_OFFSET_RESP_DBL_OFFSET_LEN 4
25433 /* PCIE_FUNCTION structuredef: Structure representing a PCIe function ID
25455 /* enum: Function is a PF (when PF != PF_NULL) or invalid function (when PF ==
25464 #define PCIE_FUNCTION_INTF_OFST 4
25465 #define PCIE_FUNCTION_INTF_LEN 4
25478 * (absolute VI number + VI relative queue number). On Keystone, a VI can
25483 #define QUEUE_ID_LEN 4
25503 * subsystem, see SF-122927-TC. This function allocates a new descriptor proxy
25504 * function on the host and assigns a user-defined label. The actual function
25523 #define MC_CMD_DESC_PROXY_FUNC_CREATE_IN_FUNC_LO_LEN 4
25526 #define MC_CMD_DESC_PROXY_FUNC_CREATE_IN_FUNC_HI_OFST 4
25527 #define MC_CMD_DESC_PROXY_FUNC_CREATE_IN_FUNC_HI_LEN 4
25534 #define MC_CMD_DESC_PROXY_FUNC_CREATE_IN_FUNC_INTF_OFST 4
25535 #define MC_CMD_DESC_PROXY_FUNC_CREATE_IN_FUNC_INTF_LEN 4
25541 #define MC_CMD_DESC_PROXY_FUNC_CREATE_IN_PERSONALITY_LEN 4
25554 #define MC_CMD_DESC_PROXY_FUNC_CREATE_OUT_HANDLE_LEN 4
25556 #define MC_CMD_DESC_PROXY_FUNC_CREATE_OUT_FUNC_OFST 4
25558 #define MC_CMD_DESC_PROXY_FUNC_CREATE_OUT_FUNC_LO_OFST 4
25559 #define MC_CMD_DESC_PROXY_FUNC_CREATE_OUT_FUNC_LO_LEN 4
25563 #define MC_CMD_DESC_PROXY_FUNC_CREATE_OUT_FUNC_HI_LEN 4
25566 #define MC_CMD_DESC_PROXY_FUNC_CREATE_OUT_FUNC_PF_OFST 4
25571 #define MC_CMD_DESC_PROXY_FUNC_CREATE_OUT_FUNC_INTF_LEN 4
25595 #define MC_CMD_DESC_PROXY_FUNC_DESTROY_IN_STORE_LEN 4
25604 * bits. See Virtio specification v1.1, Section 5.2.4 (struct
25612 #define VIRTIO_BLK_CONFIG_FEATURES_LO_LEN 4
25615 #define VIRTIO_BLK_CONFIG_FEATURES_HI_OFST 4
25616 #define VIRTIO_BLK_CONFIG_FEATURES_HI_LEN 4
25629 #define VIRTIO_BLK_CONFIG_VIRTIO_BLK_F_GEOMETRY_LBN 4
25691 #define VIRTIO_BLK_CONFIG_CAPACITY_LO_LEN 4
25695 #define VIRTIO_BLK_CONFIG_CAPACITY_HI_LEN 4
25704 #define VIRTIO_BLK_CONFIG_SIZE_MAX_LEN 4
25707 /* Maximum number of segments in a request. Only valid when
25711 #define VIRTIO_BLK_CONFIG_SEG_MAX_LEN 4
25735 #define VIRTIO_BLK_CONFIG_BLK_SIZE_LEN 4
25763 #define VIRTIO_BLK_CONFIG_OPT_IO_SIZE_LEN 4
25783 #define VIRTIO_BLK_CONFIG_MAX_DISCARD_SECTORS_LEN 4
25789 #define VIRTIO_BLK_CONFIG_MAX_DISCARD_SEG_LEN 4
25796 #define VIRTIO_BLK_CONFIG_DISCARD_SECTOR_ALIGNMENT_LEN 4
25803 #define VIRTIO_BLK_CONFIG_MAX_WRITE_ZEROES_SECTORS_LEN 4
25810 #define VIRTIO_BLK_CONFIG_MAX_WRITE_ZEROES_SEG_LEN 4
25848 #define MC_CMD_DESC_PROXY_FUNC_CONFIG_SET_IN_HANDLE_LEN 4
25850 #define MC_CMD_DESC_PROXY_FUNC_CONFIG_SET_IN_RESERVED_OFST 4
25870 * next function/device reset) a DESC_PROXY_FUNC_CONFIG_SET MCDI event will be
25884 #define MC_CMD_DESC_PROXY_FUNC_COMMIT_IN_HANDLE_LEN 4
25885 #define MC_CMD_DESC_PROXY_FUNC_COMMIT_IN_STORE_OFST 4
25886 #define MC_CMD_DESC_PROXY_FUNC_COMMIT_IN_STORE_LEN 4
25893 #define MC_CMD_DESC_PROXY_FUNC_COMMIT_OUT_LEN 4
25897 #define MC_CMD_DESC_PROXY_FUNC_COMMIT_OUT_CONFIG_GENERATION_LEN 4
25902 * Retrieve a handle for an existing descriptor proxy function. Returns an
25927 #define MC_CMD_DESC_PROXY_FUNC_OPEN_OUT_HANDLE_LEN 4
25929 #define MC_CMD_DESC_PROXY_FUNC_OPEN_OUT_FUNC_OFST 4
25931 #define MC_CMD_DESC_PROXY_FUNC_OPEN_OUT_FUNC_LO_OFST 4
25932 #define MC_CMD_DESC_PROXY_FUNC_OPEN_OUT_FUNC_LO_LEN 4
25936 #define MC_CMD_DESC_PROXY_FUNC_OPEN_OUT_FUNC_HI_LEN 4
25939 #define MC_CMD_DESC_PROXY_FUNC_OPEN_OUT_FUNC_PF_OFST 4
25944 #define MC_CMD_DESC_PROXY_FUNC_OPEN_OUT_FUNC_INTF_LEN 4
25947 #define MC_CMD_DESC_PROXY_FUNC_OPEN_OUT_PERSONALITY_LEN 4
25952 #define MC_CMD_DESC_PROXY_FUNC_OPEN_OUT_CONFIG_STATUS_LEN 4
25965 #define MC_CMD_DESC_PROXY_FUNC_OPEN_OUT_CONFIG_GENERATION_LEN 4
25981 * Releases a handle for an open descriptor proxy function. If proxying was
25985 * will put the device into a failed state and signal the host driver of the
25994 #define MC_CMD_DESC_PROXY_FUNC_CLOSE_IN_LEN 4
25997 #define MC_CMD_DESC_PROXY_FUNC_CLOSE_IN_HANDLE_LEN 4
26008 #define DESC_PROXY_FUNC_MAP_FUNC_LO_LEN 4
26011 #define DESC_PROXY_FUNC_MAP_FUNC_HI_OFST 4
26012 #define DESC_PROXY_FUNC_MAP_FUNC_HI_LEN 4
26025 #define DESC_PROXY_FUNC_MAP_FUNC_INTF_OFST 4
26026 #define DESC_PROXY_FUNC_MAP_FUNC_INTF_LEN 4
26031 #define DESC_PROXY_FUNC_MAP_PERSONALITY_LEN 4
26055 #define MC_CMD_DESC_PROXY_FUNC_ENUM_IN_LEN 4
26060 #define MC_CMD_DESC_PROXY_FUNC_ENUM_IN_START_IDX_LEN 4
26063 #define MC_CMD_DESC_PROXY_FUNC_ENUM_OUT_LENMIN 4
26066 #define MC_CMD_DESC_PROXY_FUNC_ENUM_OUT_LEN(num) (4+52*(num))
26067 #define MC_CMD_DESC_PROXY_FUNC_ENUM_OUT_FUNC_MAP_NUM(len) (((len)-4)/52)
26069 #define MC_CMD_DESC_PROXY_FUNC_ENUM_OUT_FLAGS_LEN 4
26074 #define MC_CMD_DESC_PROXY_FUNC_ENUM_OUT_FUNC_MAP_OFST 4
26077 #define MC_CMD_DESC_PROXY_FUNC_ENUM_OUT_FUNC_MAP_MAXNUM 4
26086 * function. This is a legacy function that only supports single queue proxy
26103 #define MC_CMD_DESC_PROXY_FUNC_ENABLE_IN_HANDLE_LEN 4
26107 #define MC_CMD_DESC_PROXY_FUNC_ENABLE_IN_TARGET_EVQ_OFST 4
26108 #define MC_CMD_DESC_PROXY_FUNC_ENABLE_IN_TARGET_EVQ_LEN 4
26114 #define MC_CMD_DESC_PROXY_FUNC_ENABLE_OUT_VI_COUNT_LEN 4
26116 #define MC_CMD_DESC_PROXY_FUNC_ENABLE_OUT_VI_BASE_OFST 4
26117 #define MC_CMD_DESC_PROXY_FUNC_ENABLE_OUT_VI_BASE_LEN 4
26122 * Enable descriptor proxying for a source queue on a host function into target
26123 * event queue. Source queue number is a relative virtqueue number on the
26124 * source function (0 to max_virtqueues-1). For a multi-queue device, the
26141 #define MC_CMD_DESC_PROXY_FUNC_ENABLE_QUEUE_IN_HANDLE_LEN 4
26143 #define MC_CMD_DESC_PROXY_FUNC_ENABLE_QUEUE_IN_SOURCE_QUEUE_OFST 4
26144 #define MC_CMD_DESC_PROXY_FUNC_ENABLE_QUEUE_IN_SOURCE_QUEUE_LEN 4
26149 #define MC_CMD_DESC_PROXY_FUNC_ENABLE_QUEUE_IN_TARGET_EVQ_LEN 4
26166 #define MC_CMD_DESC_PROXY_FUNC_DISABLE_IN_LEN 4
26171 #define MC_CMD_DESC_PROXY_FUNC_DISABLE_IN_HANDLE_LEN 4
26179 * Disable descriptor proxying for a specific source queue on a function.
26192 #define MC_CMD_DESC_PROXY_FUNC_DISABLE_QUEUE_IN_HANDLE_LEN 4
26194 #define MC_CMD_DESC_PROXY_FUNC_DISABLE_QUEUE_IN_SOURCE_QUEUE_OFST 4
26195 #define MC_CMD_DESC_PROXY_FUNC_DISABLE_QUEUE_IN_SOURCE_QUEUE_LEN 4
26207 * attached (after receiving a driver attach event for the descriptor proxy
26216 #define MC_CMD_DESC_PROXY_GET_VI_INFO_IN_LEN 4
26221 #define MC_CMD_DESC_PROXY_GET_VI_INFO_IN_HANDLE_LEN 4
26227 #define MC_CMD_DESC_PROXY_FUNC_GET_VI_INFO_OUT_LEN(num) (0+4*(num))
26228 #define MC_CMD_DESC_PROXY_FUNC_GET_VI_INFO_OUT_VI_MAP_NUM(len) (((len)-0)/4)
26234 #define MC_CMD_DESC_PROXY_FUNC_GET_VI_INFO_OUT_VI_MAP_LEN 4
26248 * Get Address space identifier for use in mem2mem descriptors for a given
26261 #define MC_CMD_GET_ADDR_SPC_ID_IN_TYPE_LEN 4
26294 #define MC_CMD_GET_ADDR_SPC_ID_IN_FUNC_OFST 4
26296 #define MC_CMD_GET_ADDR_SPC_ID_IN_FUNC_LO_OFST 4
26297 #define MC_CMD_GET_ADDR_SPC_ID_IN_FUNC_LO_LEN 4
26301 #define MC_CMD_GET_ADDR_SPC_ID_IN_FUNC_HI_LEN 4
26304 #define MC_CMD_GET_ADDR_SPC_ID_IN_FUNC_PF_OFST 4
26309 #define MC_CMD_GET_ADDR_SPC_ID_IN_FUNC_INTF_LEN 4
26312 #define MC_CMD_GET_ADDR_SPC_ID_IN_PASID_LEN 4
26315 #define MC_CMD_GET_ADDR_SPC_ID_IN_VI_LEN 4
26318 #define MC_CMD_GET_ADDR_SPC_ID_IN_HANDLE_OFST 4
26319 #define MC_CMD_GET_ADDR_SPC_ID_IN_HANDLE_LEN 4
26329 #define MC_CMD_GET_ADDR_SPC_ID_OUT_ADDR_SPC_ID_LO_LEN 4
26332 #define MC_CMD_GET_ADDR_SPC_ID_OUT_ADDR_SPC_ID_HI_OFST 4
26333 #define MC_CMD_GET_ADDR_SPC_ID_OUT_ADDR_SPC_ID_HI_LEN 4
26340 * Obtain a handle for a client given a description of that client. N.B. this
26352 /* Type of client to get a client handle for */
26354 #define MC_CMD_GET_CLIENT_HANDLE_IN_TYPE_LEN 4
26355 /* enum: Obtain a client handle for a PCIe function-type client. */
26359 * INTF=CALLER, PF=PF_NULL, VF=... to refer to a VF child of the calling PF or
26360 * a sibling VF of the calling VF. - INTF=CALLER, PF=..., VF=VF_NULL to refer
26361 * to a PF on the calling interface - INTF=CALLER, PF=..., VF=... to refer to a
26362 * VF on the calling interface - INTF=..., PF=..., VF=VF_NULL to refer to a PF
26363 * on a named interface - INTF=..., PF=..., VF=... to refer to a VF on a named
26364 * interface where ... refers to a small integer for the VF/PF fields, and to
26366 * meaningful to use INTF=CALLER within a structure that's an argument to
26369 #define MC_CMD_GET_CLIENT_HANDLE_IN_FUNC_OFST 4
26371 #define MC_CMD_GET_CLIENT_HANDLE_IN_FUNC_LO_OFST 4
26372 #define MC_CMD_GET_CLIENT_HANDLE_IN_FUNC_LO_LEN 4
26376 #define MC_CMD_GET_CLIENT_HANDLE_IN_FUNC_HI_LEN 4
26383 #define MC_CMD_GET_CLIENT_HANDLE_IN_FUNC_PF_OFST 4
26388 #define MC_CMD_GET_CLIENT_HANDLE_IN_FUNC_INTF_LEN 4
26391 #define MC_CMD_GET_CLIENT_HANDLE_OUT_LEN 4
26393 #define MC_CMD_GET_CLIENT_HANDLE_OUT_HANDLE_LEN 4
26396 #define MAE_FIELD_FLAGS_LEN 4
26398 #define MAE_FIELD_FLAGS_FLAT_LEN 4
26412 * it makes sense to use to determine the encapsulation type of a packet. Its
26413 * intended use is to keep a common packing of fields across multiple MCDI
26415 * use in an MCDI command, the command should end with a variable length byte
26422 #define MAE_ENC_FIELD_PAIRS_INGRESS_MPORT_SELECTOR_LEN 4
26425 #define MAE_ENC_FIELD_PAIRS_INGRESS_MPORT_SELECTOR_MASK_OFST 4
26426 #define MAE_ENC_FIELD_PAIRS_INGRESS_MPORT_SELECTOR_MASK_LEN 4
26486 #define MAE_ENC_FIELD_PAIRS_ENC_SRC_IP4_BE_LEN 4
26490 #define MAE_ENC_FIELD_PAIRS_ENC_SRC_IP4_BE_MASK_LEN 4
26502 #define MAE_ENC_FIELD_PAIRS_ENC_DST_IP4_BE_LEN 4
26506 #define MAE_ENC_FIELD_PAIRS_ENC_DST_IP4_BE_MASK_LEN 4
26580 #define MAE_ENC_FIELD_PAIRS_ENC_IP_FLAGS_BE_LEN 4
26584 #define MAE_ENC_FIELD_PAIRS_ENC_IP_FLAGS_BE_MASK_LEN 4
26609 #define MAE_FIELD_MASK_VALUE_PAIRS_INGRESS_MPORT_SELECTOR_LEN 4
26612 #define MAE_FIELD_MASK_VALUE_PAIRS_INGRESS_MPORT_SELECTOR_MASK_OFST 4
26613 #define MAE_FIELD_MASK_VALUE_PAIRS_INGRESS_MPORT_SELECTOR_MASK_LEN 4
26617 #define MAE_FIELD_MASK_VALUE_PAIRS_MARK_LEN 4
26621 #define MAE_FIELD_MASK_VALUE_PAIRS_MARK_MASK_LEN 4
26681 #define MAE_FIELD_MASK_VALUE_PAIRS_SRC_IP4_BE_LEN 4
26685 #define MAE_FIELD_MASK_VALUE_PAIRS_SRC_IP4_BE_MASK_LEN 4
26697 #define MAE_FIELD_MASK_VALUE_PAIRS_DST_IP4_BE_LEN 4
26701 #define MAE_FIELD_MASK_VALUE_PAIRS_DST_IP4_BE_MASK_LEN 4
26741 #define MAE_FIELD_MASK_VALUE_PAIRS_IP_FLAGS_BE_LEN 4
26745 #define MAE_FIELD_MASK_VALUE_PAIRS_IP_FLAGS_BE_MASK_LEN 4
26773 #define MAE_FIELD_MASK_VALUE_PAIRS_ENCAP_TYPE_LEN 4
26777 #define MAE_FIELD_MASK_VALUE_PAIRS_ENCAP_TYPE_MASK_LEN 4
26781 #define MAE_FIELD_MASK_VALUE_PAIRS_OUTER_RULE_ID_LEN 4
26785 #define MAE_FIELD_MASK_VALUE_PAIRS_OUTER_RULE_ID_MASK_LEN 4
26845 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_SRC_IP4_BE_LEN 4
26849 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_SRC_IP4_BE_MASK_LEN 4
26861 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_DST_IP4_BE_LEN 4
26865 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_DST_IP4_BE_MASK_LEN 4
26901 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_IP_FLAGS_BE_LEN 4
26905 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_IP_FLAGS_BE_MASK_LEN 4
26925 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_VNET_ID_BE_LEN 4
26929 #define MAE_FIELD_MASK_VALUE_PAIRS_ENC_VNET_ID_BE_MASK_LEN 4
26936 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_INGRESS_MPORT_SELECTOR_LEN 4
26939 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_INGRESS_MPORT_SELECTOR_MASK_OFST 4
26940 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_INGRESS_MPORT_SELECTOR_MASK_LEN 4
26944 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_MARK_LEN 4
26948 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_MARK_MASK_LEN 4
27008 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_SRC_IP4_BE_LEN 4
27012 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_SRC_IP4_BE_MASK_LEN 4
27024 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_DST_IP4_BE_LEN 4
27028 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_DST_IP4_BE_MASK_LEN 4
27068 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_IP_FLAGS_BE_LEN 4
27072 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_IP_FLAGS_BE_MASK_LEN 4
27100 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENCAP_TYPE_LEN 4
27104 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENCAP_TYPE_MASK_LEN 4
27108 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_OUTER_RULE_ID_LEN 4
27112 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_OUTER_RULE_ID_MASK_LEN 4
27172 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_SRC_IP4_BE_LEN 4
27176 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_SRC_IP4_BE_MASK_LEN 4
27188 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_DST_IP4_BE_LEN 4
27192 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_DST_IP4_BE_MASK_LEN 4
27228 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_IP_FLAGS_BE_LEN 4
27232 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_IP_FLAGS_BE_MASK_LEN 4
27252 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_VNET_ID_BE_LEN 4
27256 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_ENC_VNET_ID_BE_MASK_LEN 4
27260 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_FLAGS_LEN 4
27274 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_HAS_OVLAN_LBN 4
27294 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_FLAGS_MASK_LEN 4
27306 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_CT_MARK_LEN 4
27310 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_CT_MARK_MASK_LEN 4
27353 * (whichever is narrowers). This selector structure provides a stable way to
27356 #define MAE_MPORT_SELECTOR_LEN 4
27360 #define MAE_MPORT_SELECTOR_FLAT_LEN 4
27361 /* enum: An m-port selector value that is guaranteed never to represent a real
27370 /* enum: The MPORT connected to a given physical port */
27372 /* enum: The MPORT assigned to a given PCIe function. Deprecated in favour of
27378 /* enum: The MPORT assigned to a given PCIe function (see also FWRIVERHD-1108)
27381 /* enum: This is guaranteed never to be a valid selector type */
27388 #define MAE_MPORT_SELECTOR_PPORT_ID_WIDTH 4
27391 #define MAE_MPORT_SELECTOR_FUNC_INTF_ID_WIDTH 4
27399 #define MAE_MPORT_SELECTOR_FUNC_MH_PF_ID_WIDTH 4
27406 /* enum: Used for VF_ID to indicate a physical function. */
27409 * client. - When used by a PF with VF_ID == VF_ID_NULL, the mport selector
27411 * clients use ASSIGNED to achieve this behaviour). - When used by a PF with
27412 * VF_ID != VF_ID_NULL, the mport selector relates to a VF child of the calling
27413 * function. - When used by a VF with VF_ID == VF_ID_NULL, the mport selector
27414 * relates to the PF owning the calling function. - When used by a VF with
27415 * VF_ID != VF_ID_NULL, the mport selector relates to a sibling VF of the
27416 * calling function. - Not meaningful used by a client that is not a PCIe
27427 /* MAE_LINK_ENDPOINT_SELECTOR structuredef: Structure that identifies a real or
27433 #define MAE_LINK_ENDPOINT_SELECTOR_MPORT_SELECTOR_LEN 4
27437 #define MAE_LINK_ENDPOINT_SELECTOR_LINK_END_OFST 4
27438 #define MAE_LINK_ENDPOINT_SELECTOR_LINK_END_LEN 4
27443 /* A field for accessing the endpoint selector as a collection of bits */
27447 #define MAE_LINK_ENDPOINT_SELECTOR_FLAT_LO_LEN 4
27450 #define MAE_LINK_ENDPOINT_SELECTOR_FLAT_HI_OFST 4
27451 #define MAE_LINK_ENDPOINT_SELECTOR_FLAT_HI_LEN 4
27455 * commands that have been extended to take a MAE_LINK_ENDPOINT_SELECTOR
27478 /* The number of field IDs that the NIC supports. Any field with a ID greater
27480 * a support level of MAE_FIELD_UNSUPPORTED in all requests.
27483 #define MC_CMD_MAE_GET_CAPS_OUT_MATCH_FIELD_COUNT_LEN 4
27484 #define MC_CMD_MAE_GET_CAPS_OUT_ENCAP_TYPES_SUPPORTED_OFST 4
27485 #define MC_CMD_MAE_GET_CAPS_OUT_ENCAP_TYPES_SUPPORTED_LEN 4
27486 #define MC_CMD_MAE_GET_CAPS_OUT_ENCAP_TYPE_VXLAN_OFST 4
27489 #define MC_CMD_MAE_GET_CAPS_OUT_ENCAP_TYPE_NVGRE_OFST 4
27492 #define MC_CMD_MAE_GET_CAPS_OUT_ENCAP_TYPE_GENEVE_OFST 4
27495 #define MC_CMD_MAE_GET_CAPS_OUT_ENCAP_TYPE_L2GRE_OFST 4
27500 #define MC_CMD_MAE_GET_CAPS_OUT_COUNTERS_LEN 4
27503 #define MC_CMD_MAE_GET_CAPS_OUT_AR_COUNTERS_LEN 4
27504 /* The total number of counters lists available to allocate. A value of zero
27509 #define MC_CMD_MAE_GET_CAPS_OUT_COUNTER_LISTS_LEN 4
27512 #define MC_CMD_MAE_GET_CAPS_OUT_ENCAP_HEADER_LIMIT_LEN 4
27515 #define MC_CMD_MAE_GET_CAPS_OUT_RSVD_LEN 4
27518 #define MC_CMD_MAE_GET_CAPS_OUT_ACTION_SETS_LEN 4
27521 #define MC_CMD_MAE_GET_CAPS_OUT_ACTION_SET_LISTS_LEN 4
27524 #define MC_CMD_MAE_GET_CAPS_OUT_OUTER_RULES_LEN 4
27527 #define MC_CMD_MAE_GET_CAPS_OUT_ACTION_RULES_LEN 4
27529 * install a MATCH_ACTION filter with a priority number >= ACTION_PRIOS.
27532 #define MC_CMD_MAE_GET_CAPS_OUT_ACTION_PRIOS_LEN 4
27534 * install an OUTER_RULE filter with a priority number >= OUTER_PRIOS.
27537 #define MC_CMD_MAE_GET_CAPS_OUT_OUTER_PRIOS_LEN 4
27541 * a fatal error.
27544 #define MC_CMD_MAE_GET_CAPS_OUT_API_VER_LEN 4
27548 /* The number of field IDs that the NIC supports. Any field with a ID greater
27550 * a support level of MAE_FIELD_UNSUPPORTED in all requests.
27553 #define MC_CMD_MAE_GET_CAPS_V2_OUT_MATCH_FIELD_COUNT_LEN 4
27554 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ENCAP_TYPES_SUPPORTED_OFST 4
27555 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ENCAP_TYPES_SUPPORTED_LEN 4
27556 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ENCAP_TYPE_VXLAN_OFST 4
27559 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ENCAP_TYPE_NVGRE_OFST 4
27562 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ENCAP_TYPE_GENEVE_OFST 4
27565 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ENCAP_TYPE_L2GRE_OFST 4
27570 #define MC_CMD_MAE_GET_CAPS_V2_OUT_COUNTERS_LEN 4
27573 #define MC_CMD_MAE_GET_CAPS_V2_OUT_AR_COUNTERS_LEN 4
27574 /* The total number of counters lists available to allocate. A value of zero
27579 #define MC_CMD_MAE_GET_CAPS_V2_OUT_COUNTER_LISTS_LEN 4
27582 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ENCAP_HEADER_LIMIT_LEN 4
27585 #define MC_CMD_MAE_GET_CAPS_V2_OUT_RSVD_LEN 4
27588 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ACTION_SETS_LEN 4
27591 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ACTION_SET_LISTS_LEN 4
27594 #define MC_CMD_MAE_GET_CAPS_V2_OUT_OUTER_RULES_LEN 4
27597 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ACTION_RULES_LEN 4
27599 * install a MATCH_ACTION filter with a priority number >= ACTION_PRIOS.
27602 #define MC_CMD_MAE_GET_CAPS_V2_OUT_ACTION_PRIOS_LEN 4
27604 * install an OUTER_RULE filter with a priority number >= OUTER_PRIOS.
27607 #define MC_CMD_MAE_GET_CAPS_V2_OUT_OUTER_PRIOS_LEN 4
27611 * a fatal error.
27614 #define MC_CMD_MAE_GET_CAPS_V2_OUT_API_VER_LEN 4
27615 /* Mask of supported counter types. Each bit position corresponds to a value of
27622 #define MC_CMD_MAE_GET_CAPS_V2_OUT_COUNTER_TYPES_SUPPORTED_LEN 4
27625 #define MC_CMD_MAE_GET_CAPS_V2_OUT_CT_COUNTERS_LEN 4
27629 /* The number of field IDs that the NIC supports. Any field with a ID greater
27631 * a support level of MAE_FIELD_UNSUPPORTED in all requests.
27634 #define MC_CMD_MAE_GET_CAPS_V3_OUT_MATCH_FIELD_COUNT_LEN 4
27635 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ENCAP_TYPES_SUPPORTED_OFST 4
27636 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ENCAP_TYPES_SUPPORTED_LEN 4
27637 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ENCAP_TYPE_VXLAN_OFST 4
27640 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ENCAP_TYPE_NVGRE_OFST 4
27643 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ENCAP_TYPE_GENEVE_OFST 4
27646 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ENCAP_TYPE_L2GRE_OFST 4
27651 #define MC_CMD_MAE_GET_CAPS_V3_OUT_COUNTERS_LEN 4
27654 #define MC_CMD_MAE_GET_CAPS_V3_OUT_AR_COUNTERS_LEN 4
27655 /* The total number of counters lists available to allocate. A value of zero
27660 #define MC_CMD_MAE_GET_CAPS_V3_OUT_COUNTER_LISTS_LEN 4
27663 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ENCAP_HEADER_LIMIT_LEN 4
27666 #define MC_CMD_MAE_GET_CAPS_V3_OUT_RSVD_LEN 4
27669 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ACTION_SETS_LEN 4
27672 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ACTION_SET_LISTS_LEN 4
27675 #define MC_CMD_MAE_GET_CAPS_V3_OUT_OUTER_RULES_LEN 4
27678 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ACTION_RULES_LEN 4
27680 * install a MATCH_ACTION filter with a priority number >= ACTION_PRIOS.
27683 #define MC_CMD_MAE_GET_CAPS_V3_OUT_ACTION_PRIOS_LEN 4
27685 * install an OUTER_RULE filter with a priority number >= OUTER_PRIOS.
27688 #define MC_CMD_MAE_GET_CAPS_V3_OUT_OUTER_PRIOS_LEN 4
27692 * a fatal error.
27695 #define MC_CMD_MAE_GET_CAPS_V3_OUT_API_VER_LEN 4
27696 /* Mask of supported counter types. Each bit position corresponds to a value of
27703 #define MC_CMD_MAE_GET_CAPS_V3_OUT_COUNTER_TYPES_SUPPORTED_LEN 4
27706 #define MC_CMD_MAE_GET_CAPS_V3_OUT_CT_COUNTERS_LEN 4
27709 #define MC_CMD_MAE_GET_CAPS_V3_OUT_OR_COUNTERS_LEN 4
27714 * Get a level of support for match fields when used in match-action rules
27725 #define MC_CMD_MAE_GET_AR_CAPS_OUT_LENMIN 4
27728 #define MC_CMD_MAE_GET_AR_CAPS_OUT_LEN(num) (4+4*(num))
27729 #define MC_CMD_MAE_GET_AR_CAPS_OUT_FIELD_FLAGS_NUM(len) (((len)-4)/4)
27732 #define MC_CMD_MAE_GET_AR_CAPS_OUT_COUNT_LEN 4
27733 /* Array of values indicating the NIC's support for a given field, indexed by
27737 #define MC_CMD_MAE_GET_AR_CAPS_OUT_FIELD_FLAGS_OFST 4
27738 #define MC_CMD_MAE_GET_AR_CAPS_OUT_FIELD_FLAGS_LEN 4
27746 * Get a level of support for fields used in outer rule keys.
27757 #define MC_CMD_MAE_GET_OR_CAPS_OUT_LENMIN 4
27760 #define MC_CMD_MAE_GET_OR_CAPS_OUT_LEN(num) (4+4*(num))
27761 #define MC_CMD_MAE_GET_OR_CAPS_OUT_FIELD_FLAGS_NUM(len) (((len)-4)/4)
27764 #define MC_CMD_MAE_GET_OR_CAPS_OUT_COUNT_LEN 4
27766 #define MC_CMD_MAE_GET_OR_CAPS_OUT_FIELD_FLAGS_OFST 4
27767 #define MC_CMD_MAE_GET_OR_CAPS_OUT_FIELD_FLAGS_LEN 4
27786 #define MC_CMD_MAE_COUNTER_ALLOC_IN_LEN 4
27789 #define MC_CMD_MAE_COUNTER_ALLOC_IN_REQUESTED_COUNT_LEN 4
27795 #define MC_CMD_MAE_COUNTER_ALLOC_V2_IN_REQUESTED_COUNT_LEN 4
27797 #define MC_CMD_MAE_COUNTER_ALLOC_V2_IN_COUNTER_TYPE_OFST 4
27798 #define MC_CMD_MAE_COUNTER_ALLOC_V2_IN_COUNTER_TYPE_LEN 4
27806 #define MC_CMD_MAE_COUNTER_ALLOC_OUT_LEN(num) (8+4*(num))
27807 #define MC_CMD_MAE_COUNTER_ALLOC_OUT_COUNTER_ID_NUM(len) (((len)-8)/4)
27815 #define MC_CMD_MAE_COUNTER_ALLOC_OUT_GENERATION_COUNT_LEN 4
27819 * failure to allocate a single counter will cause an error to be returned. It
27822 #define MC_CMD_MAE_COUNTER_ALLOC_OUT_COUNTER_ID_COUNT_OFST 4
27823 #define MC_CMD_MAE_COUNTER_ALLOC_OUT_COUNTER_ID_COUNT_LEN 4
27826 #define MC_CMD_MAE_COUNTER_ALLOC_OUT_COUNTER_ID_LEN 4
27830 /* enum: A counter ID that is guaranteed never to represent a real counter */
27849 #define MC_CMD_MAE_COUNTER_FREE_IN_LEN(num) (4+4*(num))
27850 #define MC_CMD_MAE_COUNTER_FREE_IN_FREE_COUNTER_ID_NUM(len) (((len)-4)/4)
27853 #define MC_CMD_MAE_COUNTER_FREE_IN_COUNTER_ID_COUNT_LEN 4
27855 #define MC_CMD_MAE_COUNTER_FREE_IN_FREE_COUNTER_ID_OFST 4
27856 #define MC_CMD_MAE_COUNTER_FREE_IN_FREE_COUNTER_ID_LEN 4
27865 #define MC_CMD_MAE_COUNTER_FREE_V2_IN_COUNTER_ID_COUNT_LEN 4
27867 #define MC_CMD_MAE_COUNTER_FREE_V2_IN_FREE_COUNTER_ID_OFST 4
27868 #define MC_CMD_MAE_COUNTER_FREE_V2_IN_FREE_COUNTER_ID_LEN 4
27874 #define MC_CMD_MAE_COUNTER_FREE_V2_IN_COUNTER_TYPE_LEN 4
27882 #define MC_CMD_MAE_COUNTER_FREE_OUT_LEN(num) (8+4*(num))
27883 #define MC_CMD_MAE_COUNTER_FREE_OUT_FREED_COUNTER_ID_NUM(len) (((len)-8)/4)
27884 /* Generation count. A packet with generation count == GENERATION_COUNT will
27888 * a packet with generation count > GENERATION_COUNT guarantees that no more
27890 * are present, the counter ID has been reallocated. A counter ID will not be
27891 * reallocated within a single read cycle as this would merge increments from
27896 #define MC_CMD_MAE_COUNTER_FREE_OUT_GENERATION_COUNT_LEN 4
27898 * to free a single counter will cause an error to be returned. It is never
27902 #define MC_CMD_MAE_COUNTER_FREE_OUT_COUNTER_ID_COUNT_OFST 4
27903 #define MC_CMD_MAE_COUNTER_FREE_OUT_COUNTER_ID_COUNT_LEN 4
27905 * failure to free a counter can only occur on incorrect driver behaviour, so
27907 * debugging, attempting to free a single counter at a time will provide a
27911 #define MC_CMD_MAE_COUNTER_FREE_OUT_FREED_COUNTER_ID_LEN 4
27920 * Counters allocated to the calling function will be written in a round robin
27921 * at a fixed cycle rate, assuming sufficient credits are available. The driver
27922 * may cause the counter values to be written at a slower rate by constraining
27924 * packets to a different queue, it must call MAE_COUNTERS_STREAM_STOP to stop
27943 #define MC_CMD_MAE_COUNTERS_STREAM_START_IN_FLAGS_OFST 4
27944 #define MC_CMD_MAE_COUNTERS_STREAM_START_IN_FLAGS_LEN 4
27945 #define MC_CMD_MAE_COUNTERS_STREAM_START_IN_ZERO_SQUASH_DISABLE_OFST 4
27948 #define MC_CMD_MAE_COUNTERS_STREAM_START_IN_COUNTER_STALL_EN_OFST 4
27961 #define MC_CMD_MAE_COUNTERS_STREAM_START_V2_IN_FLAGS_OFST 4
27962 #define MC_CMD_MAE_COUNTERS_STREAM_START_V2_IN_FLAGS_LEN 4
27963 #define MC_CMD_MAE_COUNTERS_STREAM_START_V2_IN_ZERO_SQUASH_DISABLE_OFST 4
27966 #define MC_CMD_MAE_COUNTERS_STREAM_START_V2_IN_COUNTER_STALL_EN_OFST 4
27970 * corresponds to a value of the MAE_COUNTER_TYPE enum. For example a value of
27971 * 0x3 requests both AR and CT counters. A value of zero is invalid. Counter
27972 * types not selected by the mask value won't be included in the stream. If a
27975 * Requesting a counter type which isn't supported by firmware (reported in
27979 #define MC_CMD_MAE_COUNTERS_STREAM_START_V2_IN_COUNTER_TYPES_MASK_LEN 4
27982 #define MC_CMD_MAE_COUNTERS_STREAM_START_OUT_LEN 4
27984 #define MC_CMD_MAE_COUNTERS_STREAM_START_OUT_FLAGS_LEN 4
28006 #define MC_CMD_MAE_COUNTERS_STREAM_STOP_OUT_LEN 4
28014 #define MC_CMD_MAE_COUNTERS_STREAM_STOP_OUT_GENERATION_COUNT_LEN 4
28017 #define MC_CMD_MAE_COUNTERS_STREAM_STOP_V2_OUT_LENMIN 4
28020 #define MC_CMD_MAE_COUNTERS_STREAM_STOP_V2_OUT_LEN(num) (0+4*(num))
28021 #define MC_CMD_MAE_COUNTERS_STREAM_STOP_V2_OUT_GENERATION_COUNT_NUM(len) (((len)-0)/4)
28030 #define MC_CMD_MAE_COUNTERS_STREAM_STOP_V2_OUT_GENERATION_COUNT_LEN 4
28038 * Give a number of credits to the packetiser. Each credit received allows the
28040 * have written sufficient descriptors for a packet of length
28049 #define MC_CMD_MAE_COUNTERS_STREAM_GIVE_CREDITS_IN_LEN 4
28052 #define MC_CMD_MAE_COUNTERS_STREAM_GIVE_CREDITS_IN_NUM_CREDITS_LEN 4
28061 * header must be constructed as a valid packet with 0-length payload.
28073 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_IN_LENMIN 4
28076 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_IN_LEN(num) (4+1*(num))
28077 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_IN_HDR_DATA_NUM(len) (((len)-4)/1)
28079 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_IN_ENCAP_TYPE_LEN 4
28080 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_IN_HDR_DATA_OFST 4
28087 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_OUT_LEN 4
28089 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_OUT_ENCAP_HEADER_ID_LEN 4
28112 #define MC_CMD_MAE_ENCAP_HEADER_UPDATE_IN_EH_ID_LEN 4
28113 #define MC_CMD_MAE_ENCAP_HEADER_UPDATE_IN_ENCAP_TYPE_OFST 4
28114 #define MC_CMD_MAE_ENCAP_HEADER_UPDATE_IN_ENCAP_TYPE_LEN 4
28135 #define MC_CMD_MAE_ENCAP_HEADER_FREE_IN_LENMIN 4
28138 #define MC_CMD_MAE_ENCAP_HEADER_FREE_IN_LEN(num) (0+4*(num))
28139 #define MC_CMD_MAE_ENCAP_HEADER_FREE_IN_EH_ID_NUM(len) (((len)-0)/4)
28142 #define MC_CMD_MAE_ENCAP_HEADER_FREE_IN_EH_ID_LEN 4
28148 #define MC_CMD_MAE_ENCAP_HEADER_FREE_OUT_LENMIN 4
28151 #define MC_CMD_MAE_ENCAP_HEADER_FREE_OUT_LEN(num) (0+4*(num))
28152 #define MC_CMD_MAE_ENCAP_HEADER_FREE_OUT_FREED_EH_ID_NUM(len) (((len)-0)/4)
28155 #define MC_CMD_MAE_ENCAP_HEADER_FREE_OUT_FREED_EH_ID_LEN 4
28181 #define MC_CMD_MAE_MAC_ADDR_ALLOC_OUT_LEN 4
28183 #define MC_CMD_MAE_MAC_ADDR_ALLOC_OUT_MAC_ID_LEN 4
28184 /* enum: An MAC address ID that is guaranteed never to represent a real MAC
28200 #define MC_CMD_MAE_MAC_ADDR_FREE_IN_LENMIN 4
28203 #define MC_CMD_MAE_MAC_ADDR_FREE_IN_LEN(num) (0+4*(num))
28204 #define MC_CMD_MAE_MAC_ADDR_FREE_IN_MAC_ID_NUM(len) (((len)-0)/4)
28207 #define MC_CMD_MAE_MAC_ADDR_FREE_IN_MAC_ID_LEN 4
28213 #define MC_CMD_MAE_MAC_ADDR_FREE_OUT_LENMIN 4
28216 #define MC_CMD_MAE_MAC_ADDR_FREE_OUT_LEN(num) (0+4*(num))
28217 #define MC_CMD_MAE_MAC_ADDR_FREE_OUT_FREED_MAC_ID_NUM(len) (((len)-0)/4)
28220 #define MC_CMD_MAE_MAC_ADDR_FREE_OUT_FREED_MAC_ID_LEN 4
28241 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_FLAGS_LEN 4
28246 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_VLAN_POP_LBN 4
28270 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_VLAN0_TCI_BE_OFST 4
28283 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_RSVD_LEN 4
28286 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_ENCAP_HEADER_ID_LEN 4
28292 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_DELIVER_LEN 4
28297 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_COUNTER_LIST_ID_LEN 4
28298 /* If a driver only wished to update one counter within this action set, then
28299 * it can supply a COUNTER_ID instead of allocating a single-element counter
28302 * not valid to supply a non-NULL value for both COUNTER_LIST_ID and
28306 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_COUNTER_ID_LEN 4
28308 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_MARK_VALUE_LEN 4
28311 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_SRC_MAC_ID_LEN 4
28314 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_DST_MAC_ID_LEN 4
28322 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_FLAGS_LEN 4
28327 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_VLAN_POP_LBN 4
28351 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_VLAN0_TCI_BE_OFST 4
28364 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_RSVD_LEN 4
28367 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_ENCAP_HEADER_ID_LEN 4
28373 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_DELIVER_LEN 4
28378 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_COUNTER_LIST_ID_LEN 4
28379 /* If a driver only wished to update one counter within this action set, then
28380 * it can supply a COUNTER_ID instead of allocating a single-element counter
28383 * not valid to supply a non-NULL value for both COUNTER_LIST_ID and
28387 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_COUNTER_ID_LEN 4
28389 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_MARK_VALUE_LEN 4
28392 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_SRC_MAC_ID_LEN 4
28395 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_DST_MAC_ID_LEN 4
28398 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_REPORTED_SRC_MPORT_LEN 4
28441 #define MC_CMD_MAE_ACTION_SET_ALLOC_OUT_LEN 4
28447 #define MC_CMD_MAE_ACTION_SET_ALLOC_OUT_AS_ID_LEN 4
28462 #define MC_CMD_MAE_ACTION_SET_FREE_IN_LENMIN 4
28465 #define MC_CMD_MAE_ACTION_SET_FREE_IN_LEN(num) (0+4*(num))
28466 #define MC_CMD_MAE_ACTION_SET_FREE_IN_AS_ID_NUM(len) (((len)-0)/4)
28469 #define MC_CMD_MAE_ACTION_SET_FREE_IN_AS_ID_LEN 4
28475 #define MC_CMD_MAE_ACTION_SET_FREE_OUT_LENMIN 4
28478 #define MC_CMD_MAE_ACTION_SET_FREE_OUT_LEN(num) (0+4*(num))
28479 #define MC_CMD_MAE_ACTION_SET_FREE_OUT_FREED_AS_ID_NUM(len) (((len)-0)/4)
28482 #define MC_CMD_MAE_ACTION_SET_FREE_OUT_FREED_AS_ID_LEN 4
28505 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_IN_LEN(num) (4+4*(num))
28506 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_IN_AS_IDS_NUM(len) (((len)-4)/4)
28509 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_IN_COUNT_LEN 4
28514 * where one ASL is a sublist of another ASL. The sublist should be allocated
28519 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_IN_AS_IDS_OFST 4
28520 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_IN_AS_IDS_LEN 4
28526 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_OUT_LEN 4
28531 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_OUT_ASL_ID_LEN 4
28548 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_IN_LENMIN 4
28551 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_IN_LEN(num) (0+4*(num))
28552 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_IN_ASL_ID_NUM(len) (((len)-0)/4)
28555 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_IN_ASL_ID_LEN 4
28561 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_OUT_LENMIN 4
28564 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_OUT_LEN(num) (0+4*(num))
28565 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_OUT_FREED_ASL_ID_NUM(len) (((len)-0)/4)
28568 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_OUT_FREED_ASL_ID_LEN 4
28593 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_ENCAP_TYPE_LEN 4
28597 * MC_CMD_MAE_GET_CAPS_OUT.ENCAP_PRIOS If a packet matches two filters with
28600 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_PRIO_OFST 4
28601 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_PRIO_LEN 4
28604 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_LOOKUP_CONTROL_LEN 4
28617 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_CT_TCP_FLAGS_INHIBIT_LBN 4
28625 /* This field controls the actions that are performed when a rule is hit. */
28627 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_ACTION_CONTROL_LEN 4
28632 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_COUNTER_ID_LEN 4
28641 #define MC_CMD_MAE_OUTER_RULE_INSERT_OUT_LEN 4
28643 #define MC_CMD_MAE_OUTER_RULE_INSERT_OUT_OR_ID_LEN 4
28658 #define MC_CMD_MAE_OUTER_RULE_REMOVE_IN_LENMIN 4
28661 #define MC_CMD_MAE_OUTER_RULE_REMOVE_IN_LEN(num) (0+4*(num))
28662 #define MC_CMD_MAE_OUTER_RULE_REMOVE_IN_OR_ID_NUM(len) (((len)-0)/4)
28665 #define MC_CMD_MAE_OUTER_RULE_REMOVE_IN_OR_ID_LEN 4
28671 #define MC_CMD_MAE_OUTER_RULE_REMOVE_OUT_LENMIN 4
28674 #define MC_CMD_MAE_OUTER_RULE_REMOVE_OUT_LEN(num) (0+4*(num))
28675 #define MC_CMD_MAE_OUTER_RULE_REMOVE_OUT_REMOVED_OR_ID_NUM(len) (((len)-0)/4)
28678 #define MC_CMD_MAE_OUTER_RULE_REMOVE_OUT_REMOVED_OR_ID_LEN 4
28697 #define MC_CMD_MAE_OUTER_RULE_UPDATE_IN_OR_ID_LEN 4
28699 #define MC_CMD_MAE_OUTER_RULE_UPDATE_IN_ENCAP_TYPE_OFST 4
28700 #define MC_CMD_MAE_OUTER_RULE_UPDATE_IN_ENCAP_TYPE_LEN 4
28703 /* This field controls the actions that are performed when a rule is hit. */
28705 #define MC_CMD_MAE_OUTER_RULE_UPDATE_IN_ACTION_CONTROL_LEN 4
28718 #define MC_CMD_MAE_OUTER_RULE_UPDATE_IN_CT_TCP_FLAGS_INHIBIT_LBN 4
28730 #define MC_CMD_MAE_OUTER_RULE_UPDATE_IN_COUNTER_ID_LEN 4
28738 #define MAE_ACTION_RULE_RESPONSE_ASL_ID_LEN 4
28741 /* Only one of ASL_ID or AS_ID may have a non-NULL value. */
28742 #define MAE_ACTION_RULE_RESPONSE_AS_ID_OFST 4
28743 #define MAE_ACTION_RULE_RESPONSE_AS_ID_LEN 4
28751 #define MAE_ACTION_RULE_RESPONSE_LOOKUP_CONTROL_LEN 4
28776 #define MAE_ACTION_RULE_RESPONSE_COUNTER_ID_LEN 4
28783 * Insert a rule specify that packets matching a filter be processed according
28784 * to a previous allocated action. Masks can be set as indicated by
28801 #define MC_CMD_MAE_ACTION_RULE_INSERT_IN_PRIO_LEN 4
28803 #define MC_CMD_MAE_ACTION_RULE_INSERT_IN_RESPONSE_OFST 4
28807 #define MC_CMD_MAE_ACTION_RULE_INSERT_IN_RSVD_LEN 4
28816 #define MC_CMD_MAE_ACTION_RULE_INSERT_OUT_LEN 4
28818 #define MC_CMD_MAE_ACTION_RULE_INSERT_OUT_AR_ID_LEN 4
28838 #define MC_CMD_MAE_ACTION_RULE_UPDATE_IN_AR_ID_LEN 4
28840 #define MC_CMD_MAE_ACTION_RULE_UPDATE_IN_RESPONSE_OFST 4
28856 #define MC_CMD_MAE_ACTION_RULE_DELETE_IN_LENMIN 4
28859 #define MC_CMD_MAE_ACTION_RULE_DELETE_IN_LEN(num) (0+4*(num))
28860 #define MC_CMD_MAE_ACTION_RULE_DELETE_IN_AR_ID_NUM(len) (((len)-0)/4)
28863 #define MC_CMD_MAE_ACTION_RULE_DELETE_IN_AR_ID_LEN 4
28869 #define MC_CMD_MAE_ACTION_RULE_DELETE_OUT_LENMIN 4
28872 #define MC_CMD_MAE_ACTION_RULE_DELETE_OUT_LEN(num) (0+4*(num))
28873 #define MC_CMD_MAE_ACTION_RULE_DELETE_OUT_DELETED_AR_ID_NUM(len) (((len)-0)/4)
28876 #define MC_CMD_MAE_ACTION_RULE_DELETE_OUT_DELETED_AR_ID_LEN 4
28884 * Return the m-port corresponding to a selector.
28892 #define MC_CMD_MAE_MPORT_LOOKUP_IN_LEN 4
28894 #define MC_CMD_MAE_MPORT_LOOKUP_IN_MPORT_SELECTOR_LEN 4
28897 #define MC_CMD_MAE_MPORT_LOOKUP_OUT_LEN 4
28899 #define MC_CMD_MAE_MPORT_LOOKUP_OUT_MPORT_ID_LEN 4
28904 * Allocates a m-port, which can subsequently be used in action rules as a
28918 #define MC_CMD_MAE_MPORT_ALLOC_IN_TYPE_LEN 4
28920 * descriptor. Traffic received on this type of m-port will go to the VNIC on a
28925 /* enum: This type of m-port has a VNIC attached. Queues can be created on this
28931 #define MC_CMD_MAE_MPORT_ALLOC_IN_UUID_OFST 4
28940 #define MC_CMD_MAE_MPORT_ALLOC_ALIAS_IN_TYPE_LEN 4
28942 * descriptor. Traffic received on this type of m-port will go to the VNIC on a
28947 /* enum: This type of m-port has a VNIC attached. Queues can be created on this
28953 #define MC_CMD_MAE_MPORT_ALLOC_ALIAS_IN_UUID_OFST 4
28960 #define MC_CMD_MAE_MPORT_ALLOC_ALIAS_IN_DELIVER_MPORT_LEN 4
28968 #define MC_CMD_MAE_MPORT_ALLOC_VNIC_IN_TYPE_LEN 4
28970 * descriptor. Traffic received on this type of m-port will go to the VNIC on a
28975 /* enum: This type of m-port has a VNIC attached. Queues can be created on this
28981 #define MC_CMD_MAE_MPORT_ALLOC_VNIC_IN_UUID_OFST 4
28985 #define MC_CMD_MAE_MPORT_ALLOC_OUT_LEN 4
28988 #define MC_CMD_MAE_MPORT_ALLOC_OUT_MPORT_ID_LEN 4
28994 #define MC_CMD_MAE_MPORT_ALLOC_ALIAS_OUT_MPORT_ID_LEN 4
28995 /* A value that will appear in the packet metadata for any packets delivered
29001 #define MC_CMD_MAE_MPORT_ALLOC_ALIAS_OUT_LABEL_LEN 4
29004 #define MC_CMD_MAE_MPORT_ALLOC_VNIC_OUT_LEN 4
29007 #define MC_CMD_MAE_MPORT_ALLOC_VNIC_OUT_MPORT_ID_LEN 4
29012 * Free a m-port which was previously allocated by the driver.
29020 #define MC_CMD_MAE_MPORT_FREE_IN_LEN 4
29023 #define MC_CMD_MAE_MPORT_FREE_IN_MPORT_ID_LEN 4
29031 #define MAE_MPORT_DESC_MPORT_ID_LEN 4
29035 #define MAE_MPORT_DESC_FLAGS_OFST 4
29036 #define MAE_MPORT_DESC_FLAGS_LEN 4
29040 #define MAE_MPORT_DESC_CALLER_FLAGS_LEN 4
29057 #define MAE_MPORT_DESC_MPORT_TYPE_LEN 4
29058 /* enum: Connected to a MAC... */
29062 /* enum: Connected to a VNIC. */
29075 #define MAE_MPORT_DESC_RESERVED_LO_LEN 4
29079 #define MAE_MPORT_DESC_RESERVED_HI_LEN 4
29086 #define MAE_MPORT_DESC_NET_PORT_IDX_LEN 4
29091 #define MAE_MPORT_DESC_ALIAS_DELIVER_MPORT_ID_LEN 4
29096 #define MAE_MPORT_DESC_VNIC_CLIENT_TYPE_LEN 4
29106 #define MAE_MPORT_DESC_VNIC_FUNCTION_INTERFACE_LEN 4
29115 /* enum: Indicates that the function is a PF */
29121 #define MAE_MPORT_DESC_VNIC_PLUGIN_TBD_LEN 4
29128 #define MAE_MPORT_DESC_V2_MPORT_ID_LEN 4
29132 #define MAE_MPORT_DESC_V2_FLAGS_OFST 4
29133 #define MAE_MPORT_DESC_V2_FLAGS_LEN 4
29137 #define MAE_MPORT_DESC_V2_CALLER_FLAGS_LEN 4
29154 #define MAE_MPORT_DESC_V2_MPORT_TYPE_LEN 4
29155 /* enum: Connected to a MAC... */
29159 /* enum: Connected to a VNIC. */
29172 #define MAE_MPORT_DESC_V2_RESERVED_LO_LEN 4
29176 #define MAE_MPORT_DESC_V2_RESERVED_HI_LEN 4
29183 #define MAE_MPORT_DESC_V2_NET_PORT_IDX_LEN 4
29188 #define MAE_MPORT_DESC_V2_ALIAS_DELIVER_MPORT_ID_LEN 4
29193 #define MAE_MPORT_DESC_V2_VNIC_CLIENT_TYPE_LEN 4
29203 #define MAE_MPORT_DESC_V2_VNIC_FUNCTION_INTERFACE_LEN 4
29212 /* enum: Indicates that the function is a PF */
29218 #define MAE_MPORT_DESC_V2_VNIC_PLUGIN_TBD_LEN 4
29221 /* A client handle for the VNIC's owner. Only valid for type VNIC. */
29223 #define MAE_MPORT_DESC_V2_VNIC_CLIENT_HANDLE_LEN 4
29248 #define MC_CMD_MAE_MPORT_ENUMERATE_OUT_MPORT_DESC_COUNT_LEN 4
29249 #define MC_CMD_MAE_MPORT_ENUMERATE_OUT_SIZEOF_MPORT_DESC_OFST 4
29250 #define MC_CMD_MAE_MPORT_ENUMERATE_OUT_SIZEOF_MPORT_DESC_LEN 4
29252 * grow in future version of this command. Drivers should use a stride of
29264 * Firmware maintains a per-client journal of mport creations and deletions.
29267 * MC_CMD_ENTITY_RESET, the journal is regenerated from a blank start.
29275 #define MC_CMD_MAE_MPORT_READ_JOURNAL_IN_LEN 4
29278 #define MC_CMD_MAE_MPORT_READ_JOURNAL_IN_FLAGS_LEN 4
29288 #define MC_CMD_MAE_MPORT_READ_JOURNAL_OUT_FLAGS_LEN 4
29293 #define MC_CMD_MAE_MPORT_READ_JOURNAL_OUT_MPORT_DESC_COUNT_OFST 4
29294 #define MC_CMD_MAE_MPORT_READ_JOURNAL_OUT_MPORT_DESC_COUNT_LEN 4
29296 #define MC_CMD_MAE_MPORT_READ_JOURNAL_OUT_SIZEOF_MPORT_DESC_LEN 4
29298 * grow in future version of this command. Drivers should use a stride of
29308 * describes the location and properties of one N-bit field within a wider
29325 #define TABLE_FIELD_DESCR_WIDTH_OFST 4
29346 /* A version code that allows field semantics to be extended. All fields
29365 #define MC_CMD_TABLE_LIST_IN_LEN 4
29371 #define MC_CMD_TABLE_LIST_IN_FIRST_TABLE_ID_INDEX_LEN 4
29374 #define MC_CMD_TABLE_LIST_OUT_LENMIN 4
29377 #define MC_CMD_TABLE_LIST_OUT_LEN(num) (4+4*(num))
29378 #define MC_CMD_TABLE_LIST_OUT_TABLE_ID_NUM(len) (((len)-4)/4)
29381 #define MC_CMD_TABLE_LIST_OUT_N_TABLES_LEN 4
29382 /* A sequence of table identifiers. If all N_TABLES items do not fit, further
29383 * items can be obtained by repeating the call with a non-zero
29386 #define MC_CMD_TABLE_LIST_OUT_TABLE_ID_OFST 4
29387 #define MC_CMD_TABLE_LIST_OUT_TABLE_ID_LEN 4
29397 * Request the table descriptor for a particular table. This describes
29410 #define MC_CMD_TABLE_DESCRIPTOR_IN_TABLE_ID_LEN 4
29417 #define MC_CMD_TABLE_DESCRIPTOR_IN_FIRST_FIELDS_INDEX_OFST 4
29418 #define MC_CMD_TABLE_DESCRIPTOR_IN_FIRST_FIELDS_INDEX_LEN 4
29428 #define MC_CMD_TABLE_DESCRIPTOR_OUT_MAX_ENTRIES_LEN 4
29430 * properties of a table that affect programming can be deduced from other
29433 #define MC_CMD_TABLE_DESCRIPTOR_OUT_TYPE_OFST 4
29435 /* enum: Direct table (essentially just an array). Behaves like a BCAM for
29442 /* enum: TCAM (ternary CAM) table: matches fields with a mask. Each entry may
29446 /* enum: STCAM (semi-TCAM) table: like a TCAM but entries shared a limited
29462 /* Number of priorities for STCAM or TCAM; otherwise 0. The priority of a table
29478 * to change semantics in future. A client which does not understand the value
29485 /* A sequence of TABLE_FIELD_DESCR structures: N_KEY_FIELDS items describing
29488 * by repeating the call with a non-zero FIRST_FIELDS_INDEX.
29493 #define MC_CMD_TABLE_DESCRIPTOR_OUT_FIELDS_LO_LEN 4
29497 #define MC_CMD_TABLE_DESCRIPTOR_OUT_FIELDS_HI_LEN 4
29507 * Insert a new entry into a table. The entry must not currently exist. May
29522 #define MC_CMD_TABLE_INSERT_IN_LEN(num) (12+4*(num))
29523 #define MC_CMD_TABLE_INSERT_IN_DATA_NUM(len) (((len)-12)/4)
29526 #define MC_CMD_TABLE_INSERT_IN_TABLE_ID_LEN 4
29530 #define MC_CMD_TABLE_INSERT_IN_KEY_WIDTH_OFST 4
29555 * data values. Each of these items is logically treated as a single wide N-bit
29558 * N-bit value is padded with 0 bits at the MSB end if necessary to make a
29559 * multiple of 32 bits. The value is then packed into this command as a
29563 #define MC_CMD_TABLE_INSERT_IN_DATA_LEN 4
29574 * Update an existing entry in a table with a new response value. May return
29589 #define MC_CMD_TABLE_UPDATE_IN_LEN(num) (12+4*(num))
29590 #define MC_CMD_TABLE_UPDATE_IN_DATA_NUM(len) (((len)-12)/4)
29593 #define MC_CMD_TABLE_UPDATE_IN_TABLE_ID_LEN 4
29597 #define MC_CMD_TABLE_UPDATE_IN_KEY_WIDTH_OFST 4
29622 * data values. Each of these items is logically treated as a single wide N-bit
29625 * N-bit value is padded with 0 bits at the MSB end if necessary to make a
29626 * multiple of 32 bits. The value is then packed into this command as a
29630 #define MC_CMD_TABLE_UPDATE_IN_DATA_LEN 4
29641 * Delete an existing entry in a table. May return EINVAL for unknown table ID
29656 #define MC_CMD_TABLE_DELETE_IN_LEN(num) (12+4*(num))
29657 #define MC_CMD_TABLE_DELETE_IN_DATA_NUM(len) (((len)-12)/4)
29660 #define MC_CMD_TABLE_DELETE_IN_TABLE_ID_LEN 4
29664 #define MC_CMD_TABLE_DELETE_IN_KEY_WIDTH_OFST 4
29689 * data values. Each of these items is logically treated as a single wide N-bit
29692 * N-bit value is padded with 0 bits at the MSB end if necessary to make a
29693 * multiple of 32 bits. The value is then packed into this command as a
29697 #define MC_CMD_TABLE_DELETE_IN_DATA_LEN 4