Lines Matching +full:20 +full:a
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
68 * 0 7 8 16 20 22 23 24 31
87 * The protocol requires one response to be delivered for every request; a
103 #define MCDI_HEADER_RSVD_LBN 20
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
227 /* This may be ORed with an EVB_PORT_ID_xxx constant to pass a non-default
295 /* enum: Stale handle. The handle references a resource that no longer exists.
322 /* enum: The requesting client is not a function */
334 * function for authorization. The driver should wait for a PROXY_RESPONSE
335 * event and then resend its request. This error code is followed by a 32-bit
345 * that has enabled proxying or BLOCK_INDEX points to a function that doesn't
353 * request to a designated admin function for authorization.
371 * resources to do so. Send it again after a command has completed.
392 * interfaces. There is a need to refer to interfaces explicitly from drivers
393 * (for example, a management driver on one interface administering a function
395 * interfaces present on a product. Product documentation will specify which
405 /* enum: Riverhead and keystone products have a second PCIe interface to which
417 /* enum: For MCDI commands issued over a PCIe interface, this value is
429 * mask associated with this field in a match rule is zeroed. The NIC may
430 * either reject requests with an invalid mask for such a field, or may assume
432 * fields that a newer driver might know about but that older firmware does
434 * all match fields defined at the time of its compilation. If a driver see a
437 * and must never set a non-zero mask value for this field.
440 /* enum: The NIC supports this field, but cannot use it in a match rule. The
441 * driver must ensure that any mask for such a field in a match rule is zeroed.
442 * The NIC will reject requests with an invalid mask for such a field.
446 * driver must ensure that any mask for such a field is all ones. The NIC will
447 * reject requests with an invalid mask for such a field.
451 * The driver must ensure that any mask for such a field is either all zeroes
452 * or all ones. The NIC will reject requests with an invalid mask for such a
457 * The driver must ensure that any mask for such a field is either all zeroes
458 * or a consecutive set of ones following by all zeroes (starting from MSB).
459 * The NIC will reject requests with an invalid mask for such a field.
463 * The driver may provide an arbitrary mask for such a field.
544 * matching? TODO: there was a proposal for driver-allocation fields. The
546 * and would be given a field id in return. It could then use that field id in
629 * being associated with a different table. Note that the same counter ID may
636 * in large contiguous blocks as a LAG config. Calling MAE_COUNTER_ALLOC/FREE
649 /* enum: A counter ID that is guaranteed never to represent a real counter or
657 * [15:8] a unique ID within the block, and [7:0] reserved for future
661 * tables.) The DPU offload engines' enumerators follow a deliberate pattern:
771 * still be clear. The intent is that a list of fields, with their associated
773 * of the fields in a key or response. (Again, this list includes all of the
774 * fields currently defined within the streaming engines, but only a subset may
777 /* enum: May appear multiple times within a key or response, and indicates that
782 /* enum: Source m-port (a full m-port label). */
784 /* enum: Destination m-port (a full m-port label). */
803 /* enum: Counter ID associated with a response. All-bits-1 is a null value to
808 * allows plugins to make a reinterpretation of packet fields in these keys
812 /* enum: Destination MAC address. The mapping from bytes in a frame to the
813 * 48-bit value for this field is in network order, i.e. a MAC address of
814 * AA:BB:CC:DD:EE:FF becomes a 48-bit value of 0xAABBCCDDEEFF.
833 /* enum: Source IP address, either IPv4 or IPv6. The mapping from bytes in a
872 /* enum: True if only/inner frame has a recognised L4 IP protocol (TCP or UDP).
926 /* enum: A conntrack entry identifier, passed to plugins. */
932 * byte mapped to a 32-bit value in network order, i.e. the IPv4 address
944 /* enum: True if the conntrack lookup resulted in a hit. */
1024 * instead of the calculated values for the inner frame when delivering a newly
1025 * encapsulated packet to a LAG m-port.
1050 /* enum: True to include layer 4 in LACP hash on delivery to a LAG m-port. */
1052 /* enum: True to request that LACP is performed by a plugin. */
1112 /* enum: For indirection spreading mode, the base address of a region within
1117 /* enum: For indirection spreading mode, identifies the length of a region
1224 #define MCDI_EVENT_LINKCHANGE_FCNTL_LBN 20
1283 /* enum: Option descriptor part way through a packet. Specific to EF10-family
1540 * a different format)
1543 /* enum: the MC has detected a parity error */
1545 /* enum: the MC has detected a correctable error */
1555 /* enum: notify the designated PF of a new authorization request */
1557 /* enum: notify a function that awaits an authorization that its request has
1565 /* enum: The MC has detected a fault on the SUC */
1573 * a module change.
1582 /* enum: Notification that a sensor has changed state as a result of a reading
1583 * crossing a threshold. This is sent as two events, the first event contains
1588 /* enum: Notification that a descriptor proxy function configuration has been
1595 /* enum: Notification that a descriptor proxy function has been reset. SRC
1600 /* enum: Notification that a driver attached to a descriptor proxy function.
1615 /* enum: Notification that a source queue is enabled and attached to its proxy
1621 /* enum: Notification of a change in link state and/or link speed of a network
1622 * port link. This event applies to a network port identified by a handle,
1627 /* enum: Notification of a change in the state of an MDI (external connector)
1628 * of a network port. This typically corresponds to module plug/unplug for
1630 * This event applies to a network port identified by a handle, PORT_HANDLE,
1731 * PTP clock. This is a more generic equivalent of PTP_TIME_MINOR_26_19.
1751 * PTP clock. This is a more generic equivalent of PTP_TIME_MINOR_26_21.
1764 * should resend it. A non-zero value means that the authorization has been
1781 /* The new generation count after a sensor has been added or deleted. */
1786 /* The handle of a dynamic sensor. */
1791 /* The current values of a sensor. */
1796 /* The current state of a sensor. */
1931 /* enum: A system-level assertion has failed. */
1933 /* enum: A thread-level assertion has failed. */
1946 /* enum: A magic value hinting that the value in this register at the time of
1965 /* enum: A system-level assertion has failed. */
1967 /* enum: A thread-level assertion has failed. */
1980 /* enum: A magic value hinting that the value in this register at the time of
2003 /* enum: A system-level assertion has failed. */
2005 /* enum: A thread-level assertion has failed. */
2018 /* enum: A magic value hinting that the value in this register at the time of
2033 #define MC_CMD_GET_ASSERTS_OUT_V3_MC_FW_BUILD_ID_LEN 20
2183 * (depending on which components exist on a particular adapter)
2258 #define MC_CMD_GET_VERSION_V2_OUT_MCFW_BUILD_ID_LEN 20
2265 /* The SUC firmware version as four numbers - a.b.c.d */
2285 /* The CMC firmware version as four numbers - a.b.c.d */
2302 * FPGA_VERSION[0]: x => Image H{x} FPGA_VERSION[1]: Revision letter (0 => A, 1
2325 * (depending on which components exist on a particular adapter)
2400 #define MC_CMD_GET_VERSION_V3_OUT_MCFW_BUILD_ID_LEN 20
2407 /* The SUC firmware version as four numbers - a.b.c.d */
2427 /* The CMC firmware version as four numbers - a.b.c.d */
2444 * FPGA_VERSION[0]: x => Image H{x} FPGA_VERSION[1]: Revision letter (0 => A, 1
2462 /* The version of the datapath hardware design as three number - a.b.c */
2467 * number - a.b.c
2549 #define MC_CMD_GET_VERSION_V4_OUT_MCFW_BUILD_ID_LEN 20
2556 /* The SUC firmware version as four numbers - a.b.c.d */
2576 /* The CMC firmware version as four numbers - a.b.c.d */
2593 * FPGA_VERSION[0]: x => Image H{x} FPGA_VERSION[1]: Revision letter (0 => A, 1
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 */
2714 #define MC_CMD_GET_VERSION_V5_OUT_MCFW_BUILD_ID_LEN 20
2721 /* The SUC firmware version as four numbers - a.b.c.d */
2741 /* The CMC firmware version as four numbers - a.b.c.d */
2758 * FPGA_VERSION[0]: x => Image H{x} FPGA_VERSION[1]: Revision letter (0 => A, 1
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 */
2832 /* enum: Send a PTP packet. This operation is used on Siena and Huntington.
2914 * is in sync with host. Once set, IN_SYNC flag is cleared by hardware after a
3026 #define MC_CMD_PTP_IN_ADJUST_NANOSECONDS_OFST 20
3029 #define MC_CMD_PTP_IN_ADJUST_MINOR_OFST 20
3063 #define MC_CMD_PTP_IN_ADJUST_V2_NANOSECONDS_OFST 20
3066 #define MC_CMD_PTP_IN_ADJUST_V2_MINOR_OFST 20
3073 #define MC_CMD_PTP_IN_SYNCHRONIZE_LEN 20
3178 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_V2_LEN 20
3234 #define MC_CMD_PTP_IN_RX_SET_UUID_FILTER_LEN 20
3351 /* enum: Unsubscribe a single queue */
3405 #define MC_CMD_PTP_IN_SET_SYNC_STATUS_RESERVED1_OFST 20
3490 #define MC_CMD_PTP_OUT_STATUS_STATS_NFM_OFST 20
3524 #define MC_CMD_PTP_OUT_SYNCHRONIZE_LENMIN 20
3527 #define MC_CMD_PTP_OUT_SYNCHRONIZE_LEN(num) (0+20*(num))
3528 #define MC_CMD_PTP_OUT_SYNCHRONIZE_TIMESET_NUM(len) (((len)-0)/20)
3529 /* A set of host and NIC times */
3531 #define MC_CMD_PTP_OUT_SYNCHRONIZE_TIMESET_LEN 20
3624 * is not supported (older firmware) a format of seconds and nanoseconds should
3641 * is not supported (older firmware) a format of seconds and nanoseconds should
3655 /* Minimum acceptable value for a corrected synchronization timeset. When
3656 * comparing host and NIC clock times, the MC returns a set of samples that
3683 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_RESERVED2_OFST 20
3690 * is not supported (older firmware) a format of seconds and nanoseconds should
3704 /* Minimum acceptable value for a corrected synchronization timeset. When
3705 * comparing host and NIC clock times, the MC returns a set of samples that
3732 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_V2_RESERVED2_OFST 20
3737 * response is not supported a value of -0.1 ns should be assumed, which is
3738 * equivalent to a -10% adjustment.
3753 * response is not supported a value of 0.1 ns should be assumed, which is
3754 * equivalent to a +10% adjustment.
3800 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_GENERAL_RX_OFST 20
3886 /* Siena only. This field contains a 16-bit value for each of the types of
3887 * NVRAM area. The values are defined in the firmware/mc/platform/.c file for a
3904 * issue a subsequent MC_CMD_GET_CAPABILITIES command to determine which
4053 * handled by the NIC. This is a zero-terminated ASCII string.
4056 #define MC_CMD_DRV_ATTACH_IN_V2_DRIVER_VERSION_LEN 20
4128 /* Optional flags field. Omitting this will perform a "legacy" reset action
4178 * Report PHY configuration. This guarantees to succeed even if the PHY is in a
4192 * identifies a real or virtual network port by MAE port and link end. See the
4216 #define MC_CMD_GET_PHY_CFG_IN_V2_TARGET_MPORT_SELECTOR_FUNC_INTF_ID_LBN 20
4327 #define MC_CMD_PHY_CAP_25G_BASER_FEC_LBN 20
4342 #define MC_CMD_GET_PHY_CFG_OUT_STATS_MASK_OFST 20
4346 #define MC_CMD_GET_PHY_CFG_OUT_NAME_LEN 20
4383 #define MC_CMD_GET_PHY_CFG_OUT_REVISION_LEN 20
4388 * Start a BIST test on the PHY. Locks required: PHY_LOCK if doing a PHY BIST
4424 * Poll for BIST completion. Returns a single status code, and optionally some
4426 * after validating OUTLEN and MC_CMD_GET_PHY_CFG.TYPE. If a driver can't
4428 * OUT.RESULT. Locks required: PHY_LOCK if doing a PHY BIST. Return code: 0,
4470 /* Status of each channel A */
4471 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_STATUS_A_OFST 20
4578 #define MC_CMD_POLL_BIST_OUT_MEM_ACTUAL_OFST 20
4593 * Returns a bitmask of loopback modes available at each speed.
4606 * which identifies a real or virtual network port by MAE port and link end.
4630 #define MC_CMD_GET_LOOPBACK_MODES_IN_V2_TARGET_MPORT_SELECTOR_FUNC_INTF_ID_LBN 20
4764 #define MC_CMD_GET_LOOPBACK_MODES_OUT_10G_HI_OFST 20
4915 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_10G_HI_OFST 20
5108 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V3_10G_HI_OFST 20
5224 /* enum: IEEE 802.3, Clause 74 BASE-R FEC (a.k.a Firecode) */
5247 /* The enums in this field can be used either as bitwise indices into a tech
5533 /* enum: If set, indicates that the number of symbol errors in a 8192-codeword
5551 /* enum: If set, autonegotiation has failed to negotiate a common set of
5606 #define MC_CMD_ETH_AN_FIELDS_FEC_REQ_OFST 20
5631 /* enum: Let firmware choose a supported loopback mode */
5749 * a weaker FEC mode may get negotiated, depending on what the link partner
6070 * identifies a real or virtual network port by MAE port and link end. See the
6094 #define MC_CMD_GET_LINK_IN_V2_TARGET_MPORT_SELECTOR_FUNC_INTF_ID_LBN 20
6164 #define MC_CMD_GET_LINK_OUT_FCNTL_OFST 20
6233 #define MC_CMD_GET_LINK_OUT_V2_FCNTL_OFST 20
6342 /* A loopback speed of "0" is supported, and means (choose any available
6378 /* A loopback speed of "0" is supported, and means (choose any available
6419 /* A loopback speed of "0" is supported, and means (choose any available
6436 * identifies a real or virtual network port by MAE port and link end. See the
6439 #define MC_CMD_SET_LINK_IN_V3_TARGET_OFST 20
6441 #define MC_CMD_SET_LINK_IN_V3_TARGET_LO_OFST 20
6450 #define MC_CMD_SET_LINK_IN_V3_TARGET_MPORT_SELECTOR_OFST 20
6452 #define MC_CMD_SET_LINK_IN_V3_TARGET_MPORT_SELECTOR_FLAT_OFST 20
6456 #define MC_CMD_SET_LINK_IN_V3_TARGET_MPORT_SELECTOR_MPORT_ID_OFST 20
6466 #define MC_CMD_SET_LINK_IN_V3_TARGET_MPORT_SELECTOR_FUNC_VF_ID_OFST 20
6470 #define MC_CMD_SET_LINK_IN_V3_TARGET_FLAT_OFST 20
6472 #define MC_CMD_SET_LINK_IN_V3_TARGET_FLAT_LO_OFST 20
6543 #define MC_CMD_SET_MAC_IN_FCNTL_OFST 20
6590 #define MC_CMD_SET_MAC_EXT_IN_FCNTL_OFST 20
6609 /* Select which parameters to configure. A parameter will only be modified if
6659 #define MC_CMD_SET_MAC_V3_IN_FCNTL_OFST 20
6678 /* Select which parameters to configure. A parameter will only be modified if
6701 * identifies a real or virtual network port by MAE port and link end. See the
6761 * Get generic PHY statistics. This call returns the statistics for a generic
6762 * PHY in a sparse array (indexed by the enumerate). Each value is represented
6763 * by a 32bit number. If the DMA_ADDR is 0, then no DMA is performed, and the
6805 /* enum: PMA-PMD SNR A. */
6862 #define MC_CMD_MAC_STATS_IN_LEN 20
6955 * identifies a real or virtual network port by MAE port and link end. See the
6958 #define MC_CMD_MAC_STATS_V2_IN_TARGET_OFST 20
6960 #define MC_CMD_MAC_STATS_V2_IN_TARGET_LO_OFST 20
6969 #define MC_CMD_MAC_STATS_V2_IN_TARGET_MPORT_SELECTOR_OFST 20
6971 #define MC_CMD_MAC_STATS_V2_IN_TARGET_MPORT_SELECTOR_FLAT_OFST 20
6975 #define MC_CMD_MAC_STATS_V2_IN_TARGET_MPORT_SELECTOR_MPORT_ID_OFST 20
6985 #define MC_CMD_MAC_STATS_V2_IN_TARGET_MPORT_SELECTOR_FUNC_VF_ID_OFST 20
6989 #define MC_CMD_MAC_STATS_V2_IN_TARGET_FLAT_OFST 20
6991 #define MC_CMD_MAC_STATS_V2_IN_TARGET_FLAT_LO_OFST 20
7197 * GENERATION_END in a MAC_STATS_V2 response and otherwise unused.
7222 /* enum: Number of CTPIO fallbacks because a DMA packet was in progress on the
7226 /* enum: Number of times a CTPIO send wrote beyond frame end (informational
7248 /* enum: Number of CTPIO failures because the host started a new frame before
7252 /* enum: Number of CTPIO failures because a write was not a multiple of 32 bits
7257 * sending a CTPIO frame
7278 * GENERATION_END in a MAC_STATS_V3 response and otherwise unused.
7316 * GENERATION_END in a MAC_STATS_V4 response and otherwise unused.
7346 * GENERATION_END in a MAC_STATS_V5 response and otherwise unused.
7355 * Set a WoL filter.
7368 /* A type value of 1 is unused. */
7407 #define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_LEN 20
7476 * Remove a WoL filter. Locks required: None. Returns: 0, EINVAL, ENOSYS
7579 * Read info about a virtual NVRAM partition. Locks required: none. Returns: 0,
7629 #define MC_CMD_NVRAM_INFO_OUT_PHYSADDR_OFST 20
7667 #define MC_CMD_NVRAM_INFO_V2_OUT_PHYSADDR_OFST 20
7677 * Start a group of update operations on a virtual NVRAM partition. Locks
7679 * PHY_LOCK required and not held). In an adapter bound to a TSA controller,
7680 * MC_CMD_NVRAM_UPDATE_START can only be used on a subset of partition types
7682 * perform this operation on a restricted partition will return the error
7721 * Read data from a virtual NVRAM partition. Locks required: PHY_LOCK if
7753 /* Optional control info. If a partition is stored with an A/B versioning
7756 * from. This allows it to perform a read-modify-write-verify with the write
7768 /* enum: Read from the current partition of an A/B pair, even if holding the
7772 /* enum: Read from the non-current (i.e. to be updated) partition of an A/B
7792 * Write data to a virtual NVRAM partition. Locks required: PHY_LOCK if
7827 * Erase sector(s) from a virtual NVRAM partition. Locks required: PHY_LOCK if
7853 * Finish a group of update operations on a virtual NVRAM partition. Locks
7856 * a TSA controller, MC_CMD_NVRAM_UPDATE_FINISH can only be used on a subset of
7858 * Attempting to perform this operation on a restricted partition will return
7916 * This process takes a few seconds to complete. So is likely to take more than
7919 * MCDI command is run in a background MCDI processing thread. This response
7927 * the field are marked with a prefix 'Internal-error'.
7961 /* enum: The image contains a test-signed certificate, but the adapter accepts
7965 /* enum: The image has a lower security level than the current firmware. */
7973 /* enum: Internal-error. The bundle does not have a valid reflash image layout.
7984 /* enum: Internal-error. The number of components in a bundle do not match the
7996 /* enum: Internal-error. The hash of a component does not match the hash stored
8002 /* enum: Internal-error. The component does not have a valid reflash image
8006 /* enum: The bundle processing code failed to copy a component to its target
8015 * a valid partition.
8023 * the field are marked with a prefix 'Internal-error'.
8057 /* enum: The image contains a test-signed certificate, but the adapter accepts
8061 /* enum: The image has a lower security level than the current firmware. */
8069 /* enum: Internal-error. The bundle does not have a valid reflash image layout.
8080 /* enum: Internal-error. The number of components in a bundle do not match the
8092 /* enum: Internal-error. The hash of a component does not match the hash stored
8098 /* enum: Internal-error. The component does not have a valid reflash image
8102 /* enum: The bundle processing code failed to copy a component to its target
8111 * a valid partition.
8114 /* If the update was a user configuration, what action(s) the user must take to
8129 /* If the update failed with MC_CMD_NVRAM_VERIFY_RC_BAD_CONFIG, a null-
8141 * assertion failure (at which point it is expected to perform a complete tear
8151 * Locks required: NONE Returns: Nothing. You get back a response with ERR=1,
8173 * Each sensor has a single (16bit) value, and a corresponding state. The
8177 * This call returns a mask (32bit) of the sensors that are supported by this
8181 * equal limit values. If one range is used, a value outside that range results
8182 * in STATE_FATAL. If two ranges are used, a value outside the second range
8183 * results in STATE_FATAL while a value outside the first and inside the second
8191 * If the request does not contain a PAGE value then firmware will only return
8194 * If the request contains a PAGE value then firmware responds with the sensor
8306 /* enum: Not a sensor: reserved for the next page flag */
8342 /* enum: 0.9v power phase A voltage: mV */
8344 /* enum: 0.9v power phase A current: mA */
8346 /* enum: 0.9V voltage regulator phase A temperature: degC */
8364 /* enum: Not a sensor: reserved for the next page flag */
8434 /* enum: Not a sensor: reserved for the next page flag */
8503 * sensors), into host memory. Each array element is a
8511 * The MC will send a SENSOREVT event every time any sensor changes state. The
8609 /* enum: Sensor is working but does not currently have a reading. */
8625 * Report current state of PHY. A 'zombie' PHY is a PHY that has failed to boot
8640 * identifies a real or virtual network port by MAE port and link end. See the
8664 #define MC_CMD_GET_PHY_STATE_IN_V2_TARGET_MPORT_SELECTOR_FUNC_INTF_ID_LBN 20
8715 * Enable/Disable a given workaround. The mcfw will return EINVAL if it doesn't
8716 * understand the given workaround number - which should not be treated as a
8718 * workaround, that's between the driver and the mcfw on a per-workaround
8780 * output data, are interpreted on a per-type basis. For SFP+, PAGE=0 or 1
8781 * returns a 128-byte block read from module I2C address 0xA0 offset 0 or 0x80.
8783 * PAGE=3 is the module limits. For DSFP, module addressing requires a
8785 * Management Interface Specification (CMIS) for further details. A BANK:PAGE
8816 * identifies a real or virtual network port by MAE port and link end. See the
8879 * Test a particular NVRAM partition for valid contents (where "valid" depends
8938 * Reads soft metadata for a virtual NVRAM partition type. Locks required:
8953 #define MC_CMD_NVRAM_METADATA_OUT_LENMIN 20
8956 #define MC_CMD_NVRAM_METADATA_OUT_LEN(num) (20+1*(num))
8957 #define MC_CMD_NVRAM_METADATA_OUT_DESCRIPTION_NUM(len) (((len)-20)/1)
8988 #define MC_CMD_NVRAM_METADATA_OUT_DESCRIPTION_OFST 20
9026 /* A value below this will trigger a warning event. */
9031 /* A value below this will trigger a critical event. */
9036 /* A value below this will shut down the card. */
9041 /* A value above this will trigger a warning event. */
9046 /* A value above this will trigger a critical event. */
9051 /* A value above this will shut down the card. */
9052 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_HI_FATAL_OFST 20
9057 /* MC_CMD_DYNAMIC_SENSORS_DESCRIPTION structuredef: Description of a sensor.
9069 /* A human-readable name for the sensor (zero terminated string, max 32 bytes)
9080 /* enum: A voltage sensor. Unit is mV */
9082 /* enum: A current sensor. Unit is mA */
9084 /* enum: A power sensor. Unit is mW */
9086 /* enum: A temperature sensor. Unit is Celsius */
9088 /* enum: A cooling fan sensor. Unit is RPM */
9092 /* A single MC_CMD_DYNAMIC_SENSORS_LIMITS structure */
9098 /* MC_CMD_DYNAMIC_SENSORS_READING structuredef: State and value of a sensor.
9136 * Return a complete list of handles for sensors currently managed by the MC,
9137 * and a generation count for this version of the sensor table. On systems
9145 * sensor table is modified. When the table is modified, a
9150 * to allow a future path to supporting more than
9152 * the maximum number that will fit in a single response. As this is a fairly
9155 * implemented as a wrapper for `list` in the sensor_query SPHINX service.
9171 /* Generation count, which will be updated each time a sensor is added to or
9191 * Get descriptions for a set of sensors, specified as an array of sensor
9193 * correspond to a sensor currently managed by the MC will be dropped from from
9194 * the response. This may happen when a sensor table update is in progress, and
9197 * implemented as a wrapper for `get_descriptions` in the sensor_query SPHINX
9234 * Read the state and value for a set of sensors, specified as an array of
9235 * sensor handles as returned by MC_CMD_DYNAMIC_SENSORS_LIST. In the case of a
9238 * erroneous. Any handles which do not correspond to a sensor currently managed
9239 * by the MC will be dropped from from the response. This may happen when a
9242 * and the MC. On Riverhead this command is implemented as a wrapper for
9335 /* Select which parameters to configure. A parameter will only be modified if
9358 #define MC_CMD_MAC_CTRL_IN_FCNTL_OFST 20
9383 /* Select which parameters to configure. A parameter will only be modified if
9406 #define MC_CMD_MAC_CTRL_IN_V2_FCNTL_OFST 20
9486 /* enum: Indicates a local MAC fault. */
9488 /* enum: Indicates a remote MAC fault. */
9490 /* enum: Indicates a pending reconfiguration of the MAC. */
9492 /* The flags that were used to configure the MAC. This is a copy of the FLAGS
9495 #define MC_CMD_MAC_STATE_OUT_FLAGS_OFST 20
9500 /* The transmission mode that was used to configure the MAC. This is a copy of
9508 /* The control flags that were used to configure the MAC. This is a copy of the
9520 * Obtain a handle that can be operated on to configure and query the status of
9554 /* enum: This value is used to mark the start of a generation of statistics for
9555 * DMA synchronization. It is incremented whenever a new set of statistics is
9559 /* enum: This value is used to mark the end of a generation of statistics for
9668 * allowed maximum receive unit (MRU). This indicates that a packet either has
9669 * a bad CRC or has an RX error.
9672 /* enum: Packets dropped due to having no descriptor. This is a datapath stat
9750 * Get a list of descriptors that describe the layout and size of the stats
9751 * buffer required for retrieving statistics for a given port. Each entry in
9787 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_OUT_LEN(num) (20+8*(num))
9788 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_OUT_ENTRIES_NUM(len) (((len)-20)/8)
9824 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_OUT_ENTRIES_OFST 20
9826 #define MC_CMD_MAC_STATISTICS_DESCRIPTOR_OUT_ENTRIES_LO_OFST 20
9856 #define MC_CMD_MAC_STATISTICS_IN_LEN 20
9917 /* NET_PORT_HANDLE_DESC structuredef: Network port descriptor containing a port
9963 /* This is an opaque 40 byte label exposed to users as a unique identifier of
9964 * the port. It is represented as a zero-terminated ASCII string and assigned
9965 * by the port administrator which is typically either the firmware for a
9980 * After a start-of-day port enumeration, firmware keeps track of all available
9981 * ports upon creation or deletion and updates the ports if there is a change.
9982 * This command is cleared after a control interface reset (e.g. FLR,
10031 #define MC_CMD_ENUM_PORTS_OUT_PORT_HANDLES_PORT_PROPERTIES_HI_OFST 20
10048 * for a fixed onboard transceiver or an inserted module. The returned data is
10076 /* Preferred FEC modes. This is a function of the cable type and length. */
10106 /* enum: Ethernet over a single backplane lane for connections between
10170 * cage. This information is fixed for a given board but not for a given ASIC.
10190 #define MC_CMD_GET_FIXED_PORT_PROPERTIES_OUT_ABILITIES_FEC_REQ_OFST 20
10206 /* This field serves as a cage index that uniquely identifies the cage to which
10208 * multiple ports on a single cage are used.
10238 /* This field serves as a cage index that uniquely identifies the cage to which
10240 * multiple ports on a single cage are used.
10313 * 8-bit wide ADDRESSING field. This new field provides a correctly aligned
10388 * specified network port events for a given port identified by PORT_HANDLE. At
10418 /* MC_CMD_GET_NETPORT_EVENTS_MASK_IN msgrequest: Get event delivery mask a
10447 * supported by the platform. Information returned is fixed for a given NIC
10481 #define MC_CMD_GET_NETPORT_STATISTICS_IN_LEN 20
10507 * transfer. This field must contain a valid address under either of these
10524 * will result in an EINVAL error. This field must contain a valid length under
10649 /* enum: FPGA jump instruction (a.k.a. boot) partition to select Stage1
10720 * platforms. See SF-119124-PS. The STATIC_CONFIG partition may contain a
10727 * a bundle update in TLV format
10749 * details of sensors leading up to a critical failure (where the board is shut
10759 * number for a bundle update), or discarded with an error if not recognised as
10760 * a supported type.
10882 /* enum: This is a TX completion event, not a timestamp */
10884 /* enum: This is a TX completion event for a CTPIO transmit. The event format
10888 /* enum: This is the low part of a TX timestamp for a CTPIO transmission. The
10892 /* enum: This is the high part of a TX timestamp for a CTPIO transmission. The
10896 /* enum: This is the low part of a TX timestamp event */
10898 /* enum: This is the high part of a TX timestamp event */
10910 /* The RSS mode for a particular packet type is a value from 0 - 15 which can
10911 * be considered as 4 bits selecting which fields are included in the hash. (A
10913 * generation tools require this structure to be a whole number of bytes wide,
10953 /* Desired instance. Must be set to a specific instance, which is a function
10990 #define MC_CMD_INIT_EVQ_IN_TMR_MODE_OFST 20
11004 * MC_CMD_RESOURCE_INSTANCE_ANY unless a specific one required for test
11053 /* Desired instance. Must be set to a specific instance, which is a function
11115 #define MC_CMD_INIT_EVQ_V2_IN_TMR_MODE_OFST 20
11129 * MC_CMD_RESOURCE_INSTANCE_ANY unless a specific one required for test
11191 /* Desired instance. Must be set to a specific instance, which is a function
11253 #define MC_CMD_INIT_EVQ_V3_IN_TMR_MODE_OFST 20
11267 * MC_CMD_RESOURCE_INSTANCE_ANY unless a specific one required for test
11339 * set up a receive queue according to the supplied parameters. The IN
11366 /* Desired instance. Must be set to a specific instance, which is a function
11400 #define MC_CMD_INIT_RXQ_IN_OWNER_ID_OFST 20
11438 /* Desired instance. Must be set to a specific instance, which is a function
11477 * multiple fixed-size packet buffers within each bucket. For a full
11502 #define MC_CMD_INIT_RXQ_EXT_IN_FLAG_NO_CONT_EV_LBN 20
11508 #define MC_CMD_INIT_RXQ_EXT_IN_OWNER_ID_OFST 20
11547 /* Desired instance. Must be set to a specific instance, which is a function
11586 * multiple fixed-size packet buffers within each bucket. For a full
11611 #define MC_CMD_INIT_RXQ_V3_IN_FLAG_NO_CONT_EV_LBN 20
11617 #define MC_CMD_INIT_RXQ_V3_IN_OWNER_ID_OFST 20
11652 /* The length in bytes of a single packet buffer within a
11660 * are still no descriptors then the packet will be dropped. A timeout of 0
11668 * for systems with a QDMA (currently, Riverhead)
11685 /* Desired instance. Must be set to a specific instance, which is a function
11724 * multiple fixed-size packet buffers within each bucket. For a full
11749 #define MC_CMD_INIT_RXQ_V4_IN_FLAG_NO_CONT_EV_LBN 20
11755 #define MC_CMD_INIT_RXQ_V4_IN_OWNER_ID_OFST 20
11790 /* The length in bytes of a single packet buffer within a
11798 * are still no descriptors then the packet will be dropped. A timeout of 0
11809 * Riverhead there is a global limit of eight different buffer sizes across all
11810 * active queues. A 2KB and 4KB buffer is guaranteed to be available, but a
11811 * request for a different buffer size will fail if there are already eight
11818 /* MC_CMD_INIT_RXQ_V5_IN msgrequest: INIT_RXQ request with ability to request a
11836 /* Desired instance. Must be set to a specific instance, which is a function
11875 * multiple fixed-size packet buffers within each bucket. For a full
11900 #define MC_CMD_INIT_RXQ_V5_IN_FLAG_NO_CONT_EV_LBN 20
11906 #define MC_CMD_INIT_RXQ_V5_IN_OWNER_ID_OFST 20
11941 /* The length in bytes of a single packet buffer within a
11949 * are still no descriptors then the packet will be dropped. A timeout of 0
11960 * Riverhead there is a global limit of eight different buffer sizes across all
11961 * active queues. A 2KB and 4KB buffer is guaranteed to be available, but a
11962 * request for a different buffer size will fail if there are already eight
11969 * Zero is always a valid prefix id and means the default prefix format
11971 * MC_CMD_GET_RX_PREFIX_ID with a requested set of prefix fields.
12019 /* Desired instance. Must be set to a specific instance, which is a function
12056 #define MC_CMD_INIT_TXQ_IN_OWNER_ID_OFST 20
12091 /* Desired instance. Must be set to a specific instance, which is a function
12146 #define MC_CMD_INIT_TXQ_EXT_IN_OWNER_ID_OFST 20
12205 * Teardown a RXQ.
12224 * Teardown a TXQ.
12273 * Execute an arbitrary MCDI command on behalf of a different function, subject
12390 #define MC_CMD_FILTER_OP_IN_RX_DEST_OFST 20
12414 /* enum: install a filter entry that will never match; for test purposes only
12570 #define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_OUTER_VLAN_LBN 20
12597 #define MC_CMD_FILTER_OP_EXT_IN_RX_DEST_OFST 20
12621 /* enum: install a filter entry that will never match; for test purposes only
12858 #define MC_CMD_FILTER_OP_V3_IN_MATCH_IFRM_OUTER_VLAN_LBN 20
12885 #define MC_CMD_FILTER_OP_V3_IN_RX_DEST_OFST 20
12909 /* enum: install a filter entry that will never match; for test purposes only
13060 * field. For the cases where these flags induce a valid encoding of the
13104 /* the mark value for MATCH_ACTION_MARK. Requesting a value larger than the
13119 * handles should be considered opaque to the host, although a value of
13120 * 0xFFFFFFFF_FFFFFFFF is guaranteed never to be a valid handle.
13145 * handles should be considered opaque to the host, although a value of
13146 * 0xFFFFFFFF_FFFFFFFF is guaranteed never to be a valid handle.
13187 * encapsulated frames, which follow a different match sequence to normal
13252 /* a version number representing the set of rule lookups that are implemented
13265 /* minimum valid value for a subnet ID in a subnet map leaf */
13268 /* maximum valid value for a subnet ID in a subnet map leaf */
13269 #define MC_CMD_GET_PARSER_DISP_SECURITY_RULE_INFO_OUT_SUBNET_ID_MAX_OFST 20
13274 /* minimum valid value for a portrange ID in a port range map leaf */
13277 /* maximum valid value for a portrange ID in a port range map leaf */
13282 * returned if a MC_CMD_GET_PARSER_DISP_INFO_IN request is sent with OP value
13350 * yet configured, or assigning a port to a given function personality makes no
13355 /* enum: Special value to indicate no port is assigned to a function. */
13435 #define MC_CMD_GET_SRIOV_CFG_OUT_LEN 20
13457 * Allocate a push I/O buffer for later use with a tx queue.
13476 * Free a push I/O buffer.
13495 * Get TLP steering and ordering information for a VI. The caller must have the
13539 #define MC_CMD_GET_VI_TLP_PROCESSING_V2_OUT_RELAXED_ORDERING_SYNC_DATA_LBN 20
13545 * Set TLP steering and ordering information for a VI. The caller must have the
13549 * of the queue. TLP options of a queue are fixed after queue is initialised,
13590 #define MC_CMD_SET_VI_TLP_PROCESSING_V2_IN_RELAXED_ORDERING_SYNC_DATA_LBN 20
13612 #define MC_CMD_GET_CAPABILITIES_OUT_LEN 20
13668 #define MC_CMD_GET_CAPABILITIES_OUT_RX_VLAN_STRIPPING_LBN 20
13921 #define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_VLAN_STRIPPING_LBN 20
14114 #define MC_CMD_GET_CAPABILITIES_V2_OUT_FLAGS2_OFST 20
14116 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TSO_V2_OFST 20
14119 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TSO_V2_ENCAP_OFST 20
14122 #define MC_CMD_GET_CAPABILITIES_V2_OUT_EVQ_TIMER_CTRL_OFST 20
14125 #define MC_CMD_GET_CAPABILITIES_V2_OUT_EVENT_CUT_THROUGH_OFST 20
14128 #define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_CUT_THROUGH_OFST 20
14131 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_VFIFO_ULL_MODE_OFST 20
14134 #define MC_CMD_GET_CAPABILITIES_V2_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
14137 #define MC_CMD_GET_CAPABILITIES_V2_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
14140 #define MC_CMD_GET_CAPABILITIES_V2_OUT_INIT_EVQ_V2_OFST 20
14143 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_MAC_TIMESTAMPING_OFST 20
14146 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TIMESTAMP_OFST 20
14149 #define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_SNIFF_OFST 20
14152 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_SNIFF_OFST 20
14155 #define MC_CMD_GET_CAPABILITIES_V2_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
14158 #define MC_CMD_GET_CAPABILITIES_V2_OUT_MCDI_BACKGROUND_OFST 20
14161 #define MC_CMD_GET_CAPABILITIES_V2_OUT_MCDI_DB_RETURN_OFST 20
14164 #define MC_CMD_GET_CAPABILITIES_V2_OUT_CTPIO_OFST 20
14167 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TSA_SUPPORT_OFST 20
14170 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TSA_BOUND_OFST 20
14173 #define MC_CMD_GET_CAPABILITIES_V2_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
14176 #define MC_CMD_GET_CAPABILITIES_V2_OUT_FILTER_ACTION_FLAG_OFST 20
14179 #define MC_CMD_GET_CAPABILITIES_V2_OUT_FILTER_ACTION_MARK_OFST 20
14180 #define MC_CMD_GET_CAPABILITIES_V2_OUT_FILTER_ACTION_MARK_LBN 20
14182 #define MC_CMD_GET_CAPABILITIES_V2_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
14185 #define MC_CMD_GET_CAPABILITIES_V2_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
14188 #define MC_CMD_GET_CAPABILITIES_V2_OUT_L3XUDP_SUPPORT_OFST 20
14191 #define MC_CMD_GET_CAPABILITIES_V2_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
14194 #define MC_CMD_GET_CAPABILITIES_V2_OUT_VI_SPREADING_OFST 20
14197 #define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP_HLB_IDLE_OFST 20
14200 #define MC_CMD_GET_CAPABILITIES_V2_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
14203 #define MC_CMD_GET_CAPABILITIES_V2_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
14206 #define MC_CMD_GET_CAPABILITIES_V2_OUT_BUNDLE_UPDATE_OFST 20
14209 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TSO_V3_OFST 20
14212 #define MC_CMD_GET_CAPABILITIES_V2_OUT_DYNAMIC_SENSORS_OFST 20
14215 #define MC_CMD_GET_CAPABILITIES_V2_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
14224 * PF, indexed by PF number. Special values indicate that a PF is either not
14237 * in this field. It is intended for a possible future situation where a more
14239 * should look for a new field supporting the new scheme. The current/old
14243 /* One byte per PF containing the number of its VFs, indexed by PF number. A
14244 * special value indicates that a PF is not present.
14273 /* Size of a single PIO buffer */
14334 #define MC_CMD_GET_CAPABILITIES_V3_OUT_RX_VLAN_STRIPPING_LBN 20
14527 #define MC_CMD_GET_CAPABILITIES_V3_OUT_FLAGS2_OFST 20
14529 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_TSO_V2_OFST 20
14532 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_TSO_V2_ENCAP_OFST 20
14535 #define MC_CMD_GET_CAPABILITIES_V3_OUT_EVQ_TIMER_CTRL_OFST 20
14538 #define MC_CMD_GET_CAPABILITIES_V3_OUT_EVENT_CUT_THROUGH_OFST 20
14541 #define MC_CMD_GET_CAPABILITIES_V3_OUT_RX_CUT_THROUGH_OFST 20
14544 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_VFIFO_ULL_MODE_OFST 20
14547 #define MC_CMD_GET_CAPABILITIES_V3_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
14550 #define MC_CMD_GET_CAPABILITIES_V3_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
14553 #define MC_CMD_GET_CAPABILITIES_V3_OUT_INIT_EVQ_V2_OFST 20
14556 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_MAC_TIMESTAMPING_OFST 20
14559 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_TIMESTAMP_OFST 20
14562 #define MC_CMD_GET_CAPABILITIES_V3_OUT_RX_SNIFF_OFST 20
14565 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_SNIFF_OFST 20
14568 #define MC_CMD_GET_CAPABILITIES_V3_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
14571 #define MC_CMD_GET_CAPABILITIES_V3_OUT_MCDI_BACKGROUND_OFST 20
14574 #define MC_CMD_GET_CAPABILITIES_V3_OUT_MCDI_DB_RETURN_OFST 20
14577 #define MC_CMD_GET_CAPABILITIES_V3_OUT_CTPIO_OFST 20
14580 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TSA_SUPPORT_OFST 20
14583 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TSA_BOUND_OFST 20
14586 #define MC_CMD_GET_CAPABILITIES_V3_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
14589 #define MC_CMD_GET_CAPABILITIES_V3_OUT_FILTER_ACTION_FLAG_OFST 20
14592 #define MC_CMD_GET_CAPABILITIES_V3_OUT_FILTER_ACTION_MARK_OFST 20
14593 #define MC_CMD_GET_CAPABILITIES_V3_OUT_FILTER_ACTION_MARK_LBN 20
14595 #define MC_CMD_GET_CAPABILITIES_V3_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
14598 #define MC_CMD_GET_CAPABILITIES_V3_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
14601 #define MC_CMD_GET_CAPABILITIES_V3_OUT_L3XUDP_SUPPORT_OFST 20
14604 #define MC_CMD_GET_CAPABILITIES_V3_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
14607 #define MC_CMD_GET_CAPABILITIES_V3_OUT_VI_SPREADING_OFST 20
14610 #define MC_CMD_GET_CAPABILITIES_V3_OUT_RXDP_HLB_IDLE_OFST 20
14613 #define MC_CMD_GET_CAPABILITIES_V3_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
14616 #define MC_CMD_GET_CAPABILITIES_V3_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
14619 #define MC_CMD_GET_CAPABILITIES_V3_OUT_BUNDLE_UPDATE_OFST 20
14622 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_TSO_V3_OFST 20
14625 #define MC_CMD_GET_CAPABILITIES_V3_OUT_DYNAMIC_SENSORS_OFST 20
14628 #define MC_CMD_GET_CAPABILITIES_V3_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
14637 * PF, indexed by PF number. Special values indicate that a PF is either not
14650 * in this field. It is intended for a possible future situation where a more
14652 * should look for a new field supporting the new scheme. The current/old
14656 /* One byte per PF containing the number of its VFs, indexed by PF number. A
14657 * special value indicates that a PF is not present.
14686 /* Size of a single PIO buffer */
14690 * is configurable. This is a global setting that the driver must query to
14772 #define MC_CMD_GET_CAPABILITIES_V4_OUT_RX_VLAN_STRIPPING_LBN 20
14965 #define MC_CMD_GET_CAPABILITIES_V4_OUT_FLAGS2_OFST 20
14967 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_TSO_V2_OFST 20
14970 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_TSO_V2_ENCAP_OFST 20
14973 #define MC_CMD_GET_CAPABILITIES_V4_OUT_EVQ_TIMER_CTRL_OFST 20
14976 #define MC_CMD_GET_CAPABILITIES_V4_OUT_EVENT_CUT_THROUGH_OFST 20
14979 #define MC_CMD_GET_CAPABILITIES_V4_OUT_RX_CUT_THROUGH_OFST 20
14982 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_VFIFO_ULL_MODE_OFST 20
14985 #define MC_CMD_GET_CAPABILITIES_V4_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
14988 #define MC_CMD_GET_CAPABILITIES_V4_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
14991 #define MC_CMD_GET_CAPABILITIES_V4_OUT_INIT_EVQ_V2_OFST 20
14994 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_MAC_TIMESTAMPING_OFST 20
14997 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_TIMESTAMP_OFST 20
15000 #define MC_CMD_GET_CAPABILITIES_V4_OUT_RX_SNIFF_OFST 20
15003 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_SNIFF_OFST 20
15006 #define MC_CMD_GET_CAPABILITIES_V4_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
15009 #define MC_CMD_GET_CAPABILITIES_V4_OUT_MCDI_BACKGROUND_OFST 20
15012 #define MC_CMD_GET_CAPABILITIES_V4_OUT_MCDI_DB_RETURN_OFST 20
15015 #define MC_CMD_GET_CAPABILITIES_V4_OUT_CTPIO_OFST 20
15018 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TSA_SUPPORT_OFST 20
15021 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TSA_BOUND_OFST 20
15024 #define MC_CMD_GET_CAPABILITIES_V4_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
15027 #define MC_CMD_GET_CAPABILITIES_V4_OUT_FILTER_ACTION_FLAG_OFST 20
15030 #define MC_CMD_GET_CAPABILITIES_V4_OUT_FILTER_ACTION_MARK_OFST 20
15031 #define MC_CMD_GET_CAPABILITIES_V4_OUT_FILTER_ACTION_MARK_LBN 20
15033 #define MC_CMD_GET_CAPABILITIES_V4_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
15036 #define MC_CMD_GET_CAPABILITIES_V4_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
15039 #define MC_CMD_GET_CAPABILITIES_V4_OUT_L3XUDP_SUPPORT_OFST 20
15042 #define MC_CMD_GET_CAPABILITIES_V4_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
15045 #define MC_CMD_GET_CAPABILITIES_V4_OUT_VI_SPREADING_OFST 20
15048 #define MC_CMD_GET_CAPABILITIES_V4_OUT_RXDP_HLB_IDLE_OFST 20
15051 #define MC_CMD_GET_CAPABILITIES_V4_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
15054 #define MC_CMD_GET_CAPABILITIES_V4_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
15057 #define MC_CMD_GET_CAPABILITIES_V4_OUT_BUNDLE_UPDATE_OFST 20
15060 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_TSO_V3_OFST 20
15063 #define MC_CMD_GET_CAPABILITIES_V4_OUT_DYNAMIC_SENSORS_OFST 20
15066 #define MC_CMD_GET_CAPABILITIES_V4_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
15075 * PF, indexed by PF number. Special values indicate that a PF is either not
15088 * in this field. It is intended for a possible future situation where a more
15090 * should look for a new field supporting the new scheme. The current/old
15094 /* One byte per PF containing the number of its VFs, indexed by PF number. A
15095 * special value indicates that a PF is not present.
15124 /* Size of a single PIO buffer */
15128 * is configurable. This is a global setting that the driver must query to
15153 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
15218 #define MC_CMD_GET_CAPABILITIES_V5_OUT_RX_VLAN_STRIPPING_LBN 20
15411 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FLAGS2_OFST 20
15413 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_TSO_V2_OFST 20
15416 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_TSO_V2_ENCAP_OFST 20
15419 #define MC_CMD_GET_CAPABILITIES_V5_OUT_EVQ_TIMER_CTRL_OFST 20
15422 #define MC_CMD_GET_CAPABILITIES_V5_OUT_EVENT_CUT_THROUGH_OFST 20
15425 #define MC_CMD_GET_CAPABILITIES_V5_OUT_RX_CUT_THROUGH_OFST 20
15428 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_VFIFO_ULL_MODE_OFST 20
15431 #define MC_CMD_GET_CAPABILITIES_V5_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
15434 #define MC_CMD_GET_CAPABILITIES_V5_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
15437 #define MC_CMD_GET_CAPABILITIES_V5_OUT_INIT_EVQ_V2_OFST 20
15440 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_MAC_TIMESTAMPING_OFST 20
15443 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_TIMESTAMP_OFST 20
15446 #define MC_CMD_GET_CAPABILITIES_V5_OUT_RX_SNIFF_OFST 20
15449 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_SNIFF_OFST 20
15452 #define MC_CMD_GET_CAPABILITIES_V5_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
15455 #define MC_CMD_GET_CAPABILITIES_V5_OUT_MCDI_BACKGROUND_OFST 20
15458 #define MC_CMD_GET_CAPABILITIES_V5_OUT_MCDI_DB_RETURN_OFST 20
15461 #define MC_CMD_GET_CAPABILITIES_V5_OUT_CTPIO_OFST 20
15464 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TSA_SUPPORT_OFST 20
15467 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TSA_BOUND_OFST 20
15470 #define MC_CMD_GET_CAPABILITIES_V5_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
15473 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FILTER_ACTION_FLAG_OFST 20
15476 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FILTER_ACTION_MARK_OFST 20
15477 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FILTER_ACTION_MARK_LBN 20
15479 #define MC_CMD_GET_CAPABILITIES_V5_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
15482 #define MC_CMD_GET_CAPABILITIES_V5_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
15485 #define MC_CMD_GET_CAPABILITIES_V5_OUT_L3XUDP_SUPPORT_OFST 20
15488 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
15491 #define MC_CMD_GET_CAPABILITIES_V5_OUT_VI_SPREADING_OFST 20
15494 #define MC_CMD_GET_CAPABILITIES_V5_OUT_RXDP_HLB_IDLE_OFST 20
15497 #define MC_CMD_GET_CAPABILITIES_V5_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
15500 #define MC_CMD_GET_CAPABILITIES_V5_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
15503 #define MC_CMD_GET_CAPABILITIES_V5_OUT_BUNDLE_UPDATE_OFST 20
15506 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_TSO_V3_OFST 20
15509 #define MC_CMD_GET_CAPABILITIES_V5_OUT_DYNAMIC_SENSORS_OFST 20
15512 #define MC_CMD_GET_CAPABILITIES_V5_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
15521 * PF, indexed by PF number. Special values indicate that a PF is either not
15534 * in this field. It is intended for a possible future situation where a more
15536 * should look for a new field supporting the new scheme. The current/old
15540 /* One byte per PF containing the number of its VFs, indexed by PF number. A
15541 * special value indicates that a PF is not present.
15570 /* Size of a single PIO buffer */
15574 * is configurable. This is a global setting that the driver must query to
15599 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
15669 #define MC_CMD_GET_CAPABILITIES_V6_OUT_RX_VLAN_STRIPPING_LBN 20
15862 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FLAGS2_OFST 20
15864 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_TSO_V2_OFST 20
15867 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_TSO_V2_ENCAP_OFST 20
15870 #define MC_CMD_GET_CAPABILITIES_V6_OUT_EVQ_TIMER_CTRL_OFST 20
15873 #define MC_CMD_GET_CAPABILITIES_V6_OUT_EVENT_CUT_THROUGH_OFST 20
15876 #define MC_CMD_GET_CAPABILITIES_V6_OUT_RX_CUT_THROUGH_OFST 20
15879 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_VFIFO_ULL_MODE_OFST 20
15882 #define MC_CMD_GET_CAPABILITIES_V6_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
15885 #define MC_CMD_GET_CAPABILITIES_V6_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
15888 #define MC_CMD_GET_CAPABILITIES_V6_OUT_INIT_EVQ_V2_OFST 20
15891 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_MAC_TIMESTAMPING_OFST 20
15894 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_TIMESTAMP_OFST 20
15897 #define MC_CMD_GET_CAPABILITIES_V6_OUT_RX_SNIFF_OFST 20
15900 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_SNIFF_OFST 20
15903 #define MC_CMD_GET_CAPABILITIES_V6_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
15906 #define MC_CMD_GET_CAPABILITIES_V6_OUT_MCDI_BACKGROUND_OFST 20
15909 #define MC_CMD_GET_CAPABILITIES_V6_OUT_MCDI_DB_RETURN_OFST 20
15912 #define MC_CMD_GET_CAPABILITIES_V6_OUT_CTPIO_OFST 20
15915 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TSA_SUPPORT_OFST 20
15918 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TSA_BOUND_OFST 20
15921 #define MC_CMD_GET_CAPABILITIES_V6_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
15924 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FILTER_ACTION_FLAG_OFST 20
15927 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FILTER_ACTION_MARK_OFST 20
15928 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FILTER_ACTION_MARK_LBN 20
15930 #define MC_CMD_GET_CAPABILITIES_V6_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
15933 #define MC_CMD_GET_CAPABILITIES_V6_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
15936 #define MC_CMD_GET_CAPABILITIES_V6_OUT_L3XUDP_SUPPORT_OFST 20
15939 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
15942 #define MC_CMD_GET_CAPABILITIES_V6_OUT_VI_SPREADING_OFST 20
15945 #define MC_CMD_GET_CAPABILITIES_V6_OUT_RXDP_HLB_IDLE_OFST 20
15948 #define MC_CMD_GET_CAPABILITIES_V6_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
15951 #define MC_CMD_GET_CAPABILITIES_V6_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
15954 #define MC_CMD_GET_CAPABILITIES_V6_OUT_BUNDLE_UPDATE_OFST 20
15957 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_TSO_V3_OFST 20
15960 #define MC_CMD_GET_CAPABILITIES_V6_OUT_DYNAMIC_SENSORS_OFST 20
15963 #define MC_CMD_GET_CAPABILITIES_V6_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
15972 * PF, indexed by PF number. Special values indicate that a PF is either not
15985 * in this field. It is intended for a possible future situation where a more
15987 * should look for a new field supporting the new scheme. The current/old
15991 /* One byte per PF containing the number of its VFs, indexed by PF number. A
15992 * special value indicates that a PF is not present.
16021 /* Size of a single PIO buffer */
16025 * is configurable. This is a global setting that the driver must query to
16050 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
16063 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
16064 * they create an RX queue. Due to hardware limitations, only a small number of
16131 #define MC_CMD_GET_CAPABILITIES_V7_OUT_RX_VLAN_STRIPPING_LBN 20
16324 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FLAGS2_OFST 20
16326 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_TSO_V2_OFST 20
16329 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_TSO_V2_ENCAP_OFST 20
16332 #define MC_CMD_GET_CAPABILITIES_V7_OUT_EVQ_TIMER_CTRL_OFST 20
16335 #define MC_CMD_GET_CAPABILITIES_V7_OUT_EVENT_CUT_THROUGH_OFST 20
16338 #define MC_CMD_GET_CAPABILITIES_V7_OUT_RX_CUT_THROUGH_OFST 20
16341 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_VFIFO_ULL_MODE_OFST 20
16344 #define MC_CMD_GET_CAPABILITIES_V7_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
16347 #define MC_CMD_GET_CAPABILITIES_V7_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
16350 #define MC_CMD_GET_CAPABILITIES_V7_OUT_INIT_EVQ_V2_OFST 20
16353 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_MAC_TIMESTAMPING_OFST 20
16356 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_TIMESTAMP_OFST 20
16359 #define MC_CMD_GET_CAPABILITIES_V7_OUT_RX_SNIFF_OFST 20
16362 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_SNIFF_OFST 20
16365 #define MC_CMD_GET_CAPABILITIES_V7_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
16368 #define MC_CMD_GET_CAPABILITIES_V7_OUT_MCDI_BACKGROUND_OFST 20
16371 #define MC_CMD_GET_CAPABILITIES_V7_OUT_MCDI_DB_RETURN_OFST 20
16374 #define MC_CMD_GET_CAPABILITIES_V7_OUT_CTPIO_OFST 20
16377 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TSA_SUPPORT_OFST 20
16380 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TSA_BOUND_OFST 20
16383 #define MC_CMD_GET_CAPABILITIES_V7_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
16386 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FILTER_ACTION_FLAG_OFST 20
16389 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FILTER_ACTION_MARK_OFST 20
16390 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FILTER_ACTION_MARK_LBN 20
16392 #define MC_CMD_GET_CAPABILITIES_V7_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
16395 #define MC_CMD_GET_CAPABILITIES_V7_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
16398 #define MC_CMD_GET_CAPABILITIES_V7_OUT_L3XUDP_SUPPORT_OFST 20
16401 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
16404 #define MC_CMD_GET_CAPABILITIES_V7_OUT_VI_SPREADING_OFST 20
16407 #define MC_CMD_GET_CAPABILITIES_V7_OUT_RXDP_HLB_IDLE_OFST 20
16410 #define MC_CMD_GET_CAPABILITIES_V7_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
16413 #define MC_CMD_GET_CAPABILITIES_V7_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
16416 #define MC_CMD_GET_CAPABILITIES_V7_OUT_BUNDLE_UPDATE_OFST 20
16419 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_TSO_V3_OFST 20
16422 #define MC_CMD_GET_CAPABILITIES_V7_OUT_DYNAMIC_SENSORS_OFST 20
16425 #define MC_CMD_GET_CAPABILITIES_V7_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
16434 * PF, indexed by PF number. Special values indicate that a PF is either not
16447 * in this field. It is intended for a possible future situation where a more
16449 * should look for a new field supporting the new scheme. The current/old
16453 /* One byte per PF containing the number of its VFs, indexed by PF number. A
16454 * special value indicates that a PF is not present.
16483 /* Size of a single PIO buffer */
16487 * is configurable. This is a global setting that the driver must query to
16512 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
16525 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
16526 * they create an RX queue. Due to hardware limitations, only a small number of
16650 #define MC_CMD_GET_CAPABILITIES_V8_OUT_RX_VLAN_STRIPPING_LBN 20
16843 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FLAGS2_OFST 20
16845 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_TSO_V2_OFST 20
16848 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_TSO_V2_ENCAP_OFST 20
16851 #define MC_CMD_GET_CAPABILITIES_V8_OUT_EVQ_TIMER_CTRL_OFST 20
16854 #define MC_CMD_GET_CAPABILITIES_V8_OUT_EVENT_CUT_THROUGH_OFST 20
16857 #define MC_CMD_GET_CAPABILITIES_V8_OUT_RX_CUT_THROUGH_OFST 20
16860 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_VFIFO_ULL_MODE_OFST 20
16863 #define MC_CMD_GET_CAPABILITIES_V8_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
16866 #define MC_CMD_GET_CAPABILITIES_V8_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
16869 #define MC_CMD_GET_CAPABILITIES_V8_OUT_INIT_EVQ_V2_OFST 20
16872 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_MAC_TIMESTAMPING_OFST 20
16875 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_TIMESTAMP_OFST 20
16878 #define MC_CMD_GET_CAPABILITIES_V8_OUT_RX_SNIFF_OFST 20
16881 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_SNIFF_OFST 20
16884 #define MC_CMD_GET_CAPABILITIES_V8_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
16887 #define MC_CMD_GET_CAPABILITIES_V8_OUT_MCDI_BACKGROUND_OFST 20
16890 #define MC_CMD_GET_CAPABILITIES_V8_OUT_MCDI_DB_RETURN_OFST 20
16893 #define MC_CMD_GET_CAPABILITIES_V8_OUT_CTPIO_OFST 20
16896 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TSA_SUPPORT_OFST 20
16899 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TSA_BOUND_OFST 20
16902 #define MC_CMD_GET_CAPABILITIES_V8_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
16905 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FILTER_ACTION_FLAG_OFST 20
16908 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FILTER_ACTION_MARK_OFST 20
16909 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FILTER_ACTION_MARK_LBN 20
16911 #define MC_CMD_GET_CAPABILITIES_V8_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
16914 #define MC_CMD_GET_CAPABILITIES_V8_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
16917 #define MC_CMD_GET_CAPABILITIES_V8_OUT_L3XUDP_SUPPORT_OFST 20
16920 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
16923 #define MC_CMD_GET_CAPABILITIES_V8_OUT_VI_SPREADING_OFST 20
16926 #define MC_CMD_GET_CAPABILITIES_V8_OUT_RXDP_HLB_IDLE_OFST 20
16929 #define MC_CMD_GET_CAPABILITIES_V8_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
16932 #define MC_CMD_GET_CAPABILITIES_V8_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
16935 #define MC_CMD_GET_CAPABILITIES_V8_OUT_BUNDLE_UPDATE_OFST 20
16938 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_TSO_V3_OFST 20
16941 #define MC_CMD_GET_CAPABILITIES_V8_OUT_DYNAMIC_SENSORS_OFST 20
16944 #define MC_CMD_GET_CAPABILITIES_V8_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
16953 * PF, indexed by PF number. Special values indicate that a PF is either not
16966 * in this field. It is intended for a possible future situation where a more
16968 * should look for a new field supporting the new scheme. The current/old
16972 /* One byte per PF containing the number of its VFs, indexed by PF number. A
16973 * special value indicates that a PF is not present.
17002 /* Size of a single PIO buffer */
17006 * is configurable. This is a global setting that the driver must query to
17031 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
17044 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
17045 * they create an RX queue. Due to hardware limitations, only a small number of
17183 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RX_VLAN_STRIPPING_LBN 20
17376 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FLAGS2_OFST 20
17378 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_TSO_V2_OFST 20
17381 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_TSO_V2_ENCAP_OFST 20
17384 #define MC_CMD_GET_CAPABILITIES_V9_OUT_EVQ_TIMER_CTRL_OFST 20
17387 #define MC_CMD_GET_CAPABILITIES_V9_OUT_EVENT_CUT_THROUGH_OFST 20
17390 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RX_CUT_THROUGH_OFST 20
17393 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_VFIFO_ULL_MODE_OFST 20
17396 #define MC_CMD_GET_CAPABILITIES_V9_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
17399 #define MC_CMD_GET_CAPABILITIES_V9_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
17402 #define MC_CMD_GET_CAPABILITIES_V9_OUT_INIT_EVQ_V2_OFST 20
17405 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_MAC_TIMESTAMPING_OFST 20
17408 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_TIMESTAMP_OFST 20
17411 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RX_SNIFF_OFST 20
17414 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_SNIFF_OFST 20
17417 #define MC_CMD_GET_CAPABILITIES_V9_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
17420 #define MC_CMD_GET_CAPABILITIES_V9_OUT_MCDI_BACKGROUND_OFST 20
17423 #define MC_CMD_GET_CAPABILITIES_V9_OUT_MCDI_DB_RETURN_OFST 20
17426 #define MC_CMD_GET_CAPABILITIES_V9_OUT_CTPIO_OFST 20
17429 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TSA_SUPPORT_OFST 20
17432 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TSA_BOUND_OFST 20
17435 #define MC_CMD_GET_CAPABILITIES_V9_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
17438 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FILTER_ACTION_FLAG_OFST 20
17441 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FILTER_ACTION_MARK_OFST 20
17442 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FILTER_ACTION_MARK_LBN 20
17444 #define MC_CMD_GET_CAPABILITIES_V9_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
17447 #define MC_CMD_GET_CAPABILITIES_V9_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
17450 #define MC_CMD_GET_CAPABILITIES_V9_OUT_L3XUDP_SUPPORT_OFST 20
17453 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
17456 #define MC_CMD_GET_CAPABILITIES_V9_OUT_VI_SPREADING_OFST 20
17459 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RXDP_HLB_IDLE_OFST 20
17462 #define MC_CMD_GET_CAPABILITIES_V9_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
17465 #define MC_CMD_GET_CAPABILITIES_V9_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
17468 #define MC_CMD_GET_CAPABILITIES_V9_OUT_BUNDLE_UPDATE_OFST 20
17471 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_TSO_V3_OFST 20
17474 #define MC_CMD_GET_CAPABILITIES_V9_OUT_DYNAMIC_SENSORS_OFST 20
17477 #define MC_CMD_GET_CAPABILITIES_V9_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
17486 * PF, indexed by PF number. Special values indicate that a PF is either not
17499 * in this field. It is intended for a possible future situation where a more
17501 * should look for a new field supporting the new scheme. The current/old
17505 /* One byte per PF containing the number of its VFs, indexed by PF number. A
17506 * special value indicates that a PF is not present.
17535 /* Size of a single PIO buffer */
17539 * is configurable. This is a global setting that the driver must query to
17564 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
17577 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
17578 * they create an RX queue. Due to hardware limitations, only a small number of
17659 * from the pool for an RSS context. Note that the table size used must be a
17665 * from the pool for an RSS context. Note that the table size used must be a
17671 * mode. In exclusive mode the context has a configurable indirection table and
17672 * a configurable RSS key.
17678 * but it does have a configurable RSS key.
17684 * availability of indirection table space allocated from a common pool.
17751 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RX_VLAN_STRIPPING_LBN 20
17944 #define MC_CMD_GET_CAPABILITIES_V10_OUT_FLAGS2_OFST 20
17946 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TX_TSO_V2_OFST 20
17949 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TX_TSO_V2_ENCAP_OFST 20
17952 #define MC_CMD_GET_CAPABILITIES_V10_OUT_EVQ_TIMER_CTRL_OFST 20
17955 #define MC_CMD_GET_CAPABILITIES_V10_OUT_EVENT_CUT_THROUGH_OFST 20
17958 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RX_CUT_THROUGH_OFST 20
17961 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TX_VFIFO_ULL_MODE_OFST 20
17964 #define MC_CMD_GET_CAPABILITIES_V10_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
17967 #define MC_CMD_GET_CAPABILITIES_V10_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
17970 #define MC_CMD_GET_CAPABILITIES_V10_OUT_INIT_EVQ_V2_OFST 20
17973 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TX_MAC_TIMESTAMPING_OFST 20
17976 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TX_TIMESTAMP_OFST 20
17979 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RX_SNIFF_OFST 20
17982 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TX_SNIFF_OFST 20
17985 #define MC_CMD_GET_CAPABILITIES_V10_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
17988 #define MC_CMD_GET_CAPABILITIES_V10_OUT_MCDI_BACKGROUND_OFST 20
17991 #define MC_CMD_GET_CAPABILITIES_V10_OUT_MCDI_DB_RETURN_OFST 20
17994 #define MC_CMD_GET_CAPABILITIES_V10_OUT_CTPIO_OFST 20
17997 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TSA_SUPPORT_OFST 20
18000 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TSA_BOUND_OFST 20
18003 #define MC_CMD_GET_CAPABILITIES_V10_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
18006 #define MC_CMD_GET_CAPABILITIES_V10_OUT_FILTER_ACTION_FLAG_OFST 20
18009 #define MC_CMD_GET_CAPABILITIES_V10_OUT_FILTER_ACTION_MARK_OFST 20
18010 #define MC_CMD_GET_CAPABILITIES_V10_OUT_FILTER_ACTION_MARK_LBN 20
18012 #define MC_CMD_GET_CAPABILITIES_V10_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
18015 #define MC_CMD_GET_CAPABILITIES_V10_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
18018 #define MC_CMD_GET_CAPABILITIES_V10_OUT_L3XUDP_SUPPORT_OFST 20
18021 #define MC_CMD_GET_CAPABILITIES_V10_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
18024 #define MC_CMD_GET_CAPABILITIES_V10_OUT_VI_SPREADING_OFST 20
18027 #define MC_CMD_GET_CAPABILITIES_V10_OUT_RXDP_HLB_IDLE_OFST 20
18030 #define MC_CMD_GET_CAPABILITIES_V10_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
18033 #define MC_CMD_GET_CAPABILITIES_V10_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
18036 #define MC_CMD_GET_CAPABILITIES_V10_OUT_BUNDLE_UPDATE_OFST 20
18039 #define MC_CMD_GET_CAPABILITIES_V10_OUT_TX_TSO_V3_OFST 20
18042 #define MC_CMD_GET_CAPABILITIES_V10_OUT_DYNAMIC_SENSORS_OFST 20
18045 #define MC_CMD_GET_CAPABILITIES_V10_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
18054 * PF, indexed by PF number. Special values indicate that a PF is either not
18067 * in this field. It is intended for a possible future situation where a more
18069 * should look for a new field supporting the new scheme. The current/old
18073 /* One byte per PF containing the number of its VFs, indexed by PF number. A
18074 * special value indicates that a PF is not present.
18103 /* Size of a single PIO buffer */
18107 * is configurable. This is a global setting that the driver must query to
18132 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
18145 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
18146 * they create an RX queue. Due to hardware limitations, only a small number of
18227 * from the pool for an RSS context. Note that the table size used must be a
18233 * from the pool for an RSS context. Note that the table size used must be a
18239 * mode. In exclusive mode the context has a configurable indirection table and
18240 * a configurable RSS key.
18246 * but it does have a configurable RSS key.
18252 * availability of indirection table space allocated from a common pool.
18261 /* A bitmap of the queue sizes the device can provide, where bit N being set
18262 * indicates that 2**N is a valid size. The device may be limited in the number
18263 * of different queue sizes that can exist simultaneously, so a bit being set
18264 * here does not guarantee that an attempt to create a queue of that size will
18269 /* A bitmap of queue sizes that are always available, in the same format as
18270 * SUPPORTED_QUEUE_SIZES. Attempting to create a queue with one of these sizes
18333 #define MC_CMD_GET_CAPABILITIES_V11_OUT_RX_VLAN_STRIPPING_LBN 20
18526 #define MC_CMD_GET_CAPABILITIES_V11_OUT_FLAGS2_OFST 20
18528 #define MC_CMD_GET_CAPABILITIES_V11_OUT_TX_TSO_V2_OFST 20
18531 #define MC_CMD_GET_CAPABILITIES_V11_OUT_TX_TSO_V2_ENCAP_OFST 20
18534 #define MC_CMD_GET_CAPABILITIES_V11_OUT_EVQ_TIMER_CTRL_OFST 20
18537 #define MC_CMD_GET_CAPABILITIES_V11_OUT_EVENT_CUT_THROUGH_OFST 20
18540 #define MC_CMD_GET_CAPABILITIES_V11_OUT_RX_CUT_THROUGH_OFST 20
18543 #define MC_CMD_GET_CAPABILITIES_V11_OUT_TX_VFIFO_ULL_MODE_OFST 20
18546 #define MC_CMD_GET_CAPABILITIES_V11_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
18549 #define MC_CMD_GET_CAPABILITIES_V11_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
18552 #define MC_CMD_GET_CAPABILITIES_V11_OUT_INIT_EVQ_V2_OFST 20
18555 #define MC_CMD_GET_CAPABILITIES_V11_OUT_TX_MAC_TIMESTAMPING_OFST 20
18558 #define MC_CMD_GET_CAPABILITIES_V11_OUT_TX_TIMESTAMP_OFST 20
18561 #define MC_CMD_GET_CAPABILITIES_V11_OUT_RX_SNIFF_OFST 20
18564 #define MC_CMD_GET_CAPABILITIES_V11_OUT_TX_SNIFF_OFST 20
18567 #define MC_CMD_GET_CAPABILITIES_V11_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
18570 #define MC_CMD_GET_CAPABILITIES_V11_OUT_MCDI_BACKGROUND_OFST 20
18573 #define MC_CMD_GET_CAPABILITIES_V11_OUT_MCDI_DB_RETURN_OFST 20
18576 #define MC_CMD_GET_CAPABILITIES_V11_OUT_CTPIO_OFST 20
18579 #define MC_CMD_GET_CAPABILITIES_V11_OUT_TSA_SUPPORT_OFST 20
18582 #define MC_CMD_GET_CAPABILITIES_V11_OUT_TSA_BOUND_OFST 20
18585 #define MC_CMD_GET_CAPABILITIES_V11_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
18588 #define MC_CMD_GET_CAPABILITIES_V11_OUT_FILTER_ACTION_FLAG_OFST 20
18591 #define MC_CMD_GET_CAPABILITIES_V11_OUT_FILTER_ACTION_MARK_OFST 20
18592 #define MC_CMD_GET_CAPABILITIES_V11_OUT_FILTER_ACTION_MARK_LBN 20
18594 #define MC_CMD_GET_CAPABILITIES_V11_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
18597 #define MC_CMD_GET_CAPABILITIES_V11_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
18600 #define MC_CMD_GET_CAPABILITIES_V11_OUT_L3XUDP_SUPPORT_OFST 20
18603 #define MC_CMD_GET_CAPABILITIES_V11_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
18606 #define MC_CMD_GET_CAPABILITIES_V11_OUT_VI_SPREADING_OFST 20
18609 #define MC_CMD_GET_CAPABILITIES_V11_OUT_RXDP_HLB_IDLE_OFST 20
18612 #define MC_CMD_GET_CAPABILITIES_V11_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
18615 #define MC_CMD_GET_CAPABILITIES_V11_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
18618 #define MC_CMD_GET_CAPABILITIES_V11_OUT_BUNDLE_UPDATE_OFST 20
18621 #define MC_CMD_GET_CAPABILITIES_V11_OUT_TX_TSO_V3_OFST 20
18624 #define MC_CMD_GET_CAPABILITIES_V11_OUT_DYNAMIC_SENSORS_OFST 20
18627 #define MC_CMD_GET_CAPABILITIES_V11_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
18636 * PF, indexed by PF number. Special values indicate that a PF is either not
18649 * in this field. It is intended for a possible future situation where a more
18651 * should look for a new field supporting the new scheme. The current/old
18655 /* One byte per PF containing the number of its VFs, indexed by PF number. A
18656 * special value indicates that a PF is not present.
18685 /* Size of a single PIO buffer */
18689 * is configurable. This is a global setting that the driver must query to
18714 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
18727 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
18728 * they create an RX queue. Due to hardware limitations, only a small number of
18809 * from the pool for an RSS context. Note that the table size used must be a
18815 * from the pool for an RSS context. Note that the table size used must be a
18821 * mode. In exclusive mode the context has a configurable indirection table and
18822 * a configurable RSS key.
18828 * but it does have a configurable RSS key.
18834 * availability of indirection table space allocated from a common pool.
18843 /* A bitmap of the queue sizes the device can provide, where bit N being set
18844 * indicates that 2**N is a valid size. The device may be limited in the number
18845 * of different queue sizes that can exist simultaneously, so a bit being set
18846 * here does not guarantee that an attempt to create a queue of that size will
18851 /* A bitmap of queue sizes that are always available, in the same format as
18852 * SUPPORTED_QUEUE_SIZES. Attempting to create a queue with one of these sizes
18918 #define MC_CMD_GET_CAPABILITIES_V12_OUT_RX_VLAN_STRIPPING_LBN 20
19111 #define MC_CMD_GET_CAPABILITIES_V12_OUT_FLAGS2_OFST 20
19113 #define MC_CMD_GET_CAPABILITIES_V12_OUT_TX_TSO_V2_OFST 20
19116 #define MC_CMD_GET_CAPABILITIES_V12_OUT_TX_TSO_V2_ENCAP_OFST 20
19119 #define MC_CMD_GET_CAPABILITIES_V12_OUT_EVQ_TIMER_CTRL_OFST 20
19122 #define MC_CMD_GET_CAPABILITIES_V12_OUT_EVENT_CUT_THROUGH_OFST 20
19125 #define MC_CMD_GET_CAPABILITIES_V12_OUT_RX_CUT_THROUGH_OFST 20
19128 #define MC_CMD_GET_CAPABILITIES_V12_OUT_TX_VFIFO_ULL_MODE_OFST 20
19131 #define MC_CMD_GET_CAPABILITIES_V12_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
19134 #define MC_CMD_GET_CAPABILITIES_V12_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
19137 #define MC_CMD_GET_CAPABILITIES_V12_OUT_INIT_EVQ_V2_OFST 20
19140 #define MC_CMD_GET_CAPABILITIES_V12_OUT_TX_MAC_TIMESTAMPING_OFST 20
19143 #define MC_CMD_GET_CAPABILITIES_V12_OUT_TX_TIMESTAMP_OFST 20
19146 #define MC_CMD_GET_CAPABILITIES_V12_OUT_RX_SNIFF_OFST 20
19149 #define MC_CMD_GET_CAPABILITIES_V12_OUT_TX_SNIFF_OFST 20
19152 #define MC_CMD_GET_CAPABILITIES_V12_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
19155 #define MC_CMD_GET_CAPABILITIES_V12_OUT_MCDI_BACKGROUND_OFST 20
19158 #define MC_CMD_GET_CAPABILITIES_V12_OUT_MCDI_DB_RETURN_OFST 20
19161 #define MC_CMD_GET_CAPABILITIES_V12_OUT_CTPIO_OFST 20
19164 #define MC_CMD_GET_CAPABILITIES_V12_OUT_TSA_SUPPORT_OFST 20
19167 #define MC_CMD_GET_CAPABILITIES_V12_OUT_TSA_BOUND_OFST 20
19170 #define MC_CMD_GET_CAPABILITIES_V12_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
19173 #define MC_CMD_GET_CAPABILITIES_V12_OUT_FILTER_ACTION_FLAG_OFST 20
19176 #define MC_CMD_GET_CAPABILITIES_V12_OUT_FILTER_ACTION_MARK_OFST 20
19177 #define MC_CMD_GET_CAPABILITIES_V12_OUT_FILTER_ACTION_MARK_LBN 20
19179 #define MC_CMD_GET_CAPABILITIES_V12_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
19182 #define MC_CMD_GET_CAPABILITIES_V12_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
19185 #define MC_CMD_GET_CAPABILITIES_V12_OUT_L3XUDP_SUPPORT_OFST 20
19188 #define MC_CMD_GET_CAPABILITIES_V12_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
19191 #define MC_CMD_GET_CAPABILITIES_V12_OUT_VI_SPREADING_OFST 20
19194 #define MC_CMD_GET_CAPABILITIES_V12_OUT_RXDP_HLB_IDLE_OFST 20
19197 #define MC_CMD_GET_CAPABILITIES_V12_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
19200 #define MC_CMD_GET_CAPABILITIES_V12_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
19203 #define MC_CMD_GET_CAPABILITIES_V12_OUT_BUNDLE_UPDATE_OFST 20
19206 #define MC_CMD_GET_CAPABILITIES_V12_OUT_TX_TSO_V3_OFST 20
19209 #define MC_CMD_GET_CAPABILITIES_V12_OUT_DYNAMIC_SENSORS_OFST 20
19212 #define MC_CMD_GET_CAPABILITIES_V12_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
19221 * PF, indexed by PF number. Special values indicate that a PF is either not
19234 * in this field. It is intended for a possible future situation where a more
19236 * should look for a new field supporting the new scheme. The current/old
19240 /* One byte per PF containing the number of its VFs, indexed by PF number. A
19241 * special value indicates that a PF is not present.
19270 /* Size of a single PIO buffer */
19274 * is configurable. This is a global setting that the driver must query to
19299 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
19312 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
19313 * they create an RX queue. Due to hardware limitations, only a small number of
19394 * from the pool for an RSS context. Note that the table size used must be a
19400 * from the pool for an RSS context. Note that the table size used must be a
19406 * mode. In exclusive mode the context has a configurable indirection table and
19407 * a configurable RSS key.
19413 * but it does have a configurable RSS key.
19419 * availability of indirection table space allocated from a common pool.
19428 /* A bitmap of the queue sizes the device can provide, where bit N being set
19429 * indicates that 2**N is a valid size. The device may be limited in the number
19430 * of different queue sizes that can exist simultaneously, so a bit being set
19431 * here does not guarantee that an attempt to create a queue of that size will
19436 /* A bitmap of queue sizes that are always available, in the same format as
19437 * SUPPORTED_QUEUE_SIZES. Attempting to create a queue with one of these sizes
19455 * Encapsulation for a v2 extended command
19478 /* enum: MCDI command directed to a TSA controller. MCDI responses of this type
19483 * are used for low-level operations directed at the platform as a whole (e.g.
19484 * MMIO device enumeration) rather than individual functions and use a
19493 * Link a push I/O buffer to a TxQ
19505 /* Function Local Instance (VI) number which has a TxQ allocated to it. */
19515 * Unlink a push I/O buffer from a TxQ
19534 * allocate and initialise a v-switch.
19581 * de-allocate a v-switch.
19600 * allocate a v-port.
19608 #define MC_CMD_VPORT_ALLOC_IN_LEN 20
19621 /* enum: A normal v-port receives packets which match a specified MAC and/or
19667 * de-allocate a v-port.
19686 * allocate a v-adaptor.
19714 #define MC_CMD_VADAPTOR_ALLOC_IN_VLAN_TAGS_OFST 20
19716 #define MC_CMD_VADAPTOR_ALLOC_IN_VLAN_TAG_0_OFST 20
19719 #define MC_CMD_VADAPTOR_ALLOC_IN_VLAN_TAG_1_OFST 20
19734 * de-allocate a v-adaptor.
19753 * assign a new MAC address to a v-adaptor.
19803 * assign a port to a PCI function.
19846 /* enum: Allocate a context for exclusive use. The key and indirection table
19850 /* enum: Allocate a context for shared use; this will spread across a range of
19855 /* enum: Allocate a context to spread evenly across an arbitrary number of
19868 * be useful as a way of obtaining the Toeplitz hash.
19881 /* enum: Allocate a context for exclusive use. The key and indirection table
19885 /* enum: Allocate a context for shared use; this will spread across a range of
19890 /* enum: Allocate a context to spread evenly across an arbitrary number of
19903 * be useful as a way of obtaining the Toeplitz hash.
19908 * Must be a power of 2. The minimum and maximum table size can be queried
19920 * host, although a value of 0xFFFFFFFF is guaranteed never to be a valid
19996 * when the RSS context is allocated without specifying a table size.
20020 * when the RSS context is allocated without specifying a table size.
20060 * reject any attempt to set the FLAGS field to a value > 0xff with EINVAL. In
20093 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TCP_IPV6_RSS_MODE_LBN 20
20128 * guaranteed to be consistent with the _EN flags for a freshly-allocated RSS
20133 * mode by looking only at the _MODE bits; the value returned by a GET can
20134 * always be used for a SET regardless of old/new driver vs. old/new firmware.
20163 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TCP_IPV6_RSS_MODE_LBN 20
20175 * Add a MAC address to a v-port
20197 * Delete a MAC address from a v-port
20219 * Delete a MAC address from a v-port
20293 #define MC_CMD_VPORT_RECONFIGURE_IN_MACADDRS_OFST 20
20349 * Take a dump of the DUT state
20383 #define MC_CMD_DUMP_DO_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_DEPTH_OFST 20
20388 /* enum: The uart port this command was received over (if using a uart
20460 #define MC_CMD_DUMP_CONFIGURE_UNSOLICITED_IN_DUMPSPEC_SRC_CUSTOM_HOST_MEMORY_MLI_DEPTH_OFST 20
20519 /* Values from PCIE_INTERFACE enumeration. For NICs with a single interface, or
20520 * in the case of a V1 response, this should be HOST_PRIMARY.
20572 /* enum: Start KR Serdes Eye diagram plot on a given lane. Lane must have valid
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)) */
21060 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_IN_C0_OFST 20
21096 #define MC_CMD_KR_TUNE_LINK_TRAIN_CMD_OUT_CP1_VALUE_OFST 20
21115 /* enum: re-read and apply licenses after a license key partition update; note
21116 * that this operation returns a zero-length response
21145 #define MC_CMD_LICENSING_OUT_LICENSING_STATE_OFST 20
21171 /* enum: re-read and apply licenses after a license key partition update; note
21172 * that this operation returns a zero-length response
21202 #define MC_CMD_LICENSING_V3_OUT_LICENSING_SELF_TEST_OFST 20
21242 * or a reboot of the MC.) Not used for V3 licensing
21262 /* enum: a valid license is present for the application */
21285 * internal loopback. (ENTITY is a queue handle, VALUE is a single boolean.)
21289 * internal loopback path. (ENTITY is an EVB_PORT_ID, VALUE is a single
21323 /* Each workaround is represented by a single bit according to the enums below.
21393 /* enum: Privilege that allows a Function to change the MAC address configured
21397 /* enum: Privilege that allows a Function to install filters that specify VLANs
21400 * only a set of permitted VLANs. See the vPort flag FLAG_VLAN_RESTRICT.
21409 * an adapter has Bound to a remote ServerLock Controller (see doxbox
21419 /* enum: A dynamic client with this privilege may perform all the same DMA
21423 /* enum: A client with this privilege may perform DMA as any PCIe function on
21429 /* enum: Set this bit to indicate that a new privilege mask is to be set,
21443 * Read/set link state mode of a VF
21452 /* The target function to have its link state mode read or set, must be a VF
21506 * cause all functions to see a reset. (Available on Medford only.)
21528 /* Entries defining the UDP port to protocol mapping, each laid out as a
21549 * Update the timer load, timer reload and timer mode values for a given EVQ.
21609 * requested duration of a timer is this value multiplied by the timer
21619 /* For timers updated via writes to EVQ_TMR_REG, timer load/reload counts not a
21630 /* Timer durations requested via MCDI that are not a multiple of this step size
21633 #define MC_CMD_GET_EVQ_TMR_PROPERTIES_OUT_MCDI_TMR_STEP_NS_OFST 20
21637 * requested duration of a timer is this value multiplied by the timer
21650 * not a multiple of this step size will be rounded in an implementation
21657 /* CLIENT_HANDLE structuredef: A client is an abstract entity that can make
21659 * Examples of clients include PCIe functions and dynamic clients. A client
21660 * handle is a 32b opaque value used to refer to a client. Further details can
21666 /* enum: A client handle guaranteed never to refer to a real client. */
21741 …* Returns a description of the mapping from DESC_ADDR to TRGT_ADDR for the calling function's addr…
21768 …* Returns a list of the DESC_ADDR regions for the calling function's address space. Only valid if…
21796 …* Set the base TRGT_ADDR for a set of DESC_ADDR regions for the calling function's address space. …
21809 /* A bitmask indicating which regions should have their base TRGT_ADDR updated.
21810 * To update the base TRGR_ADDR for a DESC_ADDR region, the corresponding bit
21843 * Execute an arbitrary MCDI command on behalf of a different client. The
21847 * indicated client. The given client must be a descendant of the requestor.
21869 * Create a new client object. Clients are a system for delineating NIC
21870 * resource ownership, such that groups of resources may be torn down as a
21872 * and a glossary. Clients created by this command are known as "dynamic
21873 * clients". The newly-created client is a child of the client which sent this
21906 /* The ID of the client to be freed. This client must be a descendant of the
21907 * requestor. A client cannot free itself.
21919 * and a 'user'. The owner is the client which allocated the VI
21937 /* Client ID to become the new user. This must be a descendant of the owning
21950 * A device reports a set of MAC addresses for each client to use, known as the
21953 * a hint to that client which MAC address its administrator would like to use
21956 * with switching within the device. There is no guarantee that a client will
21957 * be able to send traffic with a source MAC address taken from the list of MAC
21958 * address reported, nor is there a guarantee that a client will be able to
21959 * resource traffic with a destination MAC taken from the list of MAC
21960 * addresses. Likewise, there is no guarantee that a client will not be able to
21961 * use a MAC address not present in the list. Restrictions on switching are
21964 * tenants to use this API whilst a provider is using the EVB API, the MAC
21967 * to allow tenants to use the EVB API whilst a provider is using this API, if
21968 * a client queries the MAC addresses for a vPort using the host_evb_port_id
21971 * (i.e. MC_CMD_VPORT_GET_MAC_ADDRESSES) or implicit (e.g. creation of a
21972 * vAdaptor with a NULL/automatic MAC address). Changing the MAC address on a
21975 * clients. On VirtIO device reset, a vAdaptor is created with an automatic MAC
21987 /* A handle for the client for whom MAC address should be obtained. Use
22010 * Set the permanent MAC addresses for a client. The caller must by an
22025 /* A handle for the client for whom MAC addresses should be set */
22061 * into pages. This field specifies which (0-indexed) page to request. A
22085 /* Result generation count. Incremented any time a request is made with PAGE=0.
22099 * Get a list of the virtio features supported by the device.
22122 /* Features supported by the device. The result is a bitfield in the format of
22141 * Query whether a given set of features is supported. Fails with ENOSUP if the
22142 * driver requests a feature the device doesn't support. Fails with EINVAL if
22143 * the driver fails to request a feature which the device requires.
22181 * Create a virtio virtqueue. Fails with EALREADY if the queue already exists.
22182 * Fails with ENOSUP if a feature is requested that isn't supported. Fails with
22183 * EINVAL if a required feature isn't requested, or any other parameter is
22193 /* Type of virtqueue to create. A network rxq and a txq can exist at the same
22194 * time on a single VI.
22198 /* enum: A network device receive queue */
22200 /* enum: A network device transmit queue */
22202 /* enum: A block device request queue */
22206 /* If the calling function is a PF and this field is not VF_NULL, create the
22218 /* Queue size, in entries. Must be a power of two. */
22234 #define MC_CMD_VIRTIO_INIT_QUEUE_REQ_DESC_TBL_ADDR_HI_OFST 20
22275 * spec and in the return from MC_CMD_VIRTIO_GET_FEATURES. Must be a subset of
22295 * equivalent if the original queue was on a thirdparty device). Otherwise, it
22306 * the original queue was on a thirdparty device). Otherwise, it should be
22314 /* A MAE_MPORT_SELECTOR defining which mport this queue should be associated
22327 * Destroy a virtio virtqueue
22343 /* If the calling function is a PF and this field is not VF_NULL, destroy the
22372 * Get the offset in the BAR of the doorbells for a VI. Doesn't require the
22391 /* If the calling function is a PF and this field is not VF_NULL, query the VI
22417 /* PCIE_FUNCTION structuredef: Structure representing a PCIe function ID
22439 /* enum: Function is a PF (when PF != PF_NULL) or invalid function (when PF ==
22464 * Obtain a handle for a client given a description of that client. N.B. this
22476 /* Type of client to get a client handle for */
22479 /* enum: Obtain a client handle for a PCIe function-type client. */
22483 * INTF=CALLER, PF=PF_NULL, VF=... to refer to a VF child of the calling PF or
22484 * a sibling VF of the calling VF. - INTF=CALLER, PF=..., VF=VF_NULL to refer
22485 * to a PF on the calling interface - INTF=CALLER, PF=..., VF=... to refer to a
22487 * the named interface itself - INTF=..., PF=..., VF=VF_NULL to refer to a PF
22488 * on a named interface - INTF=..., PF=..., VF=... to refer to a VF on a named
22489 * interface where ... refers to a small integer for the VF/PF fields, and to
22491 * meaningful to use INTF=CALLER within a structure that's an argument to
22538 * it makes sense to use to determine the encapsulation type of a packet. Its
22539 * intended use is to keep a common packing of fields across multiple MCDI
22541 * use in an MCDI command, the command should end with a variable length byte
22579 #define MAE_ENC_FIELD_PAIRS_ENC_VLAN1_TCI_BE_OFST 20
22758 #define MAE_FIELD_MASK_VALUE_PAIRS_VLAN0_TCI_BE_OFST 20
23085 #define MAE_FIELD_MASK_VALUE_PAIRS_V2_VLAN0_TCI_BE_OFST 20
23479 * (whichever is narrower). This selector structure provides a stable way to
23487 /* enum: An m-port selector value that is guaranteed never to represent a real
23496 /* enum: The MPORT connected to a given physical port */
23498 /* enum: The MPORT assigned to a given PCIe function. Deprecated in favour of
23504 /* enum: The MPORT assigned to a given PCIe function (see also FWRIVERHD-1108)
23507 /* enum: This is guaranteed never to be a valid selector type */
23516 #define MAE_MPORT_SELECTOR_FUNC_INTF_ID_LBN 20
23532 /* enum: Used for VF_ID to indicate a physical function. */
23535 * client. - When used by a PF with VF_ID == VF_ID_NULL, the mport selector
23537 * clients use ASSIGNED to achieve this behaviour). - When used by a PF with
23538 * VF_ID != VF_ID_NULL, the mport selector relates to a VF child of the calling
23539 * function. - When used by a VF with VF_ID == VF_ID_NULL, the mport selector
23540 * relates to the PF owning the calling function. - When used by a VF with
23541 * VF_ID != VF_ID_NULL, the mport selector relates to a sibling VF of the
23542 * calling function. - Not meaningful used by a client that is not a PCIe
23553 /* MAE_LINK_ENDPOINT_SELECTOR structuredef: Structure that identifies a real or
23558 * will work in all circumstances. 1. Some will always work (e.g. a VF can
23561 * to address the VNIC end of a link to a physical port), 3. Some are
23563 * fail with EPERM otherwise (e.g. trying to set the MAC on a VF the caller
23581 /* A field for accessing the endpoint selector as a collection of bits */
23593 * commands that have been extended to take a MAE_LINK_ENDPOINT_SELECTOR
23616 /* The number of field IDs that the NIC supports. Any field with a ID greater
23618 * a support level of MAE_FIELD_UNSUPPORTED in all requests.
23642 /* The total number of counters lists available to allocate. A value of zero
23652 #define MC_CMD_MAE_GET_CAPS_OUT_RSVD_OFST 20
23667 * install a MATCH_ACTION filter with a priority number >= ACTION_PRIOS.
23672 * install an OUTER_RULE filter with a priority number >= OUTER_PRIOS.
23679 * a fatal error.
23686 /* The number of field IDs that the NIC supports. Any field with a ID greater
23688 * a support level of MAE_FIELD_UNSUPPORTED in all requests.
23712 /* The total number of counters lists available to allocate. A value of zero
23722 #define MC_CMD_MAE_GET_CAPS_V2_OUT_RSVD_OFST 20
23737 * install a MATCH_ACTION filter with a priority number >= ACTION_PRIOS.
23742 * install an OUTER_RULE filter with a priority number >= OUTER_PRIOS.
23749 * a fatal error.
23753 /* Mask of supported counter types. Each bit position corresponds to a value of
23767 /* The number of field IDs that the NIC supports. Any field with a ID greater
23769 * a support level of MAE_FIELD_UNSUPPORTED in all requests.
23793 /* The total number of counters lists available to allocate. A value of zero
23803 #define MC_CMD_MAE_GET_CAPS_V3_OUT_RSVD_OFST 20
23818 * install a MATCH_ACTION filter with a priority number >= ACTION_PRIOS.
23823 * install an OUTER_RULE filter with a priority number >= OUTER_PRIOS.
23830 * a fatal error.
23834 /* Mask of supported counter types. Each bit position corresponds to a value of
23852 * Get a level of support for match fields when used in match-action rules
23871 /* Array of values indicating the NIC's support for a given field, indexed by
23884 * Get a level of support for fields used in outer rule keys.
23957 * failure to allocate a single counter will cause an error to be returned. It
23968 /* enum: A counter ID that is guaranteed never to represent a real counter */
24024 /* Generation count. A packet with generation count == GENERATION_COUNT will
24028 * a packet with generation count > GENERATION_COUNT guarantees that no more
24030 * are present, the counter ID has been reallocated. A counter ID will not be
24031 * reallocated within a single read cycle as this would merge increments from
24038 * to free a single counter will cause an error to be returned. It is never
24045 * failure to free a counter can only occur on incorrect driver behaviour, so
24047 * debugging, attempting to free a single counter at a time will provide a
24060 * Counters allocated to the calling function will be written in a round robin
24061 * at a fixed cycle rate, assuming sufficient credits are available. The driver
24062 * may cause the counter values to be written at a slower rate by constraining
24064 * packets to a different queue, it must call MAE_COUNTERS_STREAM_STOP to stop
24110 * corresponds to a value of the MAE_COUNTER_TYPE enum. For example a value of
24111 * 0x3 requests both AR and CT counters. A value of zero is invalid. Counter
24112 * types not selected by the mask value won't be included in the stream. If a
24115 * Requesting a counter type which isn't supported by firmware (reported in
24178 * Give a number of credits to the packetiser. Each credit received allows the
24180 * have written sufficient descriptors for a packet of length
24201 * header must be constructed as a valid packet with 0-length payload.
24324 /* enum: An MAC address ID that is guaranteed never to represent a real MAC
24425 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_LACP_INC_L4_LBN 20
24449 #define MC_CMD_MAE_ACTION_SET_ALLOC_IN_DELIVER_OFST 20
24458 /* If a driver only wished to update one counter within this action set, then
24459 * it can supply a COUNTER_ID instead of allocating a single-element counter
24462 * is not valid to supply a non-NULL value for both COUNTER_LIST_ID and
24528 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_LACP_INC_L4_LBN 20
24552 #define MC_CMD_MAE_ACTION_SET_ALLOC_V2_IN_DELIVER_OFST 20
24561 /* If a driver only wished to update one counter within this action set, then
24562 * it can supply a COUNTER_ID instead of allocating a single-element counter
24565 * is not valid to supply a non-NULL value for both COUNTER_LIST_ID and
24674 #define MC_CMD_MAE_ACTION_SET_ALLOC_V3_IN_LACP_INC_L4_LBN 20
24698 #define MC_CMD_MAE_ACTION_SET_ALLOC_V3_IN_DELIVER_OFST 20
24707 /* If a driver only wished to update one counter within this action set, then
24708 * it can supply a COUNTER_ID instead of allocating a single-element counter
24711 * is not valid to supply a non-NULL value for both COUNTER_LIST_ID and
24864 * where one ASL is a sublist of another ASL. The sublist should be allocated
24947 * MC_CMD_MAE_GET_CAPS_OUT.ENCAP_PRIOS If a packet matches two filters with
24975 /* This field controls the actions that are performed when a rule is hit. */
25039 /* Only one of ASL_ID or AS_ID may have a non-NULL value. */
25081 * Insert a rule specify that packets matching a filter be processed according
25082 * to a previous allocated action. Masks can be set as indicated by
25102 #define MC_CMD_MAE_ACTION_RULE_INSERT_IN_RESPONSE_LEN 20
25139 #define MC_CMD_MAE_ACTION_RULE_UPDATE_IN_RESPONSE_LEN 20
25182 * Return the m-port corresponding to a selector.
25202 * Allocates a m-port, which can subsequently be used in action rules as a
25211 #define MC_CMD_MAE_MPORT_ALLOC_IN_LEN 20
25218 * descriptor. Traffic received on this type of m-port will go to the VNIC on a
25223 /* enum: This type of m-port has a VNIC attached. Queues can be created on this
25240 * descriptor. Traffic received on this type of m-port will go to the VNIC on a
25245 /* enum: This type of m-port has a VNIC attached. Queues can be created on this
25257 #define MC_CMD_MAE_MPORT_ALLOC_ALIAS_IN_DELIVER_MPORT_OFST 20
25261 #define MC_CMD_MAE_MPORT_ALLOC_VNIC_IN_LEN 20
25268 * descriptor. Traffic received on this type of m-port will go to the VNIC on a
25273 /* enum: This type of m-port has a VNIC attached. Queues can be created on this
25293 /* A value that will appear in the packet metadata for any packets delivered
25298 #define MC_CMD_MAE_MPORT_ALLOC_ALIAS_OUT_LABEL_OFST 20
25310 * Free a m-port which was previously allocated by the driver.
25356 /* enum: Connected to a MAC... */
25360 /* enum: Connected to a VNIC. */
25413 /* enum: Indicates that the function is a PF */
25426 * Firmware maintains a per-client journal of mport creations and deletions.
25429 * MC_CMD_ENTITY_RESET, the journal is regenerated from a blank start.
25460 * grow in future version of this command. Drivers should use a stride of
25470 * describes the location and properties of one N-bit field within a wider
25508 /* A version code that allows field semantics to be extended. All fields
25544 /* A sequence of table identifiers. If all N_TABLES items do not fit, further
25545 * items can be obtained by repeating the call with a non-zero
25559 * Request the table descriptor for a particular table. This describes
25586 #define MC_CMD_TABLE_DESCRIPTOR_OUT_LEN(num) (20+8*(num))
25587 #define MC_CMD_TABLE_DESCRIPTOR_OUT_FIELDS_NUM(len) (((len)-20)/8)
25592 * properties of a table that affect programming can be deduced from other
25597 /* enum: Direct table (essentially just an array). Behaves like a BCAM for
25604 /* enum: TCAM (ternary CAM) table: matches fields with a mask. Each entry may
25608 /* enum: STCAM (semi-TCAM) table: like a TCAM but entries shared a limited
25624 /* Number of priorities for STCAM or TCAM; otherwise 0. The priority of a table
25640 * to change semantics in future. A client which does not understand the value
25647 /* A sequence of TABLE_FIELD_DESCR structures: N_KEY_FIELDS items describing
25650 * by repeating the call with a non-zero FIRST_FIELDS_INDEX.
25652 #define MC_CMD_TABLE_DESCRIPTOR_OUT_FIELDS_OFST 20
25654 #define MC_CMD_TABLE_DESCRIPTOR_OUT_FIELDS_LO_OFST 20
25669 * Insert a new entry into a table. The entry must not currently exist. May
25717 * data values. Each of these items is logically treated as a single wide N-bit
25720 * N-bit value is padded with 0 bits at the MSB end if necessary to make a
25721 * multiple of 32 bits. The value is then packed into this command as a
25736 * Delete an existing entry in a table. May return EINVAL for unknown table ID
25784 * data values. Each of these items is logically treated as a single wide N-bit
25787 * N-bit value is padded with 0 bits at the MSB end if necessary to make a
25788 * multiple of 32 bits. The value is then packed into this command as a
25803 * refer to VIs/queues. These bits should be masked off when indexing into a
25818 /* enum: Indicates that the queue instance is a full-featured VI */
25820 /* enum: Indicates that the queue instance is a LL TXQ */
25822 /* enum: Indicates that the queue instance is a LL RXQ */
25824 /* enum: Indicates that the queue instance is a LL EVQ */
25858 #define MC_CMD_ALLOC_LL_QUEUES_IN_MAX_EVQ_COUNT_OFST 20
25876 /* A list of allocated queues, returned as MC_CMD_QUEUE_HANDLEs, not
25906 /* A list of queues to free, as a list of MC_CMD_QUEUE_HANDLEs. They must have