Lines Matching +full:oasis +full:- +full:open
1 /* SPDX-License-Identifier: GPL-2.0-only */
4 * Copyright 2009-2018 Solarflare Communications Inc.
5 * Copyright 2019-2020 Xilinx Inc.
13 /* Power-on reset state */
35 /* The 'doorbell' addresses are hard-wired to alert the MC when written */
38 /* The rest of these are firmware-defined */
46 /* Values to be written to the per-port status dword in shared
71 * | | \--- Response
72 * | \------- Error
73 * \------------------------------ Resync (always set)
126 * - To advance a shared memory request if XFLAGS_EVREQ was set
127 * - As a notification (link state, i2c event), controlled
139 * - LEVEL==INFO Command succeeded
140 * - LEVEL==ERR Command failed
151 * non-existent MCDI command MC_CMD_DEBUG_LOG.
156 * Since the event is written in big-endian byte order, this works
157 * providing bits 56-63 of the event are 0xc0.
186 #define SIENA_MC_BOOTROM_COPYCODE_VEC (0x800 - 3 * 0x4)
187 #define HUNT_MC_BOOTROM_COPYCODE_VEC (0x8000 - 3 * 0x4)
188 #define MEDFORD_MC_BOOTROM_COPYCODE_VEC (0x10000 - 3 * 0x4)
190 #define SIENA_MC_BOOTROM_NOFLASH_VEC (0x800 - 2 * 0x4)
191 #define HUNT_MC_BOOTROM_NOFLASH_VEC (0x8000 - 2 * 0x4)
192 #define MEDFORD_MC_BOOTROM_NOFLASH_VEC (0x10000 - 2 * 0x4)
194 #define SIENA_MC_BOOTROM_RECOVERY_VEC (0x800 - 2 * 0x4)
195 #define HUNT_MC_BOOTROM_RECOVERY_VEC (0x8000 - 2 * 0x4)
196 #define MEDFORD_MC_BOOTROM_RECOVERY_VEC (0x10000 - 2 * 0x4)
199 #define MEDFORD_MC_BOOTROM_REAL_NOFLASH_VEC (0x10000 - 4 * 0x4)
227 /* This may be ORed with an EVB_PORT_ID_xxx constant to pass a non-default
228 * stack ID (which must be in the range 1-255) along with an EVB port ID.
234 * may be followed by the (0-based) number of the first argument that
241 * specific to Solarflare firmware should use values in the range 0x1000 -
242 * 0x10ff. The range 0x2000 - 0x20ff is reserved for private error codes (see
247 /* enum: Non-existent command target */
269 /* enum: Read-only */
275 /* enum: Non-recursive resource is already acquired */
300 /* enum: V-adaptor not found. */
304 /* enum: V-switch not found. */
312 /* enum: Invalid v-switch type. */
314 /* enum: Invalid v-port type. */
335 * event and then resend its request. This error code is followed by a 32-bit
350 * an operation failed due to lack of SR-IOV privilege. Normally it is
359 * sub-variant switching.
406 * an on-NIC ARM module is expected to be connected.
437 * and must never set a non-zero mask value for this field.
468 * lookup. (Values are not arbitrary - constrained by table access ABI.)
544 * matching? TODO: there was a proposal for driver-allocation fields. The
610 * should be treated same as NONE. (Values are not arbitrary - constrained by
631 * from CT counter 42. Generation counts are also type-specific. This value is
639 /* enum: Action Rule counters - can be referenced in AR response. */
641 /* enum: Conntrack counters - can be referenced in CT response. */
643 /* enum: Outer Rule counters - can be referenced in OR response. */
645 /* enum: LACP counters - linked to LACP balance table entries. */
654 /* TABLE_ID enum: Unique IDs for tables. The 32-bit ID values have been
660 * all supported - MC_CMD_TABLE_LIST returns the list of actually supported
665 /* enum: Outer_Rule_Table in the MAE - refer to SF-123102-TC. */
667 /* enum: Outer_Rule_No_CT_Table in the MAE - refer to SF-123102-TC. */
669 /* enum: Mgmt_Filter_Table in the MAE - refer to SF-123102-TC. */
671 /* enum: Conntrack_Table in the MAE - refer to SF-123102-TC. */
673 /* enum: Action_Rule_Table in the MAE - refer to SF-123102-TC. */
675 /* enum: Mgroup_Default_Action_Set_Table in the MAE - refer to SF-123102-TC. */
677 /* enum: Encap_Hdr_Part1_Table in the MAE - refer to SF-123102-TC. */
679 /* enum: Encap_Hdr_Part2_Table in the MAE - refer to SF-123102-TC. */
681 /* enum: Replace_Src_MAC_Table in the MAE - refer to SF-123102-TC. */
683 /* enum: Replace_Dst_MAC_Table in the MAE - refer to SF-123102-TC. */
685 /* enum: Dst_Mport_VC_Table in the MAE - refer to SF-123102-TC. */
687 /* enum: LACP_LAG_Config_Table in the MAE - refer to SF-123102-TC. */
689 /* enum: LACP_Balance_Table in the MAE - refer to SF-123102-TC. */
691 /* enum: Dst_Mport_Host_Chan_Table in the MAE - refer to SF-123102-TC. */
693 /* enum: VNIC_Rx_Encap_Table in VNIC Rx - refer to SF-123102-TC. */
695 /* enum: Steering_Table in VNIC Rx - refer to SF-123102-TC. */
697 /* enum: RSS_Context_Table in VNIC Rx - refer to SF-123102-TC. */
699 /* enum: Indirection_Table in VNIC Rx - refer to SF-123102-TC. */
701 /* enum: DPU.host read pipe first CRC offload engine profiles - refer to
702 * XN-200147-AN.
705 /* enum: DPU.host read pipe second CRC offload engine profiles - refer to
706 * XN-200147-AN.
709 /* enum: DPU.host write pipe first CRC offload engine profiles - refer to
710 * XN-200147-AN.
713 /* enum: DPU.host write pipe second CRC offload engine profiles - refer to
714 * XN-200147-AN.
717 /* enum: DPU.net 'full' receive pipe CRC offload engine profiles - refer to
718 * XN-200147-AN.
721 /* enum: DPU.net 'full' receive pipe first checksum offload engine profiles -
722 * refer to XN-200147-AN.
725 /* enum: DPU.net 'full' receive pipe second checksum offload engine profiles -
726 * refer to XN-200147-AN.
729 /* enum: DPU.net 'full' receive pipe AES-GCM offload engine profiles - refer to
730 * XN-200147-AN.
733 /* enum: DPU.net 'lite' receive pipe CRC offload engine profiles - refer to
734 * XN-200147-AN.
737 /* enum: DPU.net 'lite' receive pipe checksum offload engine profiles - refer
738 * to XN-200147-AN.
741 /* enum: DPU.net 'full' transmit pipe CRC offload engine profiles - refer to
742 * XN-200147-AN.
745 /* enum: DPU.net 'full' transmit pipe first checksum offload engine profiles -
746 * refer to XN-200147-AN.
749 /* enum: DPU.net 'full' transmit pipe second checksum offload engine profiles -
750 * refer to XN-200147-AN.
753 /* enum: DPU.net 'full' transmit pipe AES-GCM offload engine profiles - refer
754 * to XN-200147-AN.
757 /* enum: DPU.net 'lite' transmit pipe CRC offload engine profiles - refer to
758 * XN-200147-AN.
761 /* enum: DPU.net 'lite' transmit pipe checksum offload engine profiles - refer
762 * to XN-200147-AN.
770 * corresponding table definitions in SF-123102-TC; however, the mapping should
782 /* enum: Source m-port (a full m-port label). */
784 /* enum: Destination m-port (a full m-port label). */
786 /* enum: Source m-group ID. */
788 /* enum: Physical network port ID (or m-port ID; same thing, for physical
803 /* enum: Counter ID associated with a response. All-bits-1 is a null value to
813 * 48-bit value for this field is in network order, i.e. a MAC address of
814 * AA:BB:CC:DD:EE:FF becomes a 48-bit value of 0xAABBCCDDEEFF.
823 /* enum: Outer VLAN ID (least significant 12 bits of full 16-bit TCI) only. */
829 /* enum: Inner VLAN ID (least significant 12 bits of full 16-bit TCI) only. */
834 * frame to the 128-bit value for this field is in network order, with IPv4
842 /* enum: IPv4 Type-of-Service or IPv6 Traffic Class field. */
880 /* enum: True if only/inner frame has an IP Time-To-Live of <= 1. (Note: the
882 * with TTL=0 - which we shouldn't be seeing! - as well.)
905 /* enum: Construction mode for encap_tunnel_id - see MAE_CT_VNI_MODE enum. */
920 /* enum: Encapsulation type - see MAE_MCDI_ENCAP_TYPE enum. */
932 * byte mapped to a 32-bit value in network order, i.e. the IPv4 address
946 /* enum: True to suppress delivery when source and destination m-ports match.
959 /* enum: True to decrement IP Time-To-Live. */
986 /* enum: True to override the reported source m-port for host deliveries. */
1005 /* enum: 64-byte chunk of added encapsulation header. */
1007 /* enum: 32-byte chunk of added encapsulation header. */
1009 /* enum: 16-byte chunk of added encapsulation header. */
1011 /* enum: 8-byte chunk of added encapsulation header. */
1013 /* enum: 4-byte chunk of added encapsulation header. */
1015 /* enum: 2-byte chunk of added encapsulation header. */
1025 * encapsulated packet to a LAG m-port.
1037 /* enum: Next action set payload ID for replay. The null value is all-1-bits.
1040 /* enum: Next action set row ID for replay. The null value is all-1-bits. */
1043 * null value is all-1-bits.
1047 * value is all-1-bits.
1050 /* enum: True to include layer 4 in LACP hash on delivery to a LAG m-port. */
1059 * LACP_LAG_Config_Table. Refer to SF-123102-TC.
1065 * to SF-123102-TC.
1068 /* enum: UDP port to match for UDP-based encapsulations; required to be 0 for
1085 * false to bitwise-OR the USER_MARK into it.
1089 * false to bitwise-OR the USER_FLAG into it.
1098 /* enum: Key mode for IPv4 TCP packets - see TABLE_RSS_KEY_MODE enum. */
1100 /* enum: Key mode for IPv6 TCP packets - see TABLE_RSS_KEY_MODE enum. */
1102 /* enum: Key mode for IPv4 UDP packets - see TABLE_RSS_KEY_MODE enum. */
1104 /* enum: Key mode for IPv6 UDP packets - see TABLE_RSS_KEY_MODE enum. */
1106 /* enum: Key mode for other IPv4 packets - see TABLE_RSS_KEY_MODE enum. */
1108 /* enum: Key mode for other IPv6 packets - see TABLE_RSS_KEY_MODE enum. */
1110 /* enum: Spreading mode - 0=>indirection; 1=>even. */
1114 * spread across (only values 1-255 are valid for this mode).
1126 /* enum: Width of the CRC to calculate - see CRC_VARIANT enum. */
1140 /* enum: Operation for the checksum engine to perform - see DPU_CSUM_OP enum.
1155 /* enum: Operation type for the AES-GCM core - see GCM_OP_CODE enum. */
1157 /* enum: Key length - AES_KEY_LEN enum. */
1164 * indicates IPSEC-ESN mode.
1273 /* enum: Descriptor loader reported failure. Specific to EF10-family NICs. */
1276 * EF10-family NICs
1279 /* enum: Overlength packet. Specific to EF10-family NICs. */
1281 /* enum: Malformed option descriptor. Specific to EF10-family NICs. */
1283 /* enum: Option descriptor part way through a packet. Specific to EF10-family
1287 /* enum: DMA or PIO data access error. Specific to EF10-family NICs */
1312 /* enum: AOE failed to load - no valid image? */
1320 /* enum: Generic AOE fault - likely to have been reported via other means too
1350 /* enum: FPGA boot-flash contains an invalid image header */
1422 /* enum: MUM failed to load - no valid image? */
1592 * MC_CMD_DESC_PROXY_FUNC_CONFIG_COMMIT and SF-122927-TC for details.
1597 * SF-122927-TC for details.
1606 * SF-122927-TC for details.
1727 /* For CODE_PTP_TIME events, bits 19-26 of the minor value of the PTP clock */
1745 /* For CODE_PTP_TIME events where report sync status is enabled, bits 21-26 of
1764 * should resend it. A non-zero value means that the authorization has been
1819 * Read multiple 32byte words from MC memory. Note - this command really
1840 #define MC_CMD_READ32_OUT_BUFFER_NUM(len) (((len)-0)/4)
1862 #define MC_CMD_WRITE32_IN_BUFFER_NUM(len) (((len)-4)/4)
1931 /* enum: A system-level assertion has failed. */
1933 /* enum: A thread-level assertion has failed. */
1965 /* enum: A system-level assertion has failed. */
1967 /* enum: A thread-level assertion has failed. */
2003 /* enum: A system-level assertion has failed. */
2005 /* enum: A thread-level assertion has failed. */
2031 /* MC firmware unique build ID (as binary SHA-1 value) */
2059 /* MC firmware extra version info (as null-terminated US-ASCII string) */
2062 /* MC firmware build name (as null-terminated US-ASCII string) */
2256 /* MC firmware unique build ID (as binary SHA-1 value) */
2262 /* MC firmware build name (as null-terminated US-ASCII string) */
2265 /* The SUC firmware version as four numbers - a.b.c.d */
2269 /* SUC firmware build date (as 64-bit Unix timestamp) */
2281 * indicates family, memory sizes etc. See SF-116728-SW for further details.
2285 /* The CMC firmware version as four numbers - a.b.c.d */
2289 /* CMC firmware build date (as 64-bit Unix timestamp) */
2303 * => B, ...) FPGA_VERSION[2]: Sub-revision number
2308 /* Extra FPGA revision information (as null-terminated US-ASCII string) */
2311 /* Board name / adapter model (as null-terminated US-ASCII string) */
2317 /* Board serial number (as null-terminated US-ASCII string) */
2398 /* MC firmware unique build ID (as binary SHA-1 value) */
2404 /* MC firmware build name (as null-terminated US-ASCII string) */
2407 /* The SUC firmware version as four numbers - a.b.c.d */
2411 /* SUC firmware build date (as 64-bit Unix timestamp) */
2423 * indicates family, memory sizes etc. See SF-116728-SW for further details.
2427 /* The CMC firmware version as four numbers - a.b.c.d */
2431 /* CMC firmware build date (as 64-bit Unix timestamp) */
2445 * => B, ...) FPGA_VERSION[2]: Sub-revision number
2450 /* Extra FPGA revision information (as null-terminated US-ASCII string) */
2453 /* Board name / adapter model (as null-terminated US-ASCII string) */
2459 /* Board serial number (as null-terminated US-ASCII string) */
2462 /* The version of the datapath hardware design as three number - a.b.c */
2467 * number - a.b.c
2547 /* MC firmware unique build ID (as binary SHA-1 value) */
2553 /* MC firmware build name (as null-terminated US-ASCII string) */
2556 /* The SUC firmware version as four numbers - a.b.c.d */
2560 /* SUC firmware build date (as 64-bit Unix timestamp) */
2572 * indicates family, memory sizes etc. See SF-116728-SW for further details.
2576 /* The CMC firmware version as four numbers - a.b.c.d */
2580 /* CMC firmware build date (as 64-bit Unix timestamp) */
2594 * => B, ...) FPGA_VERSION[2]: Sub-revision number
2599 /* Extra FPGA revision information (as null-terminated US-ASCII string) */
2602 /* Board name / adapter model (as null-terminated US-ASCII string) */
2608 /* Board serial number (as null-terminated US-ASCII string) */
2611 /* The version of the datapath hardware design as three number - a.b.c */
2616 * number - a.b.c
2621 /* The SOC boot version as four numbers - a.b.c.d */
2625 /* The SOC uboot version as four numbers - a.b.c.d */
2629 /* The SOC main rootfs version as four numbers - a.b.c.d */
2633 /* The SOC recovery buildroot version as four numbers - a.b.c.d */
2712 /* MC firmware unique build ID (as binary SHA-1 value) */
2718 /* MC firmware build name (as null-terminated US-ASCII string) */
2721 /* The SUC firmware version as four numbers - a.b.c.d */
2725 /* SUC firmware build date (as 64-bit Unix timestamp) */
2737 * indicates family, memory sizes etc. See SF-116728-SW for further details.
2741 /* The CMC firmware version as four numbers - a.b.c.d */
2745 /* CMC firmware build date (as 64-bit Unix timestamp) */
2759 * => B, ...) FPGA_VERSION[2]: Sub-revision number
2764 /* Extra FPGA revision information (as null-terminated US-ASCII string) */
2767 /* Board name / adapter model (as null-terminated US-ASCII string) */
2773 /* Board serial number (as null-terminated US-ASCII string) */
2776 /* The version of the datapath hardware design as three number - a.b.c */
2781 * number - a.b.c
2786 /* The SOC boot version as four numbers - a.b.c.d */
2790 /* The SOC uboot version as four numbers - a.b.c.d */
2794 /* The SOC main rootfs version as four numbers - a.b.c.d */
2798 /* The SOC recovery buildroot version as four numbers - a.b.c.d */
2802 /* Board version as four numbers - a.b.c.d. BOARD_VERSION[0] duplicates the
2808 /* Bundle version as four numbers - a.b.c.d */
2885 /* enum: Get the clock attributes. NOTE- extended version of
2936 /* enum: PTP, version 1, with VLAN headers - deprecated */
2940 /* enum: PTP, version 2, with VLAN headers - deprecated */
2959 #define MC_CMD_PTP_IN_TRANSMIT_PACKET_NUM(len) (((len)-12)/1)
3145 #define MC_CMD_PTP_IN_FPGAWRITE_BUFFER_NUM(len) (((len)-12)/1)
3391 /* NIC - Host System Clock Synchronization status */
3528 #define MC_CMD_PTP_OUT_SYNCHRONIZE_TIMESET_NUM(len) (((len)-0)/20)
3613 #define MC_CMD_PTP_OUT_FPGAREAD_BUFFER_NUM(len) (((len)-0)/1)
3625 * be assumed. Note this enum is deprecated. Do not add to it- use the
3634 /* enum: Major register has units of seconds, minor 2^-27s per tick */
3650 /* enum: Major register has units of seconds, minor 2^-27s per tick */
3699 /* enum: Major register has units of seconds, minor 2^-27s per tick */
3737 * response is not supported a value of -0.1 ns should be assumed, which is
3738 * equivalent to a -10% adjustment.
3796 /* Uncorrected error on non-PTP transmit timestamps in NIC clock format */
3799 /* Uncorrected error on non-PTP receive timestamps in NIC clock format */
3841 #define MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_NUM(len) (((len)-72)/2)
3886 /* Siena only. This field contains a 16-bit value for each of the types of
3969 /* enum: Prefer to use "l3xudp" custom datapath firmware (see SF-119495-PD and
3976 * (i.e. non-production) builds.
3979 /* enum: Only this option is allowed for non-admin functions */
4040 /* enum: Prefer to use "l3xudp" custom datapath firmware (see SF-119495-PD and
4047 * (i.e. non-production) builds.
4050 /* enum: Only this option is allowed for non-admin functions */
4052 /* Version of the driver to be reported by management protocols (e.g. NC-SI)
4053 * handled by the NIC. This is a zero-terminated ASCII string.
4073 /* enum: Labels the lowest-numbered function visible to the OS */
4092 /* enum: If set, indicates that TX only spreading is enabled. Even-numbered
4093 * TXQs will use one engine, and odd-numbered TXQs will use the other. This
4094 * also has the effect that only even-numbered RXQs will receive traffic.
4101 * Generic per-port reset. There is no equivalent for per-board reset. Locks
4102 * required: None; Return code: 0, ETIME. NOTE: This command is deprecated -
4119 * Generic per-resource reset. There is no equivalent for per-board reset.
4155 #define MC_CMD_PUTS_IN_STRING_NUM(len) (((len)-12)/1)
4450 /* enum: Timed-out. */
4475 /* enum: Open. */
4477 /* enum: Intra-pair short. */
4479 /* enum: Inter-pair short. */
4538 /* enum: RAM test - walk ones. */
4540 /* enum: RAM test - walk zeros. */
4542 /* enum: RAM test - walking inversions zeros/ones. */
4544 /* enum: RAM test - walking inversions checkerboard. */
4546 /* enum: Register test - set / clear individual bits. */
4699 /* enum: PMA-PMD. */
4701 /* enum: Cross-Port. */
4703 /* enum: XGMII-Wireside. */
4719 /* enum: PMA lanes MAC-Serdes. */
4725 /* enum: PMA lanes MAC-Serdes Wireside. */
4850 /* enum: PMA-PMD. */
4852 /* enum: Cross-Port. */
4854 /* enum: XGMII-Wireside. */
4870 /* enum: PMA lanes MAC-Serdes. */
4876 /* enum: PMA lanes MAC-Serdes Wireside. */
5043 /* enum: PMA-PMD. */
5045 /* enum: Cross-Port. */
5047 /* enum: XGMII-Wireside. */
5063 /* enum: PMA lanes MAC-Serdes. */
5069 /* enum: PMA lanes MAC-Serdes Wireside. */
5200 /* AN_TYPE structuredef: Auto-negotiation types defined in IEEE802.3 */
5206 /* enum: Clause 28 - BASE-T */
5208 /* enum: Clause 37 - BASE-X */
5210 /* enum: Clause 73 - BASE-R startup protocol for backplane and copper cable
5211 * assemblies. Includes Clause 72/Clause 92 link-training.
5224 /* enum: IEEE 802.3, Clause 74 BASE-R FEC (a.k.a Firecode) */
5226 /* enum: IEEE 802.3, Clause 91/Clause 108 Reed-Solomon FEC */
5228 /* enum: IEEE 802.3, Clause 161, interleaved RS-FEC sublayer for 100GBASE-R
5232 /* enum: Ethernet Consortium, Low Latency RS-FEC. RS(272, 258). Replaces FEC
5257 /* enum: 1000BASE-KX - 1000BASE-X PCS/PMA over an electrical backplane PMD. See
5261 /* enum: 10GBASE-R - PCS/PMA over an electrical backplane PMD. Refer to IEEE
5265 /* enum: 40GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3
5269 /* enum: 40GBASE-R PCS/PMA over 4 lane shielded copper balanced cable PMD. See
5273 /* enum: 40GBASE-R PCS/PMA over 4 lane multimode fiber PMD as specified in
5277 /* enum: 40GBASE-R PCS/PMA over 4 WDM lane single mode fiber PMD with long
5281 /* enum: 25GBASE-R PCS/PMA over shielded balanced copper cable PMD. See IEEE
5285 /* enum: 25GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3
5289 /* enum: 25GBASE-R PCS/PMA over multimode fiber PMD. Refer to IEEE 802.3 Clause
5293 /* enum: An Ethernet Physical layer operating at 50 Gb/s on twin-axial copper
5301 /* enum: 100GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3
5305 /* enum: 100GBASE-R PCS/PMA over 4 lane multimode fiber PMD. See IEEE 802.3
5309 /* enum: 100GBASE-R PCS/PMA over 4 lane shielded copper balanced cable PMD. See
5313 /* enum: 100GBASE-R PCS/PMA over 4 WDM lane single mode fiber PMD, with
5325 /* enum: Non-standardised. 10G direct attach */
5327 /* enum: 10GBASE-SR fiber over 850nm optics. See IEEE 802.3 Clause 52 */
5329 /* enum: 10GBASE-LR fiber over 1310nm optics. See IEEE 802.3 Clause 52 */
5331 /* enum: 10GBASE-LRM fiber over 1310 nm optics. See IEEE 802.3 Clause 68 */
5333 /* enum: 10GBASE-ER fiber over 1550nm optics. See IEEE 802.3 Clause 52 */
5335 /* enum: 50GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3
5339 /* enum: 50GBASE-SR PCS/PMA over multimode fiber PMD as specified in Clause 138
5342 /* enum: 50GBASE-CR PCS/PMA over shielded copper balanced cable PMD. See IEEE
5346 /* enum: 50GBASE-R PCS/PMA over single mode fiber PMD as specified in Clause
5350 /* enum: 100 Gb/s PHY using 100GBASE-R encoding over single-mode fiber with
5354 /* enum: 100GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3
5358 /* enum: 100GBASE-R PCS/PMA over 2 lane multimode fiber PMD. See IEEE 802.3
5362 /* enum: 100GBASE-R PCS/PMA over 2 lane shielded copper balanced cable PMD. See
5370 /* enum: 200GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3
5374 /* enum: 200GBASE-R PCS/PMA over 4 lane multimode fiber PMD. See IEEE 802.3
5378 /* enum: 200GBASE-R PCS/PMA over 4 WDM lane single-mode fiber PMD as specified
5382 /* enum: 200GBASE-R PCS/PMA over 4-lane single-mode fiber PMD. See IEEE 802.3
5386 /* enum: 200GBASE-R PCS/PMA over 4 lane shielded copper balanced cable PMD as
5390 /* enum: Ethernet Technology Consortium 400G AN Spec. 400GBASE-KR8 PMD uses
5394 /* enum: 400GBASE-R PCS/PMA over 8-lane multimode fiber PMD. See IEEE 802.3
5398 /* enum: 400GBASE-R PCS/PMA over 8 WDM lane single-mode fiber PMD. See IEEE
5404 /* enum: Ethernet Technology Consortium 400G AN Spec. 400GBASE-CR8 PMD uses
5408 /* enum: 100GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3ck
5416 /* enum: 100G PMD together with single-mode fiber medium. See IEEE 802.3 Clause
5420 /* enum: 100GBASE-R PCS/PMA over shielded balanced copper cable PMD. See IEEE
5424 /* enum: 100G PMD together with single-mode fiber medium. See IEEE 802.3 Clause
5428 /* enum: 200GBASE-R PCS/PMA over an electrical backplane PMD as specified in
5440 /* enum: 200GBASE-R PCS/PMA over 2 lane shielded balanced copper cable PMD as
5444 /* enum: 400GBASE-R PCS/PMA over an electrical backplane PMD. See IEEE 802.3
5452 /* enum: 400GBASE-R PCS/PMA over 4 WDM lane single-mode fiber PMD. See IEEE
5456 /* enum: 400GBASE-R PCS/PMA over 4-lane single-mode fiber PMD as specified in
5460 /* enum: 400GBASE-R PCS/PMA over 4 lane shielded balanced copper cable PMD as
5466 /* enum: See IEEE 802.3cc-2017 Clause 114 */
5469 * each) See IEEE 802.3ba-2010 Clause 85
5533 /* enum: If set, indicates that the number of symbol errors in a 8192-codeword
5543 /* enum: If set, autonegotiation has detected an auto-negotiation capable link
5582 * Auto-Negotiation. Warning - This is fixed size and cannot be extended. This
5679 /* enum: Enable auto-negotiation. If AN is enabled, link technology and FEC
5732 /* Technology abilities to advertise during auto-negotiation */
5738 /* Pause abilities to advertise during auto-negotiation. Valid when auto-
5740 * MC_CMD_FCNTL_AUTO. If auto-negotiation is disabled the driver must
5748 /* When auto-negotiation is enabled, this is the FEC mode to request. Note that
5751 * actual negotiated FEC mode. When auto-negotiation is disabled, this is the
5759 /* This is only to be used when auto-negotiation is disabled (forced speed or
5773 /* Loopback Mode. Only valid when auto-negotiation is disabled. */
5828 /* Bitmask of auto-negotiated pause modes */
5840 /* Abilities requested by the driver to advertise during auto-negotiation */
5852 /* Abilities advertised by the link partner during auto-negotiation */
5923 /* Bitmask of auto-negotiated pause modes */
5935 /* Abilities requested by the driver to advertise during auto-negotiation */
5938 /* Abilities advertised by the link partner during auto-negotiation */
5958 /* Reports the auto-negotiation supported by the local device. This depends on
5998 /* Bitmask of auto-negotiated pause modes */
6010 /* Abilities requested by the driver to advertise during auto-negotiation */
6013 /* Abilities advertised by the link partner during auto-negotiation */
6033 /* Reports the auto-negotiation supported by the local device. This depends on
6041 * reads non-zero. LINK_SPEED field is intended to be used by drivers without
6042 * the most up-to-date MCDI definitions, unable to deduce the link speed from
6117 /* Near-side advertised capabilities. Refer to
6122 /* Link-partner advertised capabilities. Refer to
6128 * reads non-zero.
6186 /* Near-side advertised capabilities. Refer to
6191 /* Link-partner advertised capabilities. Refer to
6197 * reads non-zero.
6253 * e.g. plugged-in module). In general, subset of
6256 * to SUPPORTED_CAP for non-pluggable PMDs. Refer to
6261 /* Auto-negotiation type used on the link */
6317 /* Near-side advertised capabilities. Refer to
6353 /* Near-side advertised capabilities. Refer to
6394 /* Near-side advertised capabilities. Refer to
6765 * statistics are dmad to that (page-aligned location). Locks required: None.
6797 /* enum: PMA-PMD Link Up. */
6799 /* enum: PMA-PMD RX Fault. */
6801 /* enum: PMA-PMD TX Fault. */
6803 /* enum: PMA-PMD Signal */
6805 /* enum: PMA-PMD SNR A. */
6807 /* enum: PMA-PMD SNR B. */
6809 /* enum: PMA-PMD SNR C. */
6811 /* enum: PMA-PMD SNR D. */
6833 /* enum: AN link-up. */
6839 /* enum: Clause 22 Link-Up. */
6852 * DMA_ADDR != 0, then the statistics are dmad to that (page-aligned location).
7114 /* enum: RXDP counter: Number of non-host packets. Valid for EF10 with
7155 * 64-bit word of the DMA buffer (at DMA_LEN - sizeof(uint64_t)). Note that
7157 * the last 64-bit word in the buffer when DMA_LEN == MC_CMD_MAC_NSTATS *
7158 * sizeof(uint64_t). See SF-109306-TC, Section 9.2 for details.
7182 /* enum: Number of uncorrected FEC codewords on link (RS-FEC only for Medford2)
7185 /* enum: Number of corrected FEC codewords on link (RS-FEC only for Medford2)
7188 /* enum: Number of corrected 10-bit symbol errors, lane 0 (RS-FEC only) */
7190 /* enum: Number of corrected 10-bit symbol errors, lane 1 (RS-FEC only) */
7192 /* enum: Number of corrected 10-bit symbol errors, lane 2 (RS-FEC only) */
7194 /* enum: Number of corrected 10-bit symbol errors, lane 3 (RS-FEC only) */
7253 * or not 32-bit aligned
7756 * from. This allows it to perform a read-modify-write-verify with the write
7772 /* enum: Read from the non-current (i.e. to be updated) partition of an A/B
7782 #define MC_CMD_NVRAM_READ_OUT_READ_BUFFER_NUM(len) (((len)-0)/1)
7806 #define MC_CMD_NVRAM_WRITE_IN_WRITE_BUFFER_NUM(len) (((len)-12)/1)
7921 * per-partition nvram lock in firmware is only released after the verification
7927 * the field are marked with a prefix 'Internal-error'.
7931 /* enum: Invalid return code; only non-zero values are defined. Defined as
7943 /* enum: Error in message digest calculated over the reflash-header, payload
7944 * and reflash-trailer.
7961 /* enum: The image contains a test-signed certificate, but the adapter accepts
7967 /* enum: Internal-error. The signed image is missing the 'contents' section,
7971 /* enum: Internal-error. The bundle header is invalid. */
7973 /* enum: Internal-error. The bundle does not have a valid reflash image layout.
7976 /* enum: Internal-error. The bundle has an inconsistent layout of components or
7980 /* enum: Internal-error. The bundle manifest is inconsistent with components in
7984 /* enum: Internal-error. The number of components in a bundle do not match the
7988 /* enum: Internal-error. The bundle contains too many components for the MC
7992 /* enum: Internal-error. The bundle manifest has an invalid/inconsistent
7996 /* enum: Internal-error. The hash of a component does not match the hash stored
8000 /* enum: Internal-error. Component hash calculation failed. */
8002 /* enum: Internal-error. The component does not have a valid reflash image
8010 /* enum: The update operation is in-progress. */
8023 * the field are marked with a prefix 'Internal-error'.
8027 /* enum: Invalid return code; only non-zero values are defined. Defined as
8039 /* enum: Error in message digest calculated over the reflash-header, payload
8040 * and reflash-trailer.
8057 /* enum: The image contains a test-signed certificate, but the adapter accepts
8063 /* enum: Internal-error. The signed image is missing the 'contents' section,
8067 /* enum: Internal-error. The bundle header is invalid. */
8069 /* enum: Internal-error. The bundle does not have a valid reflash image layout.
8072 /* enum: Internal-error. The bundle has an inconsistent layout of components or
8076 /* enum: Internal-error. The bundle manifest is inconsistent with components in
8080 /* enum: Internal-error. The number of components in a bundle do not match the
8084 /* enum: Internal-error. The bundle contains too many components for the MC
8088 /* enum: Internal-error. The bundle manifest has an invalid/inconsistent
8092 /* enum: Internal-error. The hash of a component does not match the hash stored
8096 /* enum: Internal-error. Component hash calculation failed. */
8098 /* enum: Internal-error. The component does not have a valid reflash image
8106 /* enum: The update operation is in-progress. */
8129 /* If the update failed with MC_CMD_NVRAM_VERIFY_RC_BAD_CONFIG, a null-
8130 * terminated US-ASCII string suitable for showing to the user.
8241 #define MC_CMD_SENSOR_INFO_OUT_MC_CMD_SENSOR_ENTRY_NUM(len) (((len)-4)/8)
8336 /* enum: Port 0 PHY power switch over-current: bool */
8338 /* enum: Port 1 PHY power switch over-current: bool */
8340 /* enum: Mop-up microcontroller reference voltage: mV */
8456 #define MC_CMD_SENSOR_INFO_EXT_OUT_MC_CMD_SENSOR_ENTRY_NUM(len) (((len)-4)/8)
8716 * understand the given workaround number - which should not be treated as a
8718 * workaround, that's between the driver and the mcfw on a per-workaround
8740 * - before adding code that queries this workaround, remember that there's
8755 /* 0 = disable the workaround indicated by TYPE; any non-zero value = enable
8777 * Read media-specific data from PHY (e.g. SFP/SFP+ module ID information for
8780 * output data, are interpreted on a per-type basis. For SFP+, PAGE=0 or 1
8781 * returns a 128-byte block read from module I2C address 0xA0 offset 0 or 0x80.
8782 * For QSFP, PAGE=-1 is the lower (unbanked) page. PAGE=2 is the EEPROM and
8786 * of "0xffff:0xffff" retrieves the lower (unbanked) page. Locks required -
8787 * None. Return code - 0.
8866 #define MC_CMD_GET_PHY_MEDIA_INFO_OUT_DATA_NUM(len) (((len)-4)/1)
8924 #define MC_CMD_NVRAM_PARTITIONS_OUT_TYPE_ID_NUM(len) (((len)-4)/4)
8957 #define MC_CMD_NVRAM_METADATA_OUT_DESCRIPTION_NUM(len) (((len)-20)/1)
8987 /* Zero-terminated string describing the content of this partition */
9069 /* A human-readable name for the sensor (zero terminated string, max 32 bytes)
9139 * MC_CMD_READ_SENSORS command. On multi-MC systems this may include sensors
9170 #define MC_CMD_DYNAMIC_SENSORS_LIST_OUT_HANDLES_NUM(len) (((len)-8)/4)
9210 #define MC_CMD_DYNAMIC_SENSORS_GET_DESCRIPTIONS_IN_HANDLES_NUM(len) (((len)-0)/4)
9223 #define MC_CMD_DYNAMIC_SENSORS_GET_DESCRIPTIONS_OUT_SENSORS_NUM(len) (((len)-0)/64)
9255 #define MC_CMD_DYNAMIC_SENSORS_GET_READINGS_IN_HANDLES_NUM(len) (((len)-0)/4)
9268 #define MC_CMD_DYNAMIC_SENSORS_GET_READINGS_OUT_VALUES_NUM(len) (((len)-0)/12)
9425 /* Priority-based flow control mask (QBB). PRIO7 corresponds to the highest
9691 /* enum: Number of uncorrected FEC codewords on link (RS-FEC only from Medford2
9695 /* enum: Number of corrected FEC codewords on link (RS-FEC only from Medford2
9699 /* enum: Number of corrected 10-bit symbol errors, lane 0 (RS-FEC only) */
9701 /* enum: Number of corrected 10-bit symbol errors, lane 1 (RS-FEC only) */
9703 /* enum: Number of corrected 10-bit symbol errors, lane 2 (RS-FEC only) */
9705 /* enum: Number of corrected 10-bit symbol errors, lane 3 (RS-FEC only) */
9741 /* Reserved for future extension (e.g. flags field) - currently always 0. */
9763 * success, ENOENT on non-existent port handle
9788 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_OUT_ENTRIES_NUM(len) (((len)-20)/8)
9847 * success, ETIME if the DMA buffer is not ready, ENOENT on non-existent port
9907 #define MC_CMD_MAC_STATISTICS_OUT_DATA_NUM(len) (((len)-4)/1)
9964 * the port. It is represented as a zero-terminated ASCII string and assigned
9980 * After a start-of-day port enumeration, firmware keeps track of all available
9984 * ports. The command is also clear-on-read and repeated calls will drain the
10000 #define MC_CMD_ENUM_PORTS_OUT_PORT_HANDLES_NUM(len) (((len)-12)/1)
10082 /* SFF-8042 code reported by the module. */
10098 /* enum: Ethernet over twisted-pair copper cables for distances up to 100
10102 /* enum: Ethernet over twin-axial, balanced copper cable. */
10128 /* enum: BASE-R encoding and PAM4 over single-mode fiber with reach up to at
10136 * connected module. See SFF-8472/CMIS specifications for details.
10150 * for the connected module. See SFF-8472/CMIS specifications for details.
10272 * Read media-specific data from the PHY (e.g. SFP/SFP+ module ID information
10293 /* 0 if the page does not support banked access, non-zero otherwise. Non-zero
10294 * BANK is valid if OFFSET is in the range 80h - ffh, i.e. in the Upper Memory
10299 /* 0 if paged access is not supported, non-zero otherwise. Non-zero PAGE is
10300 * valid if OFFSET is in the range 80h - ffh.
10304 /* Offset in the range 00h - 7fh to access lower memory. Offset in the range
10305 * 80h - ffh to access upper memory
10313 * 8-bit wide ADDRESSING field. This new field provides a correctly aligned
10314 * container for the 7-bit DEVADDR field from V1, now renamed MODULE_ADDR, to
10327 /* 0 if the page does not support banked access, non-zero otherwise. Non-zero
10328 * BANK is valid if OFFSET is in the range 80h - ffh, i.e. in the Upper Memory
10333 /* 0 if paged access is not supported, non-zero otherwise. Non-zero PAGE is
10334 * valid if OFFSET is in the range 80h - ffh.
10338 /* Offset in the range 00h - 7fh to access lower memory. Offset in the range
10339 * 80h - ffh to access upper memory
10357 #define MC_CMD_GET_MODULE_DATA_OUT_DATA_NUM(len) (((len)-4)/1)
10472 * success, ETIME if the DMA buffer is not ready, ENOENT on non-existent port
10536 #define MC_CMD_GET_NETPORT_STATISTICS_OUT_STATS_NUM(len) (((len)-0)/8)
10537 /* Statistics buffer. Zero-length if DMA mode is used. The statistics buffer is
10538 * an array of 8-byte counter values, containing the generation start marker,
10611 /* enum: Non-volatile log output partition */
10613 /* enum: Non-volatile log output partition for NMC firmware (this is
10617 /* enum: Non-volatile log output of second core on dual-core device */
10639 /* enum: Non-volatile log output partition for FC */
10663 /* enum: MUM Non-volatile log output partition. */
10665 /* enum: SUC Non-volatile log output partition (this is intentionally an alias
10683 /* enum: Non-volatile log output partition for Expansion ROM (this is
10720 * platforms. See SF-119124-PS. The STATIC_CONFIG partition may contain a
10730 /* enum: Bundle update non-volatile log output partition */
10742 /* enum: System microcontroller access to primary System-on-Chip flash */
10744 /* enum: System microcontroller access to secondary System-on-Chip flash (if
10753 /* enum: System-on-Chip configuration information (see XN-200467-PS). */
10755 /* enum: System-on-Chip update information. */
10757 /* enum: Virtual partition. Write-only. Writes will actually be sent to an
10763 /* enum: MC/NMC (first stage) bootloader firmware. (For X4, see XN-202072-PS
10764 * and XN-202084-SW section 3.1).
10773 /* enum: Recovery Flash Partition Table, see SF-122606-TC. (this is
10779 /* enum: Flash Partition Table, see SF-122606-TC. (this is intentionally an
10910 /* The RSS mode for a particular packet type is a value from 0 - 15 which can
10949 #define MC_CMD_INIT_EVQ_IN_DMA_ADDR_NUM(len) (((len)-36)/8)
10954 * local queue index. The calling client must be the currently-assigned user of
10963 /* The reload value is ignored in one-shot modes */
10998 /* enum: Hold-off */
11023 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11049 #define MC_CMD_INIT_EVQ_V2_IN_DMA_ADDR_NUM(len) (((len)-36)/8)
11054 * local queue index. The calling client must be the currently-assigned user of
11063 /* The reload value is ignored in one-shot modes */
11096 * over-ridden by firmware based on licenses and firmware variant in order to
11102 * over-ridden by firmware based on licenses and firmware variant in order to
11107 /* enum: MEDFORD only. Certain initialisation flags may be over-ridden by
11123 /* enum: Hold-off */
11148 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11184 /* MC_CMD_INIT_EVQ_V3_IN msgrequest: Extended request to specify per-queue
11192 * local queue index. The calling client must be the currently-assigned user of
11201 /* The reload value is ignored in one-shot modes */
11234 * over-ridden by firmware based on licenses and firmware variant in order to
11240 * over-ridden by firmware based on licenses and firmware variant in order to
11245 /* enum: MEDFORD only. Certain initialisation flags may be over-ridden by
11261 /* enum: Hold-off */
11286 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11302 * value. This field is ignored and per-queue merging is disabled if
11309 * value. This field is ignored and per-queue merging is disabled if
11355 #define MC_CMD_INIT_RXQ_IN_DMA_ADDR_NUM(len) (((len)-28)/8)
11367 * local queue index. The calling client must be the currently-assigned user of
11402 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
11405 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11439 * local queue index. The calling client must be the currently-assigned user of
11477 * multiple fixed-size packet buffers within each bucket. For a full
11478 * description see SF-119419-TC. This mode is only supported by "dpdk" datapath
11510 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
11513 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11548 * local queue index. The calling client must be the currently-assigned user of
11586 * multiple fixed-size packet buffers within each bucket. For a full
11587 * description see SF-119419-TC. This mode is only supported by "dpdk" datapath
11619 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
11622 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11686 * local queue index. The calling client must be the currently-assigned user of
11724 * multiple fixed-size packet buffers within each bucket. For a full
11725 * description see SF-119419-TC. This mode is only supported by "dpdk" datapath
11757 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
11760 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11808 * to zero if using this message on non-QDMA based platforms. Currently in
11837 * local queue index. The calling client must be the currently-assigned user of
11875 * multiple fixed-size packet buffers within each bucket. For a full
11876 * description see SF-119419-TC. This mode is only supported by "dpdk" datapath
11908 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
11911 /* 64-bit address of 4k of 4k-aligned host memory buffer */
11959 * to zero if using this message on non-QDMA based platforms. Currently in
12007 #define MC_CMD_INIT_TXQ_IN_DMA_ADDR_NUM(len) (((len)-28)/8)
12020 * local queue index. The calling client must be the currently-assigned user of
12058 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
12061 /* 64-bit address of 4k of 4k-aligned host memory buffer */
12092 * local queue index. The calling client must be the currently-assigned user of
12148 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
12151 /* 64-bit address of 4k of 4k-aligned host memory buffer */
12255 /* Bits 0 - 63 of event */
12314 /* enum: single-recipient filter insert */
12316 /* enum: single-recipient filter remove */
12318 /* enum: multi-recipient filter subscribe */
12320 /* enum: multi-recipient filter unsubscribe */
12322 /* enum: replace one recipient with another (warning - the filter handle may
12337 /* The port ID associated with the v-adaptor which should contain this filter.
12502 /* The port ID associated with the v-adaptor which should contain this filter.
12790 /* The port ID associated with the v-adaptor which should contain this filter.
13081 * functionality of this field in an ABI-backwards-compatible manner, and
13086 * Firmware Driver Interface (SF-119419-TC). Requesting anything other than
13164 * Get information related to the parser-dispatcher subsystem
13182 /* enum: read properties relating to security rules (Medford-only; for use by
13183 * SolarSecure apps, not directly by drivers. See SF-114946-SW.)
13197 /* enum: read the supported RX filter matches for low-latency queues (as
13207 #define MC_CMD_GET_PARSER_DISP_INFO_OUT_SUPPORTED_MATCHES_NUM(len) (((len)-8)/4)
13241 * (Medford-only; for use by SolarSecure apps, not directly by drivers. See
13242 * SF-114946-SW.) NOTE - this message definition is provisional. It has not yet
13257 /* enum: implements lookup sequences described in SF-114946-SW draft C */
13291 #define MC_CMD_GET_PARSER_DISP_VNIC_ENCAP_MATCHES_OUT_SUPPORTED_MATCHES_NUM(len) (((len)-8)/4)
13351 * sense - e.g. virtio-blk), in which case the return value is NULL_PORT.
13377 /* MC_CMD_ALLOC_VIS_OUT msgresponse: Huntington-compatible VI_ALLOC request.
13496 * GRP_FUNC_DMA privilege and must be the currently-assigned user of this VI or
13546 * GRP_FUNC_DMA privilege and must be the currently-assigned user of this VI or
13767 /* enum: reserved value - do not use (may indicate alternative interpretation
13778 /* enum: RX PD firmware with approximately Siena-compatible behaviour
13800 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
13818 /* enum: reserved value - do not use (may indicate alternative interpretation
13829 /* enum: TX PD firmware with approximately Siena-compatible behaviour
13848 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
14020 /* enum: reserved value - do not use (may indicate alternative interpretation
14031 /* enum: RX PD firmware with approximately Siena-compatible behaviour
14053 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
14071 /* enum: reserved value - do not use (may indicate alternative interpretation
14082 /* enum: TX PD firmware with approximately Siena-compatible behaviour
14101 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
14253 /* Number of VIs available for external ports 0-3. For devices with more than
14433 /* enum: reserved value - do not use (may indicate alternative interpretation
14444 /* enum: RX PD firmware with approximately Siena-compatible behaviour
14466 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
14484 /* enum: reserved value - do not use (may indicate alternative interpretation
14495 /* enum: TX PD firmware with approximately Siena-compatible behaviour
14514 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
14666 /* Number of VIs available for external ports 0-3. For devices with more than
14691 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
14705 * (SF-115995-SW) in the present configuration of firmware and port mode.
14710 * (SF-115995-SW) in the present configuration of firmware and port mode.
14871 /* enum: reserved value - do not use (may indicate alternative interpretation
14882 /* enum: RX PD firmware with approximately Siena-compatible behaviour
14904 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
14922 /* enum: reserved value - do not use (may indicate alternative interpretation
14933 /* enum: TX PD firmware with approximately Siena-compatible behaviour
14952 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
15104 /* Number of VIs available for external ports 0-3. For devices with more than
15129 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
15143 * (SF-115995-SW) in the present configuration of firmware and port mode.
15148 * (SF-115995-SW) in the present configuration of firmware and port mode.
15154 * hold at least this many 64-bit stats values, if they wish to receive all
15317 /* enum: reserved value - do not use (may indicate alternative interpretation
15328 /* enum: RX PD firmware with approximately Siena-compatible behaviour
15350 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
15368 /* enum: reserved value - do not use (may indicate alternative interpretation
15379 /* enum: TX PD firmware with approximately Siena-compatible behaviour
15398 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
15550 /* Number of VIs available for external ports 0-3. For devices with more than
15575 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
15589 * (SF-115995-SW) in the present configuration of firmware and port mode.
15594 * (SF-115995-SW) in the present configuration of firmware and port mode.
15600 * hold at least this many 64-bit stats values, if they wish to receive all
15607 * will only be non-zero if MC_CMD_GET_CAPABILITIES/FILTER_ACTION_MARK is set.
15768 /* enum: reserved value - do not use (may indicate alternative interpretation
15779 /* enum: RX PD firmware with approximately Siena-compatible behaviour
15801 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
15819 /* enum: reserved value - do not use (may indicate alternative interpretation
15830 /* enum: TX PD firmware with approximately Siena-compatible behaviour
15849 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
16001 /* Number of VIs available for external ports 0-3. For devices with more than
16026 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
16040 * (SF-115995-SW) in the present configuration of firmware and port mode.
16045 * (SF-115995-SW) in the present configuration of firmware and port mode.
16051 * hold at least this many 64-bit stats values, if they wish to receive all
16058 * will only be non-zero if MC_CMD_GET_CAPABILITIES/FILTER_ACTION_MARK is set.
16230 /* enum: reserved value - do not use (may indicate alternative interpretation
16241 /* enum: RX PD firmware with approximately Siena-compatible behaviour
16263 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
16281 /* enum: reserved value - do not use (may indicate alternative interpretation
16292 /* enum: TX PD firmware with approximately Siena-compatible behaviour
16311 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
16463 /* Number of VIs available for external ports 0-3. For devices with more than
16488 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
16502 * (SF-115995-SW) in the present configuration of firmware and port mode.
16507 * (SF-115995-SW) in the present configuration of firmware and port mode.
16513 * hold at least this many 64-bit stats values, if they wish to receive all
16520 * will only be non-zero if MC_CMD_GET_CAPABILITIES/FILTER_ACTION_MARK is set.
16749 /* enum: reserved value - do not use (may indicate alternative interpretation
16760 /* enum: RX PD firmware with approximately Siena-compatible behaviour
16782 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
16800 /* enum: reserved value - do not use (may indicate alternative interpretation
16811 /* enum: TX PD firmware with approximately Siena-compatible behaviour
16830 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
16982 /* Number of VIs available for external ports 0-3. For devices with more than
17007 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
17021 * (SF-115995-SW) in the present configuration of firmware and port mode.
17026 * (SF-115995-SW) in the present configuration of firmware and port mode.
17032 * hold at least this many 64-bit stats values, if they wish to receive all
17039 * will only be non-zero if MC_CMD_GET_CAPABILITIES/FILTER_ACTION_MARK is set.
17111 /* These bits are reserved for communicating test-specific capabilities to
17112 * host-side test software. All production drivers should treat this field as
17282 /* enum: reserved value - do not use (may indicate alternative interpretation
17293 /* enum: RX PD firmware with approximately Siena-compatible behaviour
17315 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
17333 /* enum: reserved value - do not use (may indicate alternative interpretation
17344 /* enum: TX PD firmware with approximately Siena-compatible behaviour
17363 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
17515 /* Number of VIs available for external ports 0-3. For devices with more than
17540 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
17554 * (SF-115995-SW) in the present configuration of firmware and port mode.
17559 * (SF-115995-SW) in the present configuration of firmware and port mode.
17565 * hold at least this many 64-bit stats values, if they wish to receive all
17572 * will only be non-zero if MC_CMD_GET_CAPABILITIES/FILTER_ACTION_MARK is set.
17644 /* These bits are reserved for communicating test-specific capabilities to
17645 * host-side test software. All production drivers should treat this field as
17676 /* The maximum number of queues that can be used by an RSS context in even-
17677 * spreading mode. In even-spreading mode the context has no indirection table
17850 /* enum: reserved value - do not use (may indicate alternative interpretation
17861 /* enum: RX PD firmware with approximately Siena-compatible behaviour
17883 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
17901 /* enum: reserved value - do not use (may indicate alternative interpretation
17912 /* enum: TX PD firmware with approximately Siena-compatible behaviour
17931 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
18083 /* Number of VIs available for external ports 0-3. For devices with more than
18108 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
18122 * (SF-115995-SW) in the present configuration of firmware and port mode.
18127 * (SF-115995-SW) in the present configuration of firmware and port mode.
18133 * hold at least this many 64-bit stats values, if they wish to receive all
18140 * will only be non-zero if MC_CMD_GET_CAPABILITIES/FILTER_ACTION_MARK is set.
18212 /* These bits are reserved for communicating test-specific capabilities to
18213 * host-side test software. All production drivers should treat this field as
18244 /* The maximum number of queues that can be used by an RSS context in even-
18245 * spreading mode. In even-spreading mode the context has no indirection table
18432 /* enum: reserved value - do not use (may indicate alternative interpretation
18443 /* enum: RX PD firmware with approximately Siena-compatible behaviour
18465 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
18483 /* enum: reserved value - do not use (may indicate alternative interpretation
18494 /* enum: TX PD firmware with approximately Siena-compatible behaviour
18513 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
18665 /* Number of VIs available for external ports 0-3. For devices with more than
18690 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
18704 * (SF-115995-SW) in the present configuration of firmware and port mode.
18709 * (SF-115995-SW) in the present configuration of firmware and port mode.
18715 * hold at least this many 64-bit stats values, if they wish to receive all
18722 * will only be non-zero if MC_CMD_GET_CAPABILITIES/FILTER_ACTION_MARK is set.
18794 /* These bits are reserved for communicating test-specific capabilities to
18795 * host-side test software. All production drivers should treat this field as
18826 /* The maximum number of queues that can be used by an RSS context in even-
18827 * spreading mode. In even-spreading mode the context has no indirection table
19017 /* enum: reserved value - do not use (may indicate alternative interpretation
19028 /* enum: RX PD firmware with approximately Siena-compatible behaviour
19050 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
19068 /* enum: reserved value - do not use (may indicate alternative interpretation
19079 /* enum: TX PD firmware with approximately Siena-compatible behaviour
19098 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
19250 /* Number of VIs available for external ports 0-3. For devices with more than
19275 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
19289 * (SF-115995-SW) in the present configuration of firmware and port mode.
19294 * (SF-115995-SW) in the present configuration of firmware and port mode.
19300 * hold at least this many 64-bit stats values, if they wish to receive all
19307 * will only be non-zero if MC_CMD_GET_CAPABILITIES/FILTER_ACTION_MARK is set.
19379 /* These bits are reserved for communicating test-specific capabilities to
19380 * host-side test software. All production drivers should treat this field as
19411 /* The maximum number of queues that can be used by an RSS context in even-
19412 * spreading mode. In even-spreading mode the context has no indirection table
19445 /* Number of VIs available for external ports 4-7. Information for ports 0-3 is
19483 * are used for low-level operations directed at the platform as a whole (e.g.
19534 * allocate and initialise a v-switch.
19543 /* The port to connect to the v-switch's upstream port. */
19546 /* The type of v-switch to create. */
19559 /* Flags controlling v-port creation */
19565 /* The number of VLAN tags to allow for attached v-ports. For VLAN aggregators,
19566 * this must be one or greated, and the attached v-ports must have exactly this
19567 * number of tags. For other v-switch types, this must be zero of greater, and
19568 * is an upper limit on the number of VLAN tags for attached v-ports. An error
19570 * v-ports with this number of tags.
19581 * de-allocate a v-switch.
19590 /* The port to which the v-switch is connected. */
19600 * allocate a v-port.
19609 /* The port to which the v-switch is connected. */
19612 /* The type of the new v-port. */
19621 /* enum: A normal v-port receives packets which match a specified MAC and/or
19625 /* enum: An expansion v-port packets traffic which don't match any other
19626 * v-port.
19629 /* enum: An test v-port receives packets which match any filters installed by
19633 /* Flags controlling v-port creation */
19644 * v-switch.
19660 /* The handle of the new v-port */
19667 * de-allocate a v-port.
19676 /* The handle of the v-port */
19686 * allocate a v-adaptor.
19695 /* The port to connect to the v-adaptor's port. */
19698 /* Flags controlling v-adaptor creation */
19722 /* The MAC address to assign to this v-adaptor */
19734 * de-allocate a v-adaptor.
19743 /* The port to which the v-adaptor is connected. */
19753 * assign a new MAC address to a v-adaptor.
19762 /* The port to which the v-adaptor is connected. */
19765 /* The new MAC address to assign to this v-adaptor */
19775 * read some config of v-adaptor.
19784 /* The port to which the v-adaptor is connected. */
19793 /* The v-adaptor flags as defined at MC_CMD_VADAPTOR_ALLOC. */
19851 * queues, but the key and indirection table are pre-configured and may not be
19864 * the indirection table will be in the range 0 to NUM_QUEUES-1. For even-
19886 * queues, but the key and indirection table are pre-configured and may not be
19899 * the indirection table will be in the range 0 to NUM_QUEUES-1. For even-
19962 /* The 40-byte Toeplitz hash key (TBD endianness issues?) */
19987 /* The 40-byte Toeplitz hash key (TBD endianness issues?) */
20008 /* The 128-byte indirection table (1 byte per entry) */
20035 /* The 128-byte indirection table (1 byte per entry) */
20056 * in this case, the MODE fields may be set to non-zero values, and will take
20125 * capability), the _EN bits report the state. If any _MODE bits are non-zero
20128 * guaranteed to be consistent with the _EN flags for a freshly-allocated RSS
20175 * Add a MAC address to a v-port
20184 /* The handle of the v-port */
20197 * Delete a MAC address from a v-port
20206 /* The handle of the v-port */
20219 * Delete a MAC address from a v-port
20228 /* The handle of the v-port */
20237 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_MACADDR_NUM(len) (((len)-4)/6)
20251 * Replace VLAN tags and/or MAC addresses of an existing v-port. If the v-port
20252 * has already been passed to another function (v-port's user), then that
20262 /* The handle of the v-port */
20276 * v-switch.
20558 #define MC_CMD_KR_TUNE_IN_KR_TUNE_ARGS_NUM(len) (((len)-4)/4)
20614 #define MC_CMD_KR_TUNE_RXEQ_GET_OUT_PARAM_NUM(len) (((len)-0)/4)
20624 /* enum: Attenuation (0-15, Huntington) */
20626 /* enum: CTLE Boost (0-15, Huntington) */
20628 /* enum: Edge DFE Tap1 (Huntington - 0 - max negative, 64 - zero, 127 - max
20629 * positive, Medford - 0-31)
20632 /* enum: Edge DFE Tap2 (Huntington - 0 - max negative, 32 - zero, 63 - max
20633 * positive, Medford - 0-31)
20636 /* enum: Edge DFE Tap3 (Huntington - 0 - max negative, 32 - zero, 63 - max
20637 * positive, Medford - 0-16)
20640 /* enum: Edge DFE Tap4 (Huntington - 0 - max negative, 32 - zero, 63 - max
20641 * positive, Medford - 0-16)
20644 /* enum: Edge DFE Tap5 (Huntington - 0 - max negative, 32 - zero, 63 - max
20645 * positive, Medford - 0-16)
20648 /* enum: Edge DFE DLEV (0-128 for Medford) */
20650 /* enum: Variable Gain Amplifier (0-15, Medford) */
20652 /* enum: CTLE EQ Capacitor (0-15, Medford) */
20654 /* enum: CTLE EQ Resistor (0-7, Medford) */
20656 /* enum: CTLE gain (0-31, Medford2) */
20658 /* enum: CTLE pole (0-31, Medford2) */
20660 /* enum: CTLE peaking (0-31, Medford2) */
20662 /* enum: DFE Tap1 - even path (Medford2 - 6 bit signed (-29 - +29)) */
20664 /* enum: DFE Tap1 - odd path (Medford2 - 6 bit signed (-29 - +29)) */
20666 /* enum: DFE Tap2 (Medford2 - 6 bit signed (-20 - +20)) */
20668 /* enum: DFE Tap3 (Medford2 - 6 bit signed (-20 - +20)) */
20670 /* enum: DFE Tap4 (Medford2 - 6 bit signed (-20 - +20)) */
20672 /* enum: DFE Tap5 (Medford2 - 6 bit signed (-24 - +24)) */
20674 /* enum: DFE Tap6 (Medford2 - 6 bit signed (-24 - +24)) */
20676 /* enum: DFE Tap7 (Medford2 - 6 bit signed (-24 - +24)) */
20678 /* enum: DFE Tap8 (Medford2 - 6 bit signed (-24 - +24)) */
20680 /* enum: DFE Tap9 (Medford2 - 6 bit signed (-24 - +24)) */
20682 /* enum: DFE Tap10 (Medford2 - 6 bit signed (-24 - +24)) */
20684 /* enum: DFE Tap11 (Medford2 - 6 bit signed (-24 - +24)) */
20686 /* enum: DFE Tap12 (Medford2 - 6 bit signed (-24 - +24)) */
20688 /* enum: I/Q clk offset (Medford2 - 4 bit signed (-5 - +5))) */
20691 * (Medford2 - 6 bit signed (-29 - +29)))
20695 * (Medford2 - 6 bit signed (-29 - +29)))
20699 * (Medford2 - 6 bit signed (-29 - +29)))
20703 * (Medford2 - 6 bit signed (-29 - +29)))
20710 /* enum: CTLE Boost stages - retimer lineside (Medford2 with DS250x retimer - 4
20714 /* enum: DFE Tap1 - retimer lineside (Medford2 with DS250x retimer (-31 - 31))
20717 /* enum: DFE Tap2 - retimer lineside (Medford2 with DS250x retimer (-15 - 15))
20720 /* enum: DFE Tap3 - retimer lineside (Medford2 with DS250x retimer (-15 - 15))
20723 /* enum: DFE Tap4 - retimer lineside (Medford2 with DS250x retimer (-15 - 15))
20726 /* enum: DFE Tap5 - retimer lineside (Medford2 with DS250x retimer (-15 - 15))
20729 /* enum: CTLE Boost stages - retimer hostside (Medford2 with DS250x retimer - 4
20733 /* enum: DFE Tap1 - retimer hostside (Medford2 with DS250x retimer (-31 - 31))
20736 /* enum: DFE Tap2 - retimer hostside (Medford2 with DS250x retimer (-15 - 15))
20739 /* enum: DFE Tap3 - retimer hostside (Medford2 with DS250x retimer (-15 - 15))
20742 /* enum: DFE Tap4 - retimer hostside (Medford2 with DS250x retimer (-15 - 15))
20745 /* enum: DFE Tap5 - retimer hostside (Medford2 with DS250x retimer (-15 - 15))
20774 #define MC_CMD_KR_TUNE_RXEQ_SET_IN_PARAM_NUM(len) (((len)-4)/4)
20827 #define MC_CMD_KR_TUNE_TXEQ_GET_OUT_PARAM_NUM(len) (((len)-0)/4)
20839 /* enum: De-Emphasis Tap1 Magnitude (0-7) (Huntington) */
20841 /* enum: De-Emphasis Tap1 Fine */
20843 /* enum: De-Emphasis Tap2 Magnitude (0-6) (Huntington) */
20845 /* enum: De-Emphasis Tap2 Fine (Huntington) */
20847 /* enum: Pre-Emphasis Magnitude (Huntington) */
20849 /* enum: Pre-Emphasis Fine (Huntington) */
20859 /* enum: Pre-cursor Tap (Medford, Medford2) */
20861 /* enum: Post-cursor Tap (Medford, Medford2) */
20865 /* enum: Pre-cursor Tap (Retimer Lineside) */
20867 /* enum: Post-cursor Tap (Retimer Lineside) */
20871 /* enum: Pre-cursor Tap (Retimer Hostside) */
20873 /* enum: Post-cursor Tap (Retimer Hostside) */
20898 #define MC_CMD_KR_TUNE_TXEQ_SET_IN_PARAM_NUM(len) (((len)-4)/4)
20954 /* Port-relative lane to scan eye on */
20995 #define MC_CMD_KR_TUNE_POLL_EYE_PLOT_OUT_SAMPLES_NUM(len) (((len)-0)/2)
21053 /* C(-1) request */
21072 /* C(-1) status */
21089 /* C(-1) value */
21103 * - not used for V3 licensing
21115 /* enum: re-read and apply licenses after a license key partition update; note
21116 * that this operation returns a zero-length response
21147 /* licensing subsystem self-test report (for manftest) */
21150 /* enum: licensing subsystem self-test failed */
21152 /* enum: licensing subsystem self-test passed */
21159 * - V3 licensing (Medford)
21171 /* enum: re-read and apply licenses after a license key partition update; note
21172 * that this operation returns a zero-length response
21201 /* licensing subsystem self-test report (for manftest) */
21204 /* enum: licensing subsystem self-test failed */
21206 /* enum: licensing subsystem self-test passed */
21268 * Change configuration related to the parser-dispatcher subsystem.
21280 #define MC_CMD_SET_PARSER_DISP_CONFIG_IN_VALUE_NUM(len) (((len)-8)/4)
21284 /* enum: Per-TXQ enable for multicast UDP destination lookup for possible
21288 /* enum: Per-v-adaptor enable for suppression of self-transmissions on the
21338 * - before adding code that queries this workaround, remember that there's
21408 * administrator-level operations that are not allowed from the local host once
21410 * SF-117064-DG for background).
21413 /* enum: Control the Match-Action Engine if present. See mcdi_mae.yml. */
21424 * the device and to on-device DDR. It allows clients to use TX-DESC2CMPT-DESC
21425 * descriptors, and to use TX-SEG-DESC and TX-MEM2MEM-DESC with an address
21503 * parser-dispatcher will attempt to parse traffic on these ports as tunnel
21518 #define MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_IN_ENTRIES_NUM(len) (((len)-4)/4)
21563 /* Function-relative queue instance */
21661 * be found within XN-200418-TC.
21675 /* The instance of the scheduler. Refer to XN-200389-AW (snic/hnic) and
21676 * XN-200425-TC (cdx) for the location of these schedulers in the hardware.
21710 * SF-120268-TC)
21753 /* The type of mapping; see SF-nnnnnn-xx (EF100 driver writer's guide, once
21783 #define MC_CMD_GET_DESC_ADDR_REGIONS_OUT_REGIONS_NUM(len) (((len)-0)/32)
21808 #define MC_CMD_SET_DESC_ADDR_REGIONS_IN_TRGT_ADDR_BASE_NUM(len) (((len)-8)/8)
21871 * unit. See also MC_CMD_CLIENT_CMD. See XN-200265-TC for background, concepts
21873 * clients". The newly-created client is a child of the client which sent this
21923 * created are then owned by the user-client. Only the VI owner can call this
21934 /* Function-relative VI number to modify. */
21999 #define MC_CMD_GET_CLIENT_MAC_ADDRESSES_OUT_MAC_ADDRS_NUM(len) (((len)-0)/6)
22024 #define MC_CMD_SET_CLIENT_MAC_ADDRESSES_IN_MAC_ADDRS_NUM(len) (((len)-4)/6)
22061 * into pages. This field specifies which (0-indexed) page to request. A
22075 #define MC_CMD_CHECK_SCHEDULER_CREDITS_OUT_RESULTS_NUM(len) (((len)-16)/16)
22124 * specification ( https://docs.oasis-
22125 * open.org/virtio/virtio/v1.1/csprd01/virtio-v1.1-csprd01.pdf )
22213 /* Desired instance. This is the function-local index of the associated VI, not
22276 * the features returned from MC_CMD_VIRTIO_GET_FEATURES. Features are per-
22465 * command is subject to change given the open discussion about how PCIe
22479 /* enum: Obtain a client handle for a PCIe function-type client. */
22481 /* PCIe Function ID (as struct PCIE_FUNCTION). Valid when TYPE==FUNC. Use: -
22482 * INTF=CALLER, PF=PF_NULL, VF=VF_NULL to refer to the calling function -
22484 * a sibling VF of the calling VF. - INTF=CALLER, PF=..., VF=VF_NULL to refer
22485 * to a PF on the calling interface - INTF=CALLER, PF=..., VF=... to refer to a
22486 * VF on the calling interface - INTF=..., PF=PF_NULL, VF=VF_NULL to refer to
22487 * the named interface itself - INTF=..., PF=..., VF=VF_NULL to refer to a PF
22488 * on a named interface - INTF=..., PF=..., VF=... to refer to a VF on a named
23478 * 32-bits or within any NIC interface field that needs store the value
23480 * refer to m-ports.
23483 /* Used to force the tools to output bitfield-style defines for this structure.
23487 /* enum: An m-port selector value that is guaranteed never to represent a real
23491 /* enum: The m-port assigned to the calling client. */
23504 /* enum: The MPORT assigned to a given PCIe function (see also FWRIVERHD-1108)
23535 * client. - When used by a PF with VF_ID == VF_ID_NULL, the mport selector
23537 * clients use ASSIGNED to achieve this behaviour). - When used by a PF with
23539 * function. - When used by a VF with VF_ID == VF_ID_NULL, the mport selector
23540 * relates to the PF owning the calling function. - When used by a VF with
23542 * calling function. - Not meaningful used by a client that is not a PCIe
23564 * cannot administer), and 4. Some could be implementation-specific and fail
23566 * SF-123581-TC section 4.3 for more details.
23592 /* enum: Set FLAT to this value to obtain backward-compatible behaviour in
23604 * Describes capabilities of the MAE (Match-Action Engine)
23852 * Get a level of support for match fields when used in match-action rules
23867 #define MC_CMD_MAE_GET_AR_CAPS_OUT_FIELD_FLAGS_NUM(len) (((len)-4)/4)
23899 #define MC_CMD_MAE_GET_OR_CAPS_OUT_FIELD_FLAGS_NUM(len) (((len)-4)/4)
23913 * Allocate match-action-engine counters, which can be referenced in various
23945 #define MC_CMD_MAE_COUNTER_ALLOC_OUT_COUNTER_ID_NUM(len) (((len)-8)/4)
23976 * Free match-action-engine counters
23990 #define MC_CMD_MAE_COUNTER_FREE_IN_FREE_COUNTER_ID_NUM(len) (((len)-4)/4)
24023 #define MC_CMD_MAE_COUNTER_FREE_OUT_FREED_COUNTER_ID_NUM(len) (((len)-8)/4)
24161 #define MC_CMD_MAE_COUNTERS_STREAM_STOP_V2_OUT_GENERATION_COUNT_NUM(len) (((len)-0)/4)
24163 * MAE_COUNTER_TYPE_AR==0, this response is backwards-compatible with V1. The
24201 * header must be constructed as a valid packet with 0-length payload.
24217 #define MC_CMD_MAE_ENCAP_HEADER_ALLOC_IN_HDR_DATA_NUM(len) (((len)-4)/1)
24250 #define MC_CMD_MAE_ENCAP_HEADER_UPDATE_IN_HDR_DATA_NUM(len) (((len)-8)/1)
24279 #define MC_CMD_MAE_ENCAP_HEADER_FREE_IN_EH_ID_NUM(len) (((len)-0)/4)
24292 #define MC_CMD_MAE_ENCAP_HEADER_FREE_OUT_FREED_EH_ID_NUM(len) (((len)-0)/4)
24344 #define MC_CMD_MAE_MAC_ADDR_FREE_IN_MAC_ID_NUM(len) (((len)-0)/4)
24357 #define MC_CMD_MAE_MAC_ADDR_FREE_OUT_FREED_MAC_ID_NUM(len) (((len)-0)/4)
24445 /* An m-port selector identifying the m-port that the modified packet should be
24459 * it can supply a COUNTER_ID instead of allocating a single-element counter
24462 * is not valid to supply a non-NULL value for both COUNTER_LIST_ID and
24548 /* An m-port selector identifying the m-port that the modified packet should be
24562 * it can supply a COUNTER_ID instead of allocating a single-element counter
24565 * is not valid to supply a non-NULL value for both COUNTER_LIST_ID and
24580 /* Source m-port ID to be reported for DO_SET_SRC_MPORT action. */
24583 /* Actions for modifying the Differentiated Services Code-Point (DSCP) bits
24694 /* An m-port selector identifying the m-port that the modified packet should be
24708 * it can supply a COUNTER_ID instead of allocating a single-element counter
24711 * is not valid to supply a non-NULL value for both COUNTER_LIST_ID and
24726 /* Source m-port ID to be reported for DO_SET_SRC_MPORT action. */
24729 /* Actions for modifying the Differentiated Services Code-Point (DSCP) bits
24816 #define MC_CMD_MAE_ACTION_SET_FREE_IN_AS_ID_NUM(len) (((len)-0)/4)
24829 #define MC_CMD_MAE_ACTION_SET_FREE_OUT_FREED_AS_ID_NUM(len) (((len)-0)/4)
24856 #define MC_CMD_MAE_ACTION_SET_LIST_ALLOC_IN_AS_IDS_NUM(len) (((len)-4)/4)
24890 * Free match-action-engine redirect_lists
24902 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_IN_ASL_ID_NUM(len) (((len)-0)/4)
24915 #define MC_CMD_MAE_ACTION_SET_LIST_FREE_OUT_FREED_ASL_ID_NUM(len) (((len)-0)/4)
24940 #define MC_CMD_MAE_OUTER_RULE_INSERT_IN_FIELD_MATCH_CRITERIA_NUM(len) (((len)-16)/1)
25012 #define MC_CMD_MAE_OUTER_RULE_REMOVE_IN_OR_ID_NUM(len) (((len)-0)/4)
25025 #define MC_CMD_MAE_OUTER_RULE_REMOVE_OUT_REMOVED_OR_ID_NUM(len) (((len)-0)/4)
25039 /* Only one of ASL_ID or AS_ID may have a non-NULL value. */
25044 /* Controls lookup flow when this rule is hit. See sub-fields for details. More
25045 * info on the lookup sequence can be found in SF-122976-TC. It is an error to
25096 #define MC_CMD_MAE_ACTION_RULE_INSERT_IN_MATCH_CRITERIA_NUM(len) (((len)-28)/1)
25158 #define MC_CMD_MAE_ACTION_RULE_DELETE_IN_AR_ID_NUM(len) (((len)-0)/4)
25171 #define MC_CMD_MAE_ACTION_RULE_DELETE_OUT_DELETED_AR_ID_NUM(len) (((len)-0)/4)
25182 * Return the m-port corresponding to a selector.
25202 * Allocates a m-port, which can subsequently be used in action rules as a
25212 /* The type of m-port to allocate. Firmware may return ENOTSUP for certain
25217 /* enum: Traffic can be sent to this type of m-port using an override
25218 * descriptor. Traffic received on this type of m-port will go to the VNIC on a
25219 * nominated m-port, and will be delivered with metadata identifying the alias
25220 * m-port.
25223 /* enum: This type of m-port has a VNIC attached. Queues can be created on this
25224 * VNIC by specifying the created m-port as an m-port selector at queue
25228 /* 128-bit value for use by the driver. */
25234 /* The type of m-port to allocate. Firmware may return ENOTSUP for certain
25239 /* enum: Traffic can be sent to this type of m-port using an override
25240 * descriptor. Traffic received on this type of m-port will go to the VNIC on a
25241 * nominated m-port, and will be delivered with metadata identifying the alias
25242 * m-port.
25245 /* enum: This type of m-port has a VNIC attached. Queues can be created on this
25246 * VNIC by specifying the created m-port as an m-port selector at queue
25250 /* 128-bit value for use by the driver. */
25253 /* An m-port selector identifying the VNIC to which traffic should be
25255 * the m-port assigned to the calling client).
25262 /* The type of m-port to allocate. Firmware may return ENOTSUP for certain
25267 /* enum: Traffic can be sent to this type of m-port using an override
25268 * descriptor. Traffic received on this type of m-port will go to the VNIC on a
25269 * nominated m-port, and will be delivered with metadata identifying the alias
25270 * m-port.
25273 /* enum: This type of m-port has a VNIC attached. Queues can be created on this
25274 * VNIC by specifying the created m-port as an m-port selector at queue
25278 /* 128-bit value for use by the driver. */
25284 /* ID of newly-allocated m-port. */
25290 /* ID of newly-allocated m-port. */
25294 * using an alias type m-port. This value is guaranteed unique on the VNIC
25303 /* ID of newly-allocated m-port. */
25310 * Free a m-port which was previously allocated by the driver.
25353 /* Not the ideal name; it's really the type of thing connected to the m-port */
25358 /* enum: Adds metadata and delivers to another m-port */
25364 /* 128-bit value available to drivers for m-port identification. */
25387 /* The m-port delivered to */
25426 * Firmware maintains a per-client journal of mport creations and deletions.
25427 * This journal is clear-on-read, i.e. repeated calls of this command will
25447 #define MC_CMD_MAE_MPORT_READ_JOURNAL_OUT_MPORT_DESC_DATA_NUM(len) (((len)-12)/1)
25470 * describes the location and properties of one N-bit field within a wider
25471 * M-bit key/mask/response value.
25540 #define MC_CMD_TABLE_LIST_OUT_TABLE_ID_NUM(len) (((len)-4)/4)
25545 * items can be obtained by repeating the call with a non-zero
25587 #define MC_CMD_TABLE_DESCRIPTOR_OUT_FIELDS_NUM(len) (((len)-20)/8)
25608 /* enum: STCAM (semi-TCAM) table: like a TCAM but entries shared a limited
25626 * 0=highest to N_PRIORITIES-1=lowest.
25650 * by repeating the call with a non-zero FIRST_FIELDS_INDEX.
25685 #define MC_CMD_TABLE_INSERT_IN_DATA_NUM(len) (((len)-12)/4)
25705 /* Mask ID for STCAM table - used instead of mask data if the table descriptor
25710 /* Priority for TCAM or STCAM, in range 0..N_PRIORITIES-1, otherwise 0. */
25713 /* (32-bit alignment padding - set to 0) */
25717 * data values. Each of these items is logically treated as a single wide N-bit
25720 * N-bit value is padded with 0 bits at the MSB end if necessary to make a
25722 * sequence of 32-bit words, bits [31:0] first, then bits [63:32], etc.
25752 #define MC_CMD_TABLE_DELETE_IN_DATA_NUM(len) (((len)-12)/4)
25772 /* Mask ID for STCAM table - used instead of mask data if the table descriptor
25777 /* Priority for TCAM or STCAM, in range 0..N_PRIORITIES-1, otherwise 0. */
25780 /* (32-bit alignment padding - set to 0) */
25784 * data values. Each of these items is logically treated as a single wide N-bit
25787 * N-bit value is padded with 0 bits at the MSB end if necessary to make a
25789 * sequence of 32-bit words, bits [31:0] first, then bits [63:32], etc.
25800 /* MC_CMD_QUEUE_HANDLE structuredef: On X4, to distinguish between full-
25801 * featured (X2-style) VIs and low-latency (X3-style) queues, we use the top
25818 /* enum: Indicates that the queue instance is a full-featured VI */
25832 * Allocate low latency (X3-style) queues for current PCI function. Can be
25866 #define MC_CMD_ALLOC_LL_QUEUES_OUT_QUEUES_NUM(len) (((len)-12)/4)
25890 * Free low latency (X3-style) queues for current PCI function.
25902 #define MC_CMD_FREE_LL_QUEUES_IN_QUEUES_NUM(len) (((len)-4)/4)