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
239 /* The requesting client is not a function */
252 * wait for a PROXY_RESPONSE event and then resend its request.
253 * This error code is followed by a 32-bit handle that
262 * that has enabled proxying or BLOCK_INDEX points to a function that
270 * to a designated admin function for authorization. */
284 * resources to do so. Send it again after a command has completed. */
356 /* This may be ORed with an EVB_PORT_ID_xxx constant to pass a non-default
419 #define MCDI_EVENT_LINKCHANGE_FCNTL_LBN 20
458 /* enum: Option descriptor part way through a packet */
707 * a different format)
710 /* enum: the MC has detected a parity error */
712 /* enum: the MC has detected a correctable error */
722 /* enum: notify the designated PF of a new authorization request */
724 /* enum: notify a function that awaits an authorization that its request has
732 /* enum: The MC has detected a fault on the SUC */
740 * a module change.
749 /* enum: Notification that a sensor has changed state as a result of a reading
750 * crossing a threshold. This is sent as two events, the first event contains
755 /* enum: Notification that a descriptor proxy function configuration has been
762 /* enum: Notification that a descriptor proxy function has been reset. SRC
767 /* enum: Notification that a driver attached to a descriptor proxy function.
859 * PTP clock. This is a more generic equivalent of PTP_TIME_MINOR_26_19.
879 * PTP clock. This is a more generic equivalent of PTP_TIME_MINOR_26_21.
892 * should resend it. A non-zero value means that the authorization has been
909 /* The new generation count after a sensor has been added or deleted. */
914 /* The handle of a dynamic sensor. */
919 /* The current values of a sensor. */
924 /* The current state of a sensor. */
981 /* enum: A timed read is ready to be serviced. */
1044 * to the MC. Note that this structure | is overlayed over a normal FCDI event
1059 /* Seconds field of a timestamp record */
1064 /* Nanoseconds field of a timestamp record */
1253 * The main image should be entered via a copy of a single word from and to a
1255 * is a bitfield, with each bit as documented below.
1378 /* enum: A system-level assertion has failed. */
1380 /* enum: A thread-level assertion has failed. */
1393 /* enum: A magic value hinting that the value in this register at the time of
1412 /* enum: A system-level assertion has failed. */
1414 /* enum: A thread-level assertion has failed. */
1427 /* enum: A magic value hinting that the value in this register at the time of
1450 /* enum: A system-level assertion has failed. */
1452 /* enum: A thread-level assertion has failed. */
1465 /* enum: A magic value hinting that the value in this register at the time of
1480 #define MC_CMD_GET_ASSERTS_OUT_V3_MC_FW_BUILD_ID_LEN 20
1599 * (depending on which components exist on a particular adapter)
1638 #define MC_CMD_GET_VERSION_V2_OUT_MCFW_BUILD_ID_LEN 20
1645 /* The SUC firmware version as four numbers - a.b.c.d */
1659 /* The CMC firmware version as four numbers - a.b.c.d */
1670 * FPGA_VERSION[0]: x => Image H{x} FPGA_VERSION[1]: Revision letter (0 => A, 1
1708 /* enum: Send a PTP packet. This operation is used on Siena and Huntington.
1884 #define MC_CMD_PTP_IN_ADJUST_NANOSECONDS_OFST 20
1887 #define MC_CMD_PTP_IN_ADJUST_MINOR_OFST 20
1915 #define MC_CMD_PTP_IN_ADJUST_V2_NANOSECONDS_OFST 20
1918 #define MC_CMD_PTP_IN_ADJUST_V2_MINOR_OFST 20
1925 #define MC_CMD_PTP_IN_SYNCHRONIZE_LEN 20
2024 #define MC_CMD_PTP_IN_CLOCK_OFFSET_ADJUST_V2_LEN 20
2074 #define MC_CMD_PTP_IN_RX_SET_UUID_FILTER_LEN 20
2183 /* enum: Unsubscribe a single queue */
2221 #define MC_CMD_PTP_IN_SET_SYNC_STATUS_RESERVED1_OFST 20
2299 #define MC_CMD_PTP_OUT_STATUS_STATS_NFM_OFST 20
2333 #define MC_CMD_PTP_OUT_SYNCHRONIZE_LENMIN 20
2336 #define MC_CMD_PTP_OUT_SYNCHRONIZE_LEN(num) (0+20*(num))
2337 #define MC_CMD_PTP_OUT_SYNCHRONIZE_TIMESET_NUM(len) (((len)-0)/20)
2338 /* A set of host and NIC times */
2340 #define MC_CMD_PTP_OUT_SYNCHRONIZE_TIMESET_LEN 20
2433 * is not supported (older firmware) a format of seconds and nanoseconds should
2450 * is not supported (older firmware) a format of seconds and nanoseconds should
2464 /* Minimum acceptable value for a corrected synchronization timeset. When
2465 * comparing host and NIC clock times, the MC returns a set of samples that
2492 #define MC_CMD_PTP_OUT_GET_ATTRIBUTES_RESERVED2_OFST 20
2528 #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_GENERAL_RX_OFST 20
2568 /* The last dword is the status, not a value read */
2622 * INTERVAL is interpreted as a command: 0: stop OCSD / 1: Report OCSD current
2632 /* The address to the array of sensor fields. (Or NULL to use a sub-command.)
2721 /* Status the MDIO commands return the raw status bits from the MDIO block. A
2740 #define MC_CMD_MDIO_WRITE_IN_LEN 20
2769 /* Status; the MDIO commands return the raw status bits from the MDIO block. A
2832 * Read a 32-bit register from the indirect port register map. The port to
2855 * Write a 32-bit register to the indirect port register map. The port to
2878 * Read a 128-bit register from the indirect port register map. The port to
2890 #define MC_CMD_PORT_READ128_OUT_LEN 20
2901 * Write a 128-bit register to the indirect port register map. The port to
2907 #define MC_CMD_PORT_WRITE128_IN_LEN 20
3010 /* Siena only. This field contains a 16-bit value for each of the types of
3011 * NVRAM area. The values are defined in the firmware/mc/platform/.c file for a
3128 * issue a subsequent MC_CMD_GET_CAPABILITIES command to determine which
3277 * handled by the NIC. This is a zero-terminated ASCII string.
3280 #define MC_CMD_DRV_ATTACH_IN_V2_DRIVER_VERSION_LEN 20
3367 /* Optional flags field. Omitting this will perform a "legacy" reset action
3442 #define MC_CMD_RXD_MONITOR_OUT_RING_LT_4_OFST 20
3511 * Report PHY configuration. This guarantees to succeed even if the PHY is in a
3612 #define MC_CMD_PHY_CAP_25G_BASER_FEC_LBN 20
3624 #define MC_CMD_GET_PHY_CFG_OUT_STATS_MASK_OFST 20
3628 #define MC_CMD_GET_PHY_CFG_OUT_NAME_LEN 20
3662 #define MC_CMD_GET_PHY_CFG_OUT_REVISION_LEN 20
3667 * Start a BIST test on the PHY. Locks required: PHY_LOCK if doing a PHY BIST
3703 * Poll for BIST completion. Returns a single status code, and optionally some
3705 * after validating OUTLEN and MC_CMD_GET_PHY_CFG.TYPE. If a driver can't
3707 * OUT.RESULT. Locks required: PHY_LOCK if doing a PHY BIST. Return code: 0,
3749 /* Status of each channel A */
3750 #define MC_CMD_POLL_BIST_OUT_SFT9001_CABLE_STATUS_A_OFST 20
3857 #define MC_CMD_POLL_BIST_OUT_MEM_ACTUAL_OFST 20
3899 * Returns a bitmask of loopback modes available at each speed.
4005 #define MC_CMD_GET_LOOPBACK_MODES_OUT_10G_HI_OFST 20
4121 #define MC_CMD_GET_LOOPBACK_MODES_OUT_V2_10G_HI_OFST 20
4184 /* enum: Clause 74 BASE-R FEC (a.k.a Firecode) */
4254 #define MC_CMD_GET_LINK_OUT_FCNTL_OFST 20
4322 #define MC_CMD_GET_LINK_OUT_V2_FCNTL_OFST 20
4430 /* A loopback speed of "0" is supported, and means (choose any available
4466 /* A loopback speed of "0" is supported, and means (choose any available
4536 #define MC_CMD_SET_MAC_IN_FCNTL_OFST 20
4577 #define MC_CMD_SET_MAC_EXT_IN_FCNTL_OFST 20
4596 /* Select which parameters to configure. A parameter will only be modified if
4634 * Get generic PHY statistics. This call returns the statistics for a generic
4635 * PHY in a sparse array (indexed by the enumerate). Each value is represented
4636 * by a 32bit number. If the DMA_ADDR is 0, then no DMA is performed, and the
4672 /* enum: PMA-PMD SNR A. */
4729 #define MC_CMD_MAC_STATS_IN_LEN 20
4952 * GENERATION_END in a MAC_STATS_V2 response and otherwise unused.
4970 /* enum: Number of CTPIO fallbacks because a DMA packet was in progress on the
4974 /* enum: Number of times a CTPIO send wrote beyond frame end (informational
4996 /* enum: Number of CTPIO failures because the host started a new frame before
5000 /* enum: Number of CTPIO failures because a write was not a multiple of 32 bits
5005 * sending a CTPIO frame
5026 * GENERATION_END in a MAC_STATS_V3 response and otherwise unused.
5057 * GENERATION_END in a MAC_STATS_V4 response and otherwise unused.
5108 #define MC_CMD_MEMCPY_RECORD_TYPEDEF_FROM_ADDR_OFST 20
5110 #define MC_CMD_MEMCPY_RECORD_TYPEDEF_FROM_ADDR_LO_OFST 20
5125 * A common pattern is for a client to use generation counts to signal a dma
5126 * update of a datastructure. To facilitate this, this MCDI operation can
5131 * The source data can either come from a DMA from the host, or it can be
5132 * embedded within the request directly, thereby eliminating a DMA read. To
5161 * Set a WoL filter.
5174 /* A type value of 1 is unused. */
5207 #define MC_CMD_WOL_FILTER_SET_IN_IPV4_SYN_LEN 20
5276 * Remove a WoL filter. Locks required: None. Returns: 0, EINVAL, ENOSYS
5394 * Read info about a virtual NVRAM partition. Locks required: none. Returns: 0,
5444 #define MC_CMD_NVRAM_INFO_OUT_PHYSADDR_OFST 20
5476 #define MC_CMD_NVRAM_INFO_V2_OUT_PHYSADDR_OFST 20
5486 * Start a group of update operations on a virtual NVRAM partition. Locks
5488 * PHY_LOCK required and not held). In an adapter bound to a TSA controller,
5489 * MC_CMD_NVRAM_UPDATE_START can only be used on a subset of partition types
5491 * perform this operation on a restricted partition will return the error
5530 * Read data from a virtual NVRAM partition. Locks required: PHY_LOCK if
5562 /* Optional control info. If a partition is stored with an A/B versioning
5565 * from. This allows it to perform a read-modify-write-verify with the write
5577 /* enum: Read from the current partition of an A/B pair, even if holding the
5581 /* enum: Read from the non-current (i.e. to be updated) partition of an A/B
5601 * Write data to a virtual NVRAM partition. Locks required: PHY_LOCK if
5636 * Erase sector(s) from a virtual NVRAM partition. Locks required: PHY_LOCK if
5662 * Finish a group of update operations on a virtual NVRAM partition. Locks
5665 * a TSA controller, MC_CMD_NVRAM_UPDATE_FINISH can only be used on a subset of
5667 * Attempting to perform this operation on a restricted partition will return
5722 * This process takes a few seconds to complete. So is likely to take more than
5725 * MCDI command is run in a background MCDI processing thread. This response
5733 * the field are marked with a prefix 'Internal-error'.
5767 /* enum: The image contains a test-signed certificate, but the adapter accepts
5771 /* enum: The image has a lower security level than the current firmware. */
5779 /* enum: Internal-error. The bundle does not have a valid reflash image layout.
5790 /* enum: Internal-error. The number of components in a bundle do not match the
5802 /* enum: Internal-error. The hash of a component does not match the hash stored
5808 /* enum: Internal-error. The component does not have a valid reflash image
5812 /* enum: The bundle processing code failed to copy a component to its target
5825 * assertion failure (at which point it is expected to perform a complete tear
5835 * Locks required: NONE Returns: Nothing. You get back a response with ERR=1,
5916 * Each sensor has a single (16bit) value, and a corresponding state. The
5920 * This call returns a mask (32bit) of the sensors that are supported by this
5924 * equal limit values. If one range is used, a value outside that range results
5925 * in STATE_FATAL. If two ranges are used, a value outside the second range
5926 * results in STATE_FATAL while a value outside the first and inside the second
5934 * If the request does not contain a PAGE value then firmware will only return
5937 * If the request contains a PAGE value then firmware responds with the sensor
6049 /* enum: Not a sensor: reserved for the next page flag */
6085 /* enum: 0.9v power phase A voltage: mV */
6087 /* enum: 0.9v power phase A current: mA */
6089 /* enum: 0.9V voltage regulator phase A temperature: degC */
6107 /* enum: Not a sensor: reserved for the next page flag */
6177 /* enum: Not a sensor: reserved for the next page flag */
6234 * sensors), into host memory. Each array element is a
6242 * The MC will send a SENSOREVT event every time any sensor changes state. The
6322 /* enum: Sensor is working but does not currently have a reading. */
6338 * Report current state of PHY. A 'zombie' PHY is a PHY that has failed to boot
6363 * disable 802.Qbb for a given priority.
6396 * Add a protocol offload to NIC for lights-out state. Locks required: None.
6448 * Remove a protocol offload from NIC for lights-out state. Locks required:
6508 /* enum: Deliberately trigger a watchdog */
6510 /* enum: Deliberately trigger a trap by loading from an invalid address */
6512 /* enum: Deliberately trigger a trap by storing to an invalid address */
6523 * Enable/Disable a given workaround. The mcfw will return EINVAL if it doesn't
6524 * understand the given workaround number - which should not be treated as a
6526 * workaround, that's between the driver and the mcfw on a per-workaround
6588 * output data, are interpreted on a per-type basis. For SFP+: PAGE=0 or 1
6589 * returns a 128-byte block read from module I2C address 0xA0 offset 0 or 0x80.
6620 * Test a particular NVRAM partition for valid contents (where "valid" depends
6692 * Adjusts the sensor limits. This is a warranty-voiding operation. Returns:
6702 #define MC_CMD_SENSOR_SET_LIMS_IN_LEN 20
6776 * Reads soft metadata for a virtual NVRAM partition type. Locks required:
6791 #define MC_CMD_NVRAM_METADATA_OUT_LENMIN 20
6794 #define MC_CMD_NVRAM_METADATA_OUT_LEN(num) (20+1*(num))
6795 #define MC_CMD_NVRAM_METADATA_OUT_DESCRIPTION_NUM(len) (((len)-20)/1)
6826 #define MC_CMD_NVRAM_METADATA_OUT_DESCRIPTION_OFST 20
6863 * Perform a CLP related operation, see SF-110495-PS for details of CLP
6904 /* The MAC address assigned to port. A zero MAC address of 00:00:00:00:00:00
6906 * port. A non-zero MAC address persists until a PCIe reset or a power cycle.
6921 /* The MAC address assigned to port. A zero MAC address of 00:00:00:00:00:00
6923 * port. A non-zero MAC address persists until a PCIe reset or a power cycle.
6988 * Perform a MUM operation
7347 #define MC_CMD_MUM_IN_QSFP_RECONFIGURE_PORT_LINK_SPEED_OFST 20
7612 #define MC_CMD_MUM_OUT_READ_DDR_INFO_VOLTAGE_LBN 20
7652 /* A value below this will trigger a warning event. */
7657 /* A value below this will trigger a critical event. */
7662 /* A value below this will shut down the card. */
7667 /* A value above this will trigger a warning event. */
7672 /* A value above this will trigger a critical event. */
7677 /* A value above this will shut down the card. */
7678 #define MC_CMD_DYNAMIC_SENSORS_LIMITS_HI_FATAL_OFST 20
7683 /* MC_CMD_DYNAMIC_SENSORS_DESCRIPTION structuredef: Description of a sensor.
7695 /* A human-readable name for the sensor (zero terminated string, max 32 bytes)
7706 /* enum: A voltage sensor. Unit is mV */
7708 /* enum: A current sensor. Unit is mA */
7710 /* enum: A power sensor. Unit is mW */
7712 /* enum: A temperature sensor. Unit is Celsius */
7714 /* enum: A cooling fan sensor. Unit is RPM */
7718 /* A single MC_CMD_DYNAMIC_SENSORS_LIMITS structure */
7724 /* MC_CMD_DYNAMIC_SENSORS_READING structuredef: State and value of a sensor.
7762 * Return a complete list of handles for sensors currently managed by the MC,
7763 * and a generation count for this version of the sensor table. On systems
7774 * table is modified, a CODE_DYNAMIC_SENSORS_CHANGE event will be generated
7779 * The sensor count is provided to allow a future path to supporting more than
7781 * the maximum number that will fit in a single response. As this is a fairly
7785 * On Riverhead this command is implemented as a wrapper for `list` in the
7802 /* Generation count, which will be updated each time a sensor is added to or
7822 * Get descriptions for a set of sensors, specified as an array of sensor
7825 * Any handles which do not correspond to a sensor currently managed by the MC
7826 * will be dropped from from the response. This may happen when a sensor table
7830 * On Riverhead this command is implemented as a wrapper for
7867 * Read the state and value for a set of sensors, specified as an array of
7870 * In the case of a broken sensor, then the state of the response's
7874 * Any handles which do not correspond to a sensor currently managed by the MC
7875 * will be dropped from from the response. This may happen when a sensor table
7879 * On Riverhead this command is implemented as a wrapper for `get_readings`
8101 * platforms. See SF-119124-PS. The STATIC_CONFIG partition may contain a
8108 * a bundle update in TLV format
8314 /* enum: This is a TX completion event, not a timestamp */
8316 /* enum: This is a TX completion event for a CTPIO transmit. The event format
8320 /* enum: This is the low part of a TX timestamp for a CTPIO transmission. The
8324 /* enum: This is the high part of a TX timestamp for a CTPIO transmission. The
8328 /* enum: This is the low part of a TX timestamp event */
8330 /* enum: This is the high part of a TX timestamp event */
8342 /* The RSS mode for a particular packet type is a value from 0 - 15 which can
8343 * be considered as 4 bits selecting which fields are included in the hash. (A
8345 * generation tools require this structure to be a whole number of bytes wide,
8381 * Get a dump of the MCPU registers
8393 /* Whether the corresponding register entry contains a valid value */
8423 /* Desired instance. Must be set to a specific instance, which is a function
8459 #define MC_CMD_INIT_EVQ_IN_TMR_MODE_OFST 20
8473 * MC_CMD_RESOURCE_INSTANCE_ANY unless a specific one required for test
8516 /* Desired instance. Must be set to a specific instance, which is a function
8577 #define MC_CMD_INIT_EVQ_V2_IN_TMR_MODE_OFST 20
8591 * MC_CMD_RESOURCE_INSTANCE_ANY unless a specific one required for test
8662 * set up a receive queue according to the supplied parameters. The IN
8689 /* Desired instance. Must be set to a specific instance, which is a function
8722 #define MC_CMD_INIT_RXQ_IN_OWNER_ID_OFST 20
8754 /* Desired instance. Must be set to a specific instance, which is a function
8792 * multiple fixed-size packet buffers within each bucket. For a full
8817 #define MC_CMD_INIT_RXQ_EXT_IN_FLAG_NO_CONT_EV_LBN 20
8820 #define MC_CMD_INIT_RXQ_EXT_IN_OWNER_ID_OFST 20
8851 /* Desired instance. Must be set to a specific instance, which is a function
8889 * multiple fixed-size packet buffers within each bucket. For a full
8914 #define MC_CMD_INIT_RXQ_V3_IN_FLAG_NO_CONT_EV_LBN 20
8917 #define MC_CMD_INIT_RXQ_V3_IN_OWNER_ID_OFST 20
8944 /* The length in bytes of a single packet buffer within a
8952 * are still no descriptors then the packet will be dropped. A timeout of 0
8960 * for systems with a QDMA (currently, Riverhead)
8977 /* Desired instance. Must be set to a specific instance, which is a function
9015 * multiple fixed-size packet buffers within each bucket. For a full
9040 #define MC_CMD_INIT_RXQ_V4_IN_FLAG_NO_CONT_EV_LBN 20
9043 #define MC_CMD_INIT_RXQ_V4_IN_OWNER_ID_OFST 20
9070 /* The length in bytes of a single packet buffer within a
9078 * are still no descriptors then the packet will be dropped. A timeout of 0
9089 * Riverhead there is a global limit of eight different buffer sizes across all
9090 * active queues. A 2KB and 4KB buffer is guaranteed to be available, but a
9091 * request for a different buffer size will fail if there are already eight
9098 /* MC_CMD_INIT_RXQ_V5_IN msgrequest: INIT_RXQ request with ability to request a
9116 /* Desired instance. Must be set to a specific instance, which is a function
9154 * multiple fixed-size packet buffers within each bucket. For a full
9179 #define MC_CMD_INIT_RXQ_V5_IN_FLAG_NO_CONT_EV_LBN 20
9182 #define MC_CMD_INIT_RXQ_V5_IN_OWNER_ID_OFST 20
9209 /* The length in bytes of a single packet buffer within a
9217 * are still no descriptors then the packet will be dropped. A timeout of 0
9228 * Riverhead there is a global limit of eight different buffer sizes across all
9229 * active queues. A 2KB and 4KB buffer is guaranteed to be available, but a
9230 * request for a different buffer size will fail if there are already eight
9237 * Zero is always a valid prefix id and means the default prefix format
9239 * MC_CMD_GET_RX_PREFIX_ID with a requested set of prefix fields.
9287 /* Desired instance. Must be set to a specific instance, which is a function
9323 #define MC_CMD_INIT_TXQ_IN_OWNER_ID_OFST 20
9352 /* Desired instance. Must be set to a specific instance, which is a function
9403 #define MC_CMD_INIT_TXQ_EXT_IN_OWNER_ID_OFST 20
9456 * Teardown a RXQ.
9475 * Teardown a TXQ.
9518 * Allocate a set of buffer table entries using the specified owner ID. This
9532 /* Size of buffer table pages to use, in bytes (note that only a few values are
9551 * Reprogram a set of buffer table entries in the specified chunk.
9559 #define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_LENMIN 20
9683 #define MC_CMD_FILTER_OP_IN_RX_DEST_OFST 20
9707 /* enum: install a filter entry that will never match; for test purposes only
9857 #define MC_CMD_FILTER_OP_EXT_IN_MATCH_IFRM_OUTER_VLAN_LBN 20
9881 #define MC_CMD_FILTER_OP_EXT_IN_RX_DEST_OFST 20
9905 /* enum: install a filter entry that will never match; for test purposes only
10135 #define MC_CMD_FILTER_OP_V3_IN_MATCH_IFRM_OUTER_VLAN_LBN 20
10159 #define MC_CMD_FILTER_OP_V3_IN_RX_DEST_OFST 20
10183 /* enum: install a filter entry that will never match; for test purposes only
10347 /* the mark value for MATCH_ACTION_MARK. Requesting a value larger than the
10362 * handles should be considered opaque to the host, although a value of
10363 * 0xFFFFFFFF_FFFFFFFF is guaranteed never to be a valid handle.
10382 * handles should be considered opaque to the host, although a value of
10383 * 0xFFFFFFFF_FFFFFFFF is guaranteed never to be a valid handle.
10418 * encapsulated frames, which follow a different match sequence to normal
10465 * returned if a MC_CMD_GET_PARSER_DISP_INFO_IN request is sent with OP value
10607 #define MC_CMD_GET_SRIOV_CFG_OUT_LEN 20
10637 #define MC_CMD_SET_SRIOV_CFG_IN_LEN 20
10655 * MC_CMD_RESOURCE_INSTANCE_ANY to allow the system to allocate a stride.
10694 * For CmdClient use. Dump pertinent information on a specific absolute VI.
10733 #define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_TIMER_RAW_OFST 20
10735 #define MC_CMD_DUMP_VI_STATE_OUT_VI_EV_TIMER_RAW_LO_OFST 20
10820 * Allocate a push I/O buffer for later use with a tx queue.
10839 * Free a push I/O buffer.
10872 #define MC_CMD_GET_CAPABILITIES_OUT_LEN 20
10928 #define MC_CMD_GET_CAPABILITIES_OUT_RX_VLAN_STRIPPING_LBN 20
11181 #define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_VLAN_STRIPPING_LBN 20
11374 #define MC_CMD_GET_CAPABILITIES_V2_OUT_FLAGS2_OFST 20
11376 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TSO_V2_OFST 20
11379 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TSO_V2_ENCAP_OFST 20
11382 #define MC_CMD_GET_CAPABILITIES_V2_OUT_EVQ_TIMER_CTRL_OFST 20
11385 #define MC_CMD_GET_CAPABILITIES_V2_OUT_EVENT_CUT_THROUGH_OFST 20
11388 #define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_CUT_THROUGH_OFST 20
11391 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_VFIFO_ULL_MODE_OFST 20
11394 #define MC_CMD_GET_CAPABILITIES_V2_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
11397 #define MC_CMD_GET_CAPABILITIES_V2_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
11400 #define MC_CMD_GET_CAPABILITIES_V2_OUT_INIT_EVQ_V2_OFST 20
11403 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_MAC_TIMESTAMPING_OFST 20
11406 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TIMESTAMP_OFST 20
11409 #define MC_CMD_GET_CAPABILITIES_V2_OUT_RX_SNIFF_OFST 20
11412 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_SNIFF_OFST 20
11415 #define MC_CMD_GET_CAPABILITIES_V2_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
11418 #define MC_CMD_GET_CAPABILITIES_V2_OUT_MCDI_BACKGROUND_OFST 20
11421 #define MC_CMD_GET_CAPABILITIES_V2_OUT_MCDI_DB_RETURN_OFST 20
11424 #define MC_CMD_GET_CAPABILITIES_V2_OUT_CTPIO_OFST 20
11427 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TSA_SUPPORT_OFST 20
11430 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TSA_BOUND_OFST 20
11433 #define MC_CMD_GET_CAPABILITIES_V2_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
11436 #define MC_CMD_GET_CAPABILITIES_V2_OUT_FILTER_ACTION_FLAG_OFST 20
11439 #define MC_CMD_GET_CAPABILITIES_V2_OUT_FILTER_ACTION_MARK_OFST 20
11440 #define MC_CMD_GET_CAPABILITIES_V2_OUT_FILTER_ACTION_MARK_LBN 20
11442 #define MC_CMD_GET_CAPABILITIES_V2_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
11445 #define MC_CMD_GET_CAPABILITIES_V2_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
11448 #define MC_CMD_GET_CAPABILITIES_V2_OUT_L3XUDP_SUPPORT_OFST 20
11451 #define MC_CMD_GET_CAPABILITIES_V2_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
11454 #define MC_CMD_GET_CAPABILITIES_V2_OUT_VI_SPREADING_OFST 20
11457 #define MC_CMD_GET_CAPABILITIES_V2_OUT_RXDP_HLB_IDLE_OFST 20
11460 #define MC_CMD_GET_CAPABILITIES_V2_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
11463 #define MC_CMD_GET_CAPABILITIES_V2_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
11466 #define MC_CMD_GET_CAPABILITIES_V2_OUT_BUNDLE_UPDATE_OFST 20
11469 #define MC_CMD_GET_CAPABILITIES_V2_OUT_TX_TSO_V3_OFST 20
11472 #define MC_CMD_GET_CAPABILITIES_V2_OUT_DYNAMIC_SENSORS_OFST 20
11475 #define MC_CMD_GET_CAPABILITIES_V2_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
11484 * PF, indexed by PF number. Special values indicate that a PF is either not
11497 * in this field. It is intended for a possible future situation where a more
11499 * should look for a new field supporting the new scheme. The current/old
11503 /* One byte per PF containing the number of its VFs, indexed by PF number. A
11504 * special value indicates that a PF is not present.
11530 /* Size of a single PIO buffer */
11591 #define MC_CMD_GET_CAPABILITIES_V3_OUT_RX_VLAN_STRIPPING_LBN 20
11784 #define MC_CMD_GET_CAPABILITIES_V3_OUT_FLAGS2_OFST 20
11786 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_TSO_V2_OFST 20
11789 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_TSO_V2_ENCAP_OFST 20
11792 #define MC_CMD_GET_CAPABILITIES_V3_OUT_EVQ_TIMER_CTRL_OFST 20
11795 #define MC_CMD_GET_CAPABILITIES_V3_OUT_EVENT_CUT_THROUGH_OFST 20
11798 #define MC_CMD_GET_CAPABILITIES_V3_OUT_RX_CUT_THROUGH_OFST 20
11801 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_VFIFO_ULL_MODE_OFST 20
11804 #define MC_CMD_GET_CAPABILITIES_V3_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
11807 #define MC_CMD_GET_CAPABILITIES_V3_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
11810 #define MC_CMD_GET_CAPABILITIES_V3_OUT_INIT_EVQ_V2_OFST 20
11813 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_MAC_TIMESTAMPING_OFST 20
11816 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_TIMESTAMP_OFST 20
11819 #define MC_CMD_GET_CAPABILITIES_V3_OUT_RX_SNIFF_OFST 20
11822 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_SNIFF_OFST 20
11825 #define MC_CMD_GET_CAPABILITIES_V3_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
11828 #define MC_CMD_GET_CAPABILITIES_V3_OUT_MCDI_BACKGROUND_OFST 20
11831 #define MC_CMD_GET_CAPABILITIES_V3_OUT_MCDI_DB_RETURN_OFST 20
11834 #define MC_CMD_GET_CAPABILITIES_V3_OUT_CTPIO_OFST 20
11837 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TSA_SUPPORT_OFST 20
11840 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TSA_BOUND_OFST 20
11843 #define MC_CMD_GET_CAPABILITIES_V3_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
11846 #define MC_CMD_GET_CAPABILITIES_V3_OUT_FILTER_ACTION_FLAG_OFST 20
11849 #define MC_CMD_GET_CAPABILITIES_V3_OUT_FILTER_ACTION_MARK_OFST 20
11850 #define MC_CMD_GET_CAPABILITIES_V3_OUT_FILTER_ACTION_MARK_LBN 20
11852 #define MC_CMD_GET_CAPABILITIES_V3_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
11855 #define MC_CMD_GET_CAPABILITIES_V3_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
11858 #define MC_CMD_GET_CAPABILITIES_V3_OUT_L3XUDP_SUPPORT_OFST 20
11861 #define MC_CMD_GET_CAPABILITIES_V3_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
11864 #define MC_CMD_GET_CAPABILITIES_V3_OUT_VI_SPREADING_OFST 20
11867 #define MC_CMD_GET_CAPABILITIES_V3_OUT_RXDP_HLB_IDLE_OFST 20
11870 #define MC_CMD_GET_CAPABILITIES_V3_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
11873 #define MC_CMD_GET_CAPABILITIES_V3_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
11876 #define MC_CMD_GET_CAPABILITIES_V3_OUT_BUNDLE_UPDATE_OFST 20
11879 #define MC_CMD_GET_CAPABILITIES_V3_OUT_TX_TSO_V3_OFST 20
11882 #define MC_CMD_GET_CAPABILITIES_V3_OUT_DYNAMIC_SENSORS_OFST 20
11885 #define MC_CMD_GET_CAPABILITIES_V3_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
11894 * PF, indexed by PF number. Special values indicate that a PF is either not
11907 * in this field. It is intended for a possible future situation where a more
11909 * should look for a new field supporting the new scheme. The current/old
11913 /* One byte per PF containing the number of its VFs, indexed by PF number. A
11914 * special value indicates that a PF is not present.
11940 /* Size of a single PIO buffer */
11944 * is configurable. This is a global setting that the driver must query to
12026 #define MC_CMD_GET_CAPABILITIES_V4_OUT_RX_VLAN_STRIPPING_LBN 20
12219 #define MC_CMD_GET_CAPABILITIES_V4_OUT_FLAGS2_OFST 20
12221 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_TSO_V2_OFST 20
12224 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_TSO_V2_ENCAP_OFST 20
12227 #define MC_CMD_GET_CAPABILITIES_V4_OUT_EVQ_TIMER_CTRL_OFST 20
12230 #define MC_CMD_GET_CAPABILITIES_V4_OUT_EVENT_CUT_THROUGH_OFST 20
12233 #define MC_CMD_GET_CAPABILITIES_V4_OUT_RX_CUT_THROUGH_OFST 20
12236 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_VFIFO_ULL_MODE_OFST 20
12239 #define MC_CMD_GET_CAPABILITIES_V4_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
12242 #define MC_CMD_GET_CAPABILITIES_V4_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
12245 #define MC_CMD_GET_CAPABILITIES_V4_OUT_INIT_EVQ_V2_OFST 20
12248 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_MAC_TIMESTAMPING_OFST 20
12251 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_TIMESTAMP_OFST 20
12254 #define MC_CMD_GET_CAPABILITIES_V4_OUT_RX_SNIFF_OFST 20
12257 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_SNIFF_OFST 20
12260 #define MC_CMD_GET_CAPABILITIES_V4_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
12263 #define MC_CMD_GET_CAPABILITIES_V4_OUT_MCDI_BACKGROUND_OFST 20
12266 #define MC_CMD_GET_CAPABILITIES_V4_OUT_MCDI_DB_RETURN_OFST 20
12269 #define MC_CMD_GET_CAPABILITIES_V4_OUT_CTPIO_OFST 20
12272 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TSA_SUPPORT_OFST 20
12275 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TSA_BOUND_OFST 20
12278 #define MC_CMD_GET_CAPABILITIES_V4_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
12281 #define MC_CMD_GET_CAPABILITIES_V4_OUT_FILTER_ACTION_FLAG_OFST 20
12284 #define MC_CMD_GET_CAPABILITIES_V4_OUT_FILTER_ACTION_MARK_OFST 20
12285 #define MC_CMD_GET_CAPABILITIES_V4_OUT_FILTER_ACTION_MARK_LBN 20
12287 #define MC_CMD_GET_CAPABILITIES_V4_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
12290 #define MC_CMD_GET_CAPABILITIES_V4_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
12293 #define MC_CMD_GET_CAPABILITIES_V4_OUT_L3XUDP_SUPPORT_OFST 20
12296 #define MC_CMD_GET_CAPABILITIES_V4_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
12299 #define MC_CMD_GET_CAPABILITIES_V4_OUT_VI_SPREADING_OFST 20
12302 #define MC_CMD_GET_CAPABILITIES_V4_OUT_RXDP_HLB_IDLE_OFST 20
12305 #define MC_CMD_GET_CAPABILITIES_V4_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
12308 #define MC_CMD_GET_CAPABILITIES_V4_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
12311 #define MC_CMD_GET_CAPABILITIES_V4_OUT_BUNDLE_UPDATE_OFST 20
12314 #define MC_CMD_GET_CAPABILITIES_V4_OUT_TX_TSO_V3_OFST 20
12317 #define MC_CMD_GET_CAPABILITIES_V4_OUT_DYNAMIC_SENSORS_OFST 20
12320 #define MC_CMD_GET_CAPABILITIES_V4_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
12329 * PF, indexed by PF number. Special values indicate that a PF is either not
12342 * in this field. It is intended for a possible future situation where a more
12344 * should look for a new field supporting the new scheme. The current/old
12348 /* One byte per PF containing the number of its VFs, indexed by PF number. A
12349 * special value indicates that a PF is not present.
12375 /* Size of a single PIO buffer */
12379 * is configurable. This is a global setting that the driver must query to
12404 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
12469 #define MC_CMD_GET_CAPABILITIES_V5_OUT_RX_VLAN_STRIPPING_LBN 20
12662 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FLAGS2_OFST 20
12664 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_TSO_V2_OFST 20
12667 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_TSO_V2_ENCAP_OFST 20
12670 #define MC_CMD_GET_CAPABILITIES_V5_OUT_EVQ_TIMER_CTRL_OFST 20
12673 #define MC_CMD_GET_CAPABILITIES_V5_OUT_EVENT_CUT_THROUGH_OFST 20
12676 #define MC_CMD_GET_CAPABILITIES_V5_OUT_RX_CUT_THROUGH_OFST 20
12679 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_VFIFO_ULL_MODE_OFST 20
12682 #define MC_CMD_GET_CAPABILITIES_V5_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
12685 #define MC_CMD_GET_CAPABILITIES_V5_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
12688 #define MC_CMD_GET_CAPABILITIES_V5_OUT_INIT_EVQ_V2_OFST 20
12691 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_MAC_TIMESTAMPING_OFST 20
12694 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_TIMESTAMP_OFST 20
12697 #define MC_CMD_GET_CAPABILITIES_V5_OUT_RX_SNIFF_OFST 20
12700 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_SNIFF_OFST 20
12703 #define MC_CMD_GET_CAPABILITIES_V5_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
12706 #define MC_CMD_GET_CAPABILITIES_V5_OUT_MCDI_BACKGROUND_OFST 20
12709 #define MC_CMD_GET_CAPABILITIES_V5_OUT_MCDI_DB_RETURN_OFST 20
12712 #define MC_CMD_GET_CAPABILITIES_V5_OUT_CTPIO_OFST 20
12715 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TSA_SUPPORT_OFST 20
12718 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TSA_BOUND_OFST 20
12721 #define MC_CMD_GET_CAPABILITIES_V5_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
12724 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FILTER_ACTION_FLAG_OFST 20
12727 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FILTER_ACTION_MARK_OFST 20
12728 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FILTER_ACTION_MARK_LBN 20
12730 #define MC_CMD_GET_CAPABILITIES_V5_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
12733 #define MC_CMD_GET_CAPABILITIES_V5_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
12736 #define MC_CMD_GET_CAPABILITIES_V5_OUT_L3XUDP_SUPPORT_OFST 20
12739 #define MC_CMD_GET_CAPABILITIES_V5_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
12742 #define MC_CMD_GET_CAPABILITIES_V5_OUT_VI_SPREADING_OFST 20
12745 #define MC_CMD_GET_CAPABILITIES_V5_OUT_RXDP_HLB_IDLE_OFST 20
12748 #define MC_CMD_GET_CAPABILITIES_V5_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
12751 #define MC_CMD_GET_CAPABILITIES_V5_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
12754 #define MC_CMD_GET_CAPABILITIES_V5_OUT_BUNDLE_UPDATE_OFST 20
12757 #define MC_CMD_GET_CAPABILITIES_V5_OUT_TX_TSO_V3_OFST 20
12760 #define MC_CMD_GET_CAPABILITIES_V5_OUT_DYNAMIC_SENSORS_OFST 20
12763 #define MC_CMD_GET_CAPABILITIES_V5_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
12772 * PF, indexed by PF number. Special values indicate that a PF is either not
12785 * in this field. It is intended for a possible future situation where a more
12787 * should look for a new field supporting the new scheme. The current/old
12791 /* One byte per PF containing the number of its VFs, indexed by PF number. A
12792 * special value indicates that a PF is not present.
12818 /* Size of a single PIO buffer */
12822 * is configurable. This is a global setting that the driver must query to
12847 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
12917 #define MC_CMD_GET_CAPABILITIES_V6_OUT_RX_VLAN_STRIPPING_LBN 20
13110 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FLAGS2_OFST 20
13112 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_TSO_V2_OFST 20
13115 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_TSO_V2_ENCAP_OFST 20
13118 #define MC_CMD_GET_CAPABILITIES_V6_OUT_EVQ_TIMER_CTRL_OFST 20
13121 #define MC_CMD_GET_CAPABILITIES_V6_OUT_EVENT_CUT_THROUGH_OFST 20
13124 #define MC_CMD_GET_CAPABILITIES_V6_OUT_RX_CUT_THROUGH_OFST 20
13127 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_VFIFO_ULL_MODE_OFST 20
13130 #define MC_CMD_GET_CAPABILITIES_V6_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
13133 #define MC_CMD_GET_CAPABILITIES_V6_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
13136 #define MC_CMD_GET_CAPABILITIES_V6_OUT_INIT_EVQ_V2_OFST 20
13139 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_MAC_TIMESTAMPING_OFST 20
13142 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_TIMESTAMP_OFST 20
13145 #define MC_CMD_GET_CAPABILITIES_V6_OUT_RX_SNIFF_OFST 20
13148 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_SNIFF_OFST 20
13151 #define MC_CMD_GET_CAPABILITIES_V6_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
13154 #define MC_CMD_GET_CAPABILITIES_V6_OUT_MCDI_BACKGROUND_OFST 20
13157 #define MC_CMD_GET_CAPABILITIES_V6_OUT_MCDI_DB_RETURN_OFST 20
13160 #define MC_CMD_GET_CAPABILITIES_V6_OUT_CTPIO_OFST 20
13163 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TSA_SUPPORT_OFST 20
13166 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TSA_BOUND_OFST 20
13169 #define MC_CMD_GET_CAPABILITIES_V6_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
13172 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FILTER_ACTION_FLAG_OFST 20
13175 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FILTER_ACTION_MARK_OFST 20
13176 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FILTER_ACTION_MARK_LBN 20
13178 #define MC_CMD_GET_CAPABILITIES_V6_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
13181 #define MC_CMD_GET_CAPABILITIES_V6_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
13184 #define MC_CMD_GET_CAPABILITIES_V6_OUT_L3XUDP_SUPPORT_OFST 20
13187 #define MC_CMD_GET_CAPABILITIES_V6_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
13190 #define MC_CMD_GET_CAPABILITIES_V6_OUT_VI_SPREADING_OFST 20
13193 #define MC_CMD_GET_CAPABILITIES_V6_OUT_RXDP_HLB_IDLE_OFST 20
13196 #define MC_CMD_GET_CAPABILITIES_V6_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
13199 #define MC_CMD_GET_CAPABILITIES_V6_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
13202 #define MC_CMD_GET_CAPABILITIES_V6_OUT_BUNDLE_UPDATE_OFST 20
13205 #define MC_CMD_GET_CAPABILITIES_V6_OUT_TX_TSO_V3_OFST 20
13208 #define MC_CMD_GET_CAPABILITIES_V6_OUT_DYNAMIC_SENSORS_OFST 20
13211 #define MC_CMD_GET_CAPABILITIES_V6_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
13220 * PF, indexed by PF number. Special values indicate that a PF is either not
13233 * in this field. It is intended for a possible future situation where a more
13235 * should look for a new field supporting the new scheme. The current/old
13239 /* One byte per PF containing the number of its VFs, indexed by PF number. A
13240 * special value indicates that a PF is not present.
13266 /* Size of a single PIO buffer */
13270 * is configurable. This is a global setting that the driver must query to
13295 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
13308 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
13309 * they create an RX queue. Due to hardware limitations, only a small number of
13376 #define MC_CMD_GET_CAPABILITIES_V7_OUT_RX_VLAN_STRIPPING_LBN 20
13569 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FLAGS2_OFST 20
13571 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_TSO_V2_OFST 20
13574 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_TSO_V2_ENCAP_OFST 20
13577 #define MC_CMD_GET_CAPABILITIES_V7_OUT_EVQ_TIMER_CTRL_OFST 20
13580 #define MC_CMD_GET_CAPABILITIES_V7_OUT_EVENT_CUT_THROUGH_OFST 20
13583 #define MC_CMD_GET_CAPABILITIES_V7_OUT_RX_CUT_THROUGH_OFST 20
13586 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_VFIFO_ULL_MODE_OFST 20
13589 #define MC_CMD_GET_CAPABILITIES_V7_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
13592 #define MC_CMD_GET_CAPABILITIES_V7_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
13595 #define MC_CMD_GET_CAPABILITIES_V7_OUT_INIT_EVQ_V2_OFST 20
13598 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_MAC_TIMESTAMPING_OFST 20
13601 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_TIMESTAMP_OFST 20
13604 #define MC_CMD_GET_CAPABILITIES_V7_OUT_RX_SNIFF_OFST 20
13607 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_SNIFF_OFST 20
13610 #define MC_CMD_GET_CAPABILITIES_V7_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
13613 #define MC_CMD_GET_CAPABILITIES_V7_OUT_MCDI_BACKGROUND_OFST 20
13616 #define MC_CMD_GET_CAPABILITIES_V7_OUT_MCDI_DB_RETURN_OFST 20
13619 #define MC_CMD_GET_CAPABILITIES_V7_OUT_CTPIO_OFST 20
13622 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TSA_SUPPORT_OFST 20
13625 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TSA_BOUND_OFST 20
13628 #define MC_CMD_GET_CAPABILITIES_V7_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
13631 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FILTER_ACTION_FLAG_OFST 20
13634 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FILTER_ACTION_MARK_OFST 20
13635 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FILTER_ACTION_MARK_LBN 20
13637 #define MC_CMD_GET_CAPABILITIES_V7_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
13640 #define MC_CMD_GET_CAPABILITIES_V7_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
13643 #define MC_CMD_GET_CAPABILITIES_V7_OUT_L3XUDP_SUPPORT_OFST 20
13646 #define MC_CMD_GET_CAPABILITIES_V7_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
13649 #define MC_CMD_GET_CAPABILITIES_V7_OUT_VI_SPREADING_OFST 20
13652 #define MC_CMD_GET_CAPABILITIES_V7_OUT_RXDP_HLB_IDLE_OFST 20
13655 #define MC_CMD_GET_CAPABILITIES_V7_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
13658 #define MC_CMD_GET_CAPABILITIES_V7_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
13661 #define MC_CMD_GET_CAPABILITIES_V7_OUT_BUNDLE_UPDATE_OFST 20
13664 #define MC_CMD_GET_CAPABILITIES_V7_OUT_TX_TSO_V3_OFST 20
13667 #define MC_CMD_GET_CAPABILITIES_V7_OUT_DYNAMIC_SENSORS_OFST 20
13670 #define MC_CMD_GET_CAPABILITIES_V7_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
13679 * PF, indexed by PF number. Special values indicate that a PF is either not
13692 * in this field. It is intended for a possible future situation where a more
13694 * should look for a new field supporting the new scheme. The current/old
13698 /* One byte per PF containing the number of its VFs, indexed by PF number. A
13699 * special value indicates that a PF is not present.
13725 /* Size of a single PIO buffer */
13729 * is configurable. This is a global setting that the driver must query to
13754 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
13767 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
13768 * they create an RX queue. Due to hardware limitations, only a small number of
13862 #define MC_CMD_GET_CAPABILITIES_V8_OUT_RX_VLAN_STRIPPING_LBN 20
14055 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FLAGS2_OFST 20
14057 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_TSO_V2_OFST 20
14060 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_TSO_V2_ENCAP_OFST 20
14063 #define MC_CMD_GET_CAPABILITIES_V8_OUT_EVQ_TIMER_CTRL_OFST 20
14066 #define MC_CMD_GET_CAPABILITIES_V8_OUT_EVENT_CUT_THROUGH_OFST 20
14069 #define MC_CMD_GET_CAPABILITIES_V8_OUT_RX_CUT_THROUGH_OFST 20
14072 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_VFIFO_ULL_MODE_OFST 20
14075 #define MC_CMD_GET_CAPABILITIES_V8_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
14078 #define MC_CMD_GET_CAPABILITIES_V8_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
14081 #define MC_CMD_GET_CAPABILITIES_V8_OUT_INIT_EVQ_V2_OFST 20
14084 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_MAC_TIMESTAMPING_OFST 20
14087 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_TIMESTAMP_OFST 20
14090 #define MC_CMD_GET_CAPABILITIES_V8_OUT_RX_SNIFF_OFST 20
14093 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_SNIFF_OFST 20
14096 #define MC_CMD_GET_CAPABILITIES_V8_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
14099 #define MC_CMD_GET_CAPABILITIES_V8_OUT_MCDI_BACKGROUND_OFST 20
14102 #define MC_CMD_GET_CAPABILITIES_V8_OUT_MCDI_DB_RETURN_OFST 20
14105 #define MC_CMD_GET_CAPABILITIES_V8_OUT_CTPIO_OFST 20
14108 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TSA_SUPPORT_OFST 20
14111 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TSA_BOUND_OFST 20
14114 #define MC_CMD_GET_CAPABILITIES_V8_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
14117 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FILTER_ACTION_FLAG_OFST 20
14120 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FILTER_ACTION_MARK_OFST 20
14121 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FILTER_ACTION_MARK_LBN 20
14123 #define MC_CMD_GET_CAPABILITIES_V8_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
14126 #define MC_CMD_GET_CAPABILITIES_V8_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
14129 #define MC_CMD_GET_CAPABILITIES_V8_OUT_L3XUDP_SUPPORT_OFST 20
14132 #define MC_CMD_GET_CAPABILITIES_V8_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
14135 #define MC_CMD_GET_CAPABILITIES_V8_OUT_VI_SPREADING_OFST 20
14138 #define MC_CMD_GET_CAPABILITIES_V8_OUT_RXDP_HLB_IDLE_OFST 20
14141 #define MC_CMD_GET_CAPABILITIES_V8_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
14144 #define MC_CMD_GET_CAPABILITIES_V8_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
14147 #define MC_CMD_GET_CAPABILITIES_V8_OUT_BUNDLE_UPDATE_OFST 20
14150 #define MC_CMD_GET_CAPABILITIES_V8_OUT_TX_TSO_V3_OFST 20
14153 #define MC_CMD_GET_CAPABILITIES_V8_OUT_DYNAMIC_SENSORS_OFST 20
14156 #define MC_CMD_GET_CAPABILITIES_V8_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
14165 * PF, indexed by PF number. Special values indicate that a PF is either not
14178 * in this field. It is intended for a possible future situation where a more
14180 * should look for a new field supporting the new scheme. The current/old
14184 /* One byte per PF containing the number of its VFs, indexed by PF number. A
14185 * special value indicates that a PF is not present.
14211 /* Size of a single PIO buffer */
14215 * is configurable. This is a global setting that the driver must query to
14240 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
14253 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
14254 * they create an RX queue. Due to hardware limitations, only a small number of
14356 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RX_VLAN_STRIPPING_LBN 20
14549 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FLAGS2_OFST 20
14551 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_TSO_V2_OFST 20
14554 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_TSO_V2_ENCAP_OFST 20
14557 #define MC_CMD_GET_CAPABILITIES_V9_OUT_EVQ_TIMER_CTRL_OFST 20
14560 #define MC_CMD_GET_CAPABILITIES_V9_OUT_EVENT_CUT_THROUGH_OFST 20
14563 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RX_CUT_THROUGH_OFST 20
14566 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_VFIFO_ULL_MODE_OFST 20
14569 #define MC_CMD_GET_CAPABILITIES_V9_OUT_MAC_STATS_40G_TX_SIZE_BINS_OFST 20
14572 #define MC_CMD_GET_CAPABILITIES_V9_OUT_INIT_EVQ_TYPE_SUPPORTED_OFST 20
14575 #define MC_CMD_GET_CAPABILITIES_V9_OUT_INIT_EVQ_V2_OFST 20
14578 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_MAC_TIMESTAMPING_OFST 20
14581 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_TIMESTAMP_OFST 20
14584 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RX_SNIFF_OFST 20
14587 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_SNIFF_OFST 20
14590 #define MC_CMD_GET_CAPABILITIES_V9_OUT_NVRAM_UPDATE_REPORT_VERIFY_RESULT_OFST 20
14593 #define MC_CMD_GET_CAPABILITIES_V9_OUT_MCDI_BACKGROUND_OFST 20
14596 #define MC_CMD_GET_CAPABILITIES_V9_OUT_MCDI_DB_RETURN_OFST 20
14599 #define MC_CMD_GET_CAPABILITIES_V9_OUT_CTPIO_OFST 20
14602 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TSA_SUPPORT_OFST 20
14605 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TSA_BOUND_OFST 20
14608 #define MC_CMD_GET_CAPABILITIES_V9_OUT_SF_ADAPTER_AUTHENTICATION_OFST 20
14611 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FILTER_ACTION_FLAG_OFST 20
14614 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FILTER_ACTION_MARK_OFST 20
14615 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FILTER_ACTION_MARK_LBN 20
14617 #define MC_CMD_GET_CAPABILITIES_V9_OUT_EQUAL_STRIDE_SUPER_BUFFER_OFST 20
14620 #define MC_CMD_GET_CAPABILITIES_V9_OUT_EQUAL_STRIDE_PACKED_STREAM_OFST 20
14623 #define MC_CMD_GET_CAPABILITIES_V9_OUT_L3XUDP_SUPPORT_OFST 20
14626 #define MC_CMD_GET_CAPABILITIES_V9_OUT_FW_SUBVARIANT_NO_TX_CSUM_OFST 20
14629 #define MC_CMD_GET_CAPABILITIES_V9_OUT_VI_SPREADING_OFST 20
14632 #define MC_CMD_GET_CAPABILITIES_V9_OUT_RXDP_HLB_IDLE_OFST 20
14635 #define MC_CMD_GET_CAPABILITIES_V9_OUT_INIT_RXQ_NO_CONT_EV_OFST 20
14638 #define MC_CMD_GET_CAPABILITIES_V9_OUT_INIT_RXQ_WITH_BUFFER_SIZE_OFST 20
14641 #define MC_CMD_GET_CAPABILITIES_V9_OUT_BUNDLE_UPDATE_OFST 20
14644 #define MC_CMD_GET_CAPABILITIES_V9_OUT_TX_TSO_V3_OFST 20
14647 #define MC_CMD_GET_CAPABILITIES_V9_OUT_DYNAMIC_SENSORS_OFST 20
14650 #define MC_CMD_GET_CAPABILITIES_V9_OUT_NVRAM_UPDATE_POLL_VERIFY_RESULT_OFST 20
14659 * PF, indexed by PF number. Special values indicate that a PF is either not
14672 * in this field. It is intended for a possible future situation where a more
14674 * should look for a new field supporting the new scheme. The current/old
14678 /* One byte per PF containing the number of its VFs, indexed by PF number. A
14679 * special value indicates that a PF is not present.
14705 /* Size of a single PIO buffer */
14709 * is configurable. This is a global setting that the driver must query to
14734 * entry. For MAC stats DMA, drivers should allocate a buffer large enough to
14747 * GET_CAPABILITIES_OUT_V2) is set, drivers have to specify a buffer size when
14748 * they create an RX queue. Due to hardware limitations, only a small number of
14793 * from the pool for an RSS context. Note that the table size used must be a
14799 * from the pool for an RSS context. Note that the table size used must be a
14805 * mode. In exclusive mode the context has a configurable indirection table and
14806 * a configurable RSS key.
14812 * but it does have a configurable RSS key.
14818 * availability of indirection table space allocated from a common pool.
14831 * Encapsulation for a v2 extended command
14854 /* enum: MCDI command directed to a TSA controller. MCDI responses of this type
14862 * Link a push I/O buffer to a TxQ
14884 * Unlink a push I/O buffer from a TxQ
14903 * allocate and initialise a v-switch.
14950 * de-allocate a v-switch.
14970 * It may be used to check if a v-switch is connected to a given EVB port (if
14990 * allocate a v-port.
14998 #define MC_CMD_VPORT_ALLOC_IN_LEN 20
15011 /* enum: A normal v-port receives packets which match a specified MAC and/or
15057 * de-allocate a v-port.
15076 * allocate a v-adaptor.
15104 #define MC_CMD_VADAPTOR_ALLOC_IN_VLAN_TAGS_OFST 20
15106 #define MC_CMD_VADAPTOR_ALLOC_IN_VLAN_TAG_0_OFST 20
15109 #define MC_CMD_VADAPTOR_ALLOC_IN_VLAN_TAG_1_OFST 20
15124 * de-allocate a v-adaptor.
15143 * assign a new MAC address to a v-adaptor.
15165 * read the MAC address assigned to a v-adaptor.
15215 * assign a port to a PCI function.
15338 /* enum: Allocate a context for exclusive use. The key and indirection table
15342 /* enum: Allocate a context for shared use; this will spread across a range of
15347 /* enum: Allocate a context to spread evenly across an arbitrary number of
15360 * be useful as a way of obtaining the Toeplitz hash.
15373 /* enum: Allocate a context for exclusive use. The key and indirection table
15377 /* enum: Allocate a context for shared use; this will spread across a range of
15382 /* enum: Allocate a context to spread evenly across an arbitrary number of
15395 * be useful as a way of obtaining the Toeplitz hash.
15400 * Must be a power of 2. The minimum and maximum table size can be queried
15412 * host, although a value of 0xFFFFFFFF is guaranteed never to be a valid
15488 * when the RSS context is allocated without specifying a table size.
15512 * when the RSS context is allocated without specifying a table size.
15534 * Write a portion of a selectable-size indirection table for an RSS context.
15580 * Read a portion of a selectable-size indirection table for an RSS context.
15611 /* A buffer containing the requested entries read from the table. */
15639 * reject any attempt to set the FLAGS field to a value > 0xff with EINVAL. In
15672 #define MC_CMD_RSS_CONTEXT_SET_FLAGS_IN_TCP_IPV6_RSS_MODE_LBN 20
15707 * guaranteed to be consistent with the _EN flags for a freshly-allocated RSS
15712 * mode by looking only at the _MODE bits; the value returned by a GET can
15713 * always be used for a SET regardless of old/new driver vs. old/new firmware.
15742 #define MC_CMD_RSS_CONTEXT_GET_FLAGS_OUT_TCP_IPV6_RSS_MODE_LBN 20
15754 * Add a MAC address to a v-port
15776 * Delete a MAC address from a v-port
15798 * Delete a MAC address from a v-port
15872 #define MC_CMD_VPORT_RECONFIGURE_IN_MACADDRS_OFST 20
15905 /* The number of VLAN tags that may be used on a v-adaptor connected to this
15976 * Adjusts power supply parameters. This is a warranty-voiding operation.
16090 /* enum: re-read and apply licenses after a license key partition update; note
16091 * that this operation returns a zero-length response
16120 #define MC_CMD_LICENSING_OUT_LICENSING_STATE_OFST 20
16146 /* enum: re-read and apply licenses after a license key partition update; note
16147 * that this operation returns a zero-length response
16177 #define MC_CMD_LICENSING_V3_OUT_LICENSING_SELF_TEST_OFST 20
16238 * or a reboot of the MC.) Not used for V3 licensing
16258 /* enum: a valid license is present for the application */
16266 * operation or a reboot of the MC.) Used for V3 licensing (Medford)
16275 /* application ID to query (LICENSED_V3_APPS_xxx) expressed as a single bit
16290 /* enum: a valid license is present for the application */
16298 * operation or a reboot of the MC.) Used for V3 licensing (Medford)
16307 /* features to query (LICENSED_V3_FEATURES_xxx) expressed as a mask with one or
16422 /* application ID expressed as a single bit mask */
16431 * of two 384-bit integers, r and s, in big-endian order. The signature signs a
16432 * SHA-384 digest of a message constructed from the concatenation of the input
16448 /* base MAC address of the NIC stored in NVRAM (note that this is a constant
16449 * value for a given NIC regardless which function is calling, effectively this
16491 * Perform operations to support installation of a single temporary license in
16494 * stored in MC persistent data and so will survive a MC reboot, but will be
16507 /* enum: install a new license, overwriting any existing temporary license.
16578 * internal loopback. (ENTITY is a queue handle, VALUE is a single boolean.)
16582 * internal loopback path. (ENTITY is an EVB_PORT_ID, VALUE is a single
16682 * TLV_PORT_MODE_*). A superset of MC_CMD_GET_PORT_MODES_OUT/MODES that
16683 * contains all modes implemented in firmware for a particular board. Modes
16698 * warm reboot. A cold reboot resets the override. It is assumed that a
16734 /* Each workaround is represented by a single bit according to the enums below.
16804 /* enum: Privilege that allows a Function to change the MAC address configured
16808 /* enum: Privilege that allows a Function to install filters that specify VLANs
16811 * only a set of permitted VLANs. See the vPort flag FLAG_VLAN_RESTRICT.
16820 * an adapter has Bound to a remote ServerLock Controller (see doxbox
16824 /* enum: Set this bit to indicate that a new privilege mask is to be set,
16838 * Read/set link state mode of a VF
16847 /* The target function to have its link state mode read or set, must be a VF
16891 /* Total number of unexpectedly clear (set in B but not A) bits in area 0 */
16894 /* Total number of unexpectedly clear (set in A but not B) bits in area 0 */
16903 /* Total number of unexpectedly clear (set in B but not A) bits in area 1 */
16904 #define MC_CMD_FUSE_DIAGS_OUT_AREA1_PAIR_A_BAD_BITS_OFST 20
16906 /* Total number of unexpectedly clear (set in A but not B) bits in area 1 */
16915 /* Total number of unexpectedly clear (set in B but not A) bits in area 2 */
16918 /* Total number of unexpectedly clear (set in A but not B) bits in area 2 */
16928 * Modify the privileges of a set of PCIe functions. Note that this operation
17000 * cause all functions to see a reset. (Available on Medford only.)
17022 /* Entries defining the UDP port to protocol mapping, each laid out as a
17043a rule for detecting encapsulations in the VNIC stage. Currently this only affects checksum valida…
17123 …* Remove a VNIC encapsulation rule. Packets which would have previously matched the rule will then…
17155 /* enum: Function has virtio block device configuration registers and a
17156 * doorbell for a single virtqueue.
17159 /* enum: Function is a Xilinx acceleration device - management function */
17161 /* enum: Function is a Xilinx acceleration device - user function */
17166 /* PCIE_FUNCTION structuredef: Structure representing a PCIe function ID
17188 /* enum: Function is a PF (when PF != PF_NULL) or invalid function (when PF ==