Lines Matching +full:multi +full:- +full:gmac
1 /* SPDX-License-Identifier: GPL-2.0-only */
4 * Copyright 2009-2018 Solarflare Communications Inc.
5 * Copyright 2019-2020 Xilinx Inc.
13 /* Power-on reset state */
35 /* The 'doorbell' addresses are hard-wired to alert the MC when written */
38 /* The rest of these are firmware-defined */
46 /* Values to be written to the per-port status dword in shared
71 * | | \--- Response
72 * | \------- Error
73 * \------------------------------ Resync (always set)
126 * - To advance a shared memory request if XFLAGS_EVREQ was set
127 * - As a notification (link state, i2c event), controlled
139 * - LEVEL==INFO Command succeeded
140 * - LEVEL==ERR Command failed
151 * non-existent MCDI command MC_CMD_DEBUG_LOG.
156 * Since the event is written in big-endian byte order, this works
157 * providing bits 56-63 of the event are 0xc0.
170 /* Non-existent command target */
192 /* Read-only */
196 /* Non-recursive resource is already acquired */
217 /* V-adaptor not found. */
221 /* V-switch not found. */
229 /* Invalid v-switch type. */
231 /* Invalid v-port type. */
253 * This error code is followed by a 32-bit handle that
266 * an operation failed due to lack of SR-IOV privilege.
275 * May also returned for other operations such as sub-variant switching. */
315 #define SIENA_MC_BOOTROM_COPYCODE_VEC (0x800 - 3 * 0x4)
316 #define HUNT_MC_BOOTROM_COPYCODE_VEC (0x8000 - 3 * 0x4)
317 #define MEDFORD_MC_BOOTROM_COPYCODE_VEC (0x10000 - 3 * 0x4)
319 #define SIENA_MC_BOOTROM_NOFLASH_VEC (0x800 - 2 * 0x4)
320 #define HUNT_MC_BOOTROM_NOFLASH_VEC (0x8000 - 2 * 0x4)
321 #define MEDFORD_MC_BOOTROM_NOFLASH_VEC (0x10000 - 2 * 0x4)
323 #define SIENA_MC_BOOTROM_RECOVERY_VEC (0x800 - 2 * 0x4)
324 #define HUNT_MC_BOOTROM_RECOVERY_VEC (0x8000 - 2 * 0x4)
325 #define MEDFORD_MC_BOOTROM_RECOVERY_VEC (0x10000 - 2 * 0x4)
328 #define MEDFORD_MC_BOOTROM_REAL_NOFLASH_VEC (0x10000 - 4 * 0x4)
356 /* This may be ORed with an EVB_PORT_ID_xxx constant to pass a non-default
357 * stack ID (which must be in the range 1-255) along with an EVB port ID.
363 * may be followed by the (0-based) number of the first argument that
485 /* enum: AOE failed to load - no valid image? */
493 /* enum: Generic AOE fault - likely to have been reported via other means too
523 /* enum: FPGA boot-flash contains an invalid image header */
595 /* enum: MUM failed to load - no valid image? */
759 * MC_CMD_DESC_PROXY_FUNC_CONFIG_COMMIT and SF-122927-TC for details.
764 * SF-122927-TC for details.
773 * SF-122927-TC for details.
855 /* For CODE_PTP_TIME events, bits 19-26 of the minor value of the PTP clock */
873 /* For CODE_PTP_TIME events where report sync status is enabled, bits 21-26 of
892 * should resend it. A non-zero value means that the authorization has been
991 /* enum: Port id config to map MC-FC port idx */
1045 * such that bits 32-63 containing | event code, level, source etc remain the
1053 #define FCDI_EXTENDED_EVENT_PPS_TIMESTAMPS_NUM(len) (((len)-8)/8)
1182 * Read multiple 32byte words from MC memory. Note - this command really
1203 #define MC_CMD_READ32_OUT_BUFFER_NUM(len) (((len)-0)/4)
1225 #define MC_CMD_WRITE32_IN_BUFFER_NUM(len) (((len)-4)/4)
1240 * Copy MC code between two locations and jump. Note - this command really
1305 * Select function for function-specific commands.
1378 /* enum: A system-level assertion has failed. */
1380 /* enum: A thread-level assertion has failed. */
1412 /* enum: A system-level assertion has failed. */
1414 /* enum: A thread-level assertion has failed. */
1450 /* enum: A system-level assertion has failed. */
1452 /* enum: A thread-level assertion has failed. */
1478 /* MC firmware unique build ID (as binary SHA-1 value) */
1494 /* MC firmware extra version info (as null-terminated US-ASCII string) */
1497 /* MC firmware build name (as null-terminated US-ASCII string) */
1636 /* MC firmware unique build ID (as binary SHA-1 value) */
1642 /* MC firmware build name (as null-terminated US-ASCII string) */
1645 /* The SUC firmware version as four numbers - a.b.c.d */
1649 /* SUC firmware build date (as 64-bit Unix timestamp) */
1655 * indicates family, memory sizes etc. See SF-116728-SW for further details.
1659 /* The CMC firmware version as four numbers - a.b.c.d */
1663 /* CMC firmware build date (as 64-bit Unix timestamp) */
1671 * => B, ...) FPGA_VERSION[2]: Sub-revision number
1676 /* Extra FPGA revision information (as null-terminated US-ASCII string) */
1679 /* Board name / adapter model (as null-terminated US-ASCII string) */
1685 /* Board serial number (as null-terminated US-ASCII string) */
1761 /* enum: Get the clock attributes. NOTE- extended version of
1800 /* enum: PTP, version 1, with VLAN headers - deprecated */
1804 /* enum: PTP, version 2, with VLAN headers - deprecated */
1823 #define MC_CMD_PTP_IN_TRANSMIT_PACKET_NUM(len) (((len)-12)/1)
1991 #define MC_CMD_PTP_IN_FPGAWRITE_BUFFER_NUM(len) (((len)-12)/1)
2207 /* NIC - Host System Clock Synchronization status */
2337 #define MC_CMD_PTP_OUT_SYNCHRONIZE_TIMESET_NUM(len) (((len)-0)/20)
2422 #define MC_CMD_PTP_OUT_FPGAREAD_BUFFER_NUM(len) (((len)-0)/1)
2434 * be assumed. Note this enum is deprecated. Do not add to it- use the
2443 /* enum: Major register has units of seconds, minor 2^-27s per tick */
2459 /* enum: Major register has units of seconds, minor 2^-27s per tick */
2524 /* Uncorrected error on non-PTP transmit timestamps in NIC clock format */
2527 /* Uncorrected error on non-PTP receive timestamps in NIC clock format */
2567 #define MC_CMD_CSR_READ32_OUT_BUFFER_NUM(len) (((len)-0)/4)
2590 #define MC_CMD_CSR_WRITE32_IN_BUFFER_NUM(len) (((len)-8)/4)
2620 /* HP OCSD sub-command. When address is not NULL, request activation of OCSD at
2628 /* enum: OCSD (Option Card Sensor Data) sub-command. */
2630 /* enum: Last known valid HP sub-command. */
2632 /* The address to the array of sensor fields. (Or NULL to use a sub-command.)
2638 /* The requested update interval, in seconds. (Or the sub-command if ADDR is
2673 #define MC_CMD_STACKINFO_OUT_THREAD_INFO_NUM(len) (((len)-0)/12)
2792 #define MC_CMD_DBI_WRITE_IN_DBIWROP_NUM(len) (((len)-0)/12)
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
2901 * Write a 128-bit register to the indirect port register map. The port to
2965 #define MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_NUM(len) (((len)-72)/2)
3010 /* Siena only. This field contains a 16-bit value for each of the types of
3025 * Read DBI register(s) -- extended functionality
3037 #define MC_CMD_DBI_READX_IN_DBIRDOP_NUM(len) (((len)-0)/8)
3052 #define MC_CMD_DBI_READX_OUT_VALUE_NUM(len) (((len)-0)/4)
3083 * Set the 16byte seed for the MC pseudo-random generator.
3114 #define MC_CMD_LTSSM_HIST_OUT_DATA_NUM(len) (((len)-0)/4)
3115 /* variable number of LTSSM values, as bytes. The history is read-to-clear. */
3193 /* enum: Prefer to use "l3xudp" custom datapath firmware (see SF-119495-PD and
3200 * (i.e. non-production) builds.
3203 /* enum: Only this option is allowed for non-admin functions */
3264 /* enum: Prefer to use "l3xudp" custom datapath firmware (see SF-119495-PD and
3271 * (i.e. non-production) builds.
3274 /* enum: Only this option is allowed for non-admin functions */
3276 /* Version of the driver to be reported by management protocols (e.g. NC-SI)
3277 * handled by the NIC. This is a zero-terminated ASCII string.
3296 /* enum: Labels the lowest-numbered function visible to the OS */
3315 /* enum: If set, indicates that TX only spreading is enabled. Even-numbered
3316 * TXQs will use one engine, and odd-numbered TXQs will use the other. This
3317 * also has the effect that only even-numbered RXQs will receive traffic.
3340 * Generic per-port reset. There is no equivalent for per-board reset. Locks
3341 * required: None; Return code: 0, ETIME. NOTE: This command is deprecated -
3358 * Generic per-resource reset. There is no equivalent for per-board reset.
3488 #define MC_CMD_PUTS_IN_STRING_NUM(len) (((len)-12)/1)
3729 /* enum: Timed-out. */
3756 /* enum: Intra-pair short. */
3758 /* enum: Inter-pair short. */
3817 /* enum: RAM test - walk ones. */
3819 /* enum: RAM test - walk zeros. */
3821 /* enum: RAM test - walking inversions zeros/ones. */
3823 /* enum: RAM test - walking inversions checkerboard. */
3825 /* enum: Register test - set / clear individual bits. */
3886 #define MC_CMD_FLUSH_RX_QUEUES_IN_QID_OFST_NUM(len) (((len)-0)/4)
3920 /* enum: GMAC. */
3950 /* enum: PMA-PMD. */
3952 /* enum: Cross-Port. */
3954 /* enum: XGMII-Wireside. */
3970 /* enum: PMA lanes MAC-Serdes. */
3976 /* enum: PMA lanes MAC-Serdes Wireside. */
4036 /* enum: GMAC. */
4066 /* enum: PMA-PMD. */
4068 /* enum: Cross-Port. */
4070 /* enum: XGMII-Wireside. */
4086 /* enum: PMA lanes MAC-Serdes. */
4092 /* enum: PMA lanes MAC-Serdes Wireside. */
4160 /* AN_TYPE structuredef: Auto-negotiation types defined in IEEE802.3 */
4166 /* enum: Clause 28 - BASE-T */
4168 /* enum: Clause 37 - BASE-X */
4170 /* enum: Clause 73 - BASE-R startup protocol for backplane and copper cable
4171 * assemblies. Includes Clause 72/Clause 92 link-training.
4184 /* enum: Clause 74 BASE-R FEC (a.k.a Firecode) */
4186 /* enum: Clause 91/Clause 108 Reed-Solomon FEC */
4207 /* Near-side advertised capabilities. Refer to
4212 /* Link-partner advertised capabilities. Refer to
4218 * reads non-zero.
4275 /* Near-side advertised capabilities. Refer to
4280 /* Link-partner advertised capabilities. Refer to
4286 * reads non-zero.
4341 * e.g. plugged-in module). In general, subset of
4344 * to SUPPORTED_CAP for non-pluggable PMDs. Refer to
4349 /* Auto-negotiation type used on the link */
4405 /* Near-side advertised capabilities. Refer to
4441 /* Near-side advertised capabilities. Refer to
4517 /* The MTU is the MTU programmed directly into the XMAC/GMAC (inclusive of
4558 /* The MTU is the MTU programmed directly into the XMAC/GMAC (inclusive of
4638 * statistics are dmad to that (page-aligned location). Locks required: None.
4664 /* enum: PMA-PMD Link Up. */
4666 /* enum: PMA-PMD RX Fault. */
4668 /* enum: PMA-PMD TX Fault. */
4670 /* enum: PMA-PMD Signal */
4672 /* enum: PMA-PMD SNR A. */
4674 /* enum: PMA-PMD SNR B. */
4676 /* enum: PMA-PMD SNR C. */
4678 /* enum: PMA-PMD SNR D. */
4700 /* enum: AN link-up. */
4706 /* enum: Clause 22 Link-Up. */
4715 * by the MC as it switches between the GMAC and XMAC. The MC will write out
4719 * DMA_ADDR != 0, then the statistics are dmad to that (page-aligned location).
4876 /* enum: RXDP counter: Number of non-host packets. Valid for EF10 with
4908 /* enum: Start of GMAC stats buffer space, for Siena only. */
4910 /* enum: End of GMAC stats buffer space, for Siena only. */
4917 * 64-bit word of the DMA buffer (at DMA_LEN - sizeof(uint64_t)). Note that
4919 * the last 64-bit word in the buffer when DMA_LEN == MC_CMD_MAC_NSTATS *
4920 * sizeof(uint64_t). See SF-109306-TC, Section 9.2 for details.
4937 /* enum: Number of uncorrected FEC codewords on link (RS-FEC only for Medford2)
4940 /* enum: Number of corrected FEC codewords on link (RS-FEC only for Medford2)
4943 /* enum: Number of corrected 10-bit symbol errors, lane 0 (RS-FEC only) */
4945 /* enum: Number of corrected 10-bit symbol errors, lane 1 (RS-FEC only) */
4947 /* enum: Number of corrected 10-bit symbol errors, lane 2 (RS-FEC only) */
4949 /* enum: Number of corrected 10-bit symbol errors, lane 3 (RS-FEC only) */
5001 * or not 32-bit aligned
5147 #define MC_CMD_MEMCPY_IN_RECORD_NUM(len) (((len)-0)/32)
5565 * from. This allows it to perform a read-modify-write-verify with the write
5581 /* enum: Read from the non-current (i.e. to be updated) partition of an A/B
5591 #define MC_CMD_NVRAM_READ_OUT_READ_BUFFER_NUM(len) (((len)-0)/1)
5615 #define MC_CMD_NVRAM_WRITE_IN_WRITE_BUFFER_NUM(len) (((len)-12)/1)
5727 * per-partition nvram lock in firmware is only released after the verification
5733 * the field are marked with a prefix 'Internal-error'.
5737 /* enum: Invalid return code; only non-zero values are defined. Defined as
5749 /* enum: Error in message digest calculated over the reflash-header, payload
5750 * and reflash-trailer.
5767 /* enum: The image contains a test-signed certificate, but the adapter accepts
5773 /* enum: Internal-error. The signed image is missing the 'contents' section,
5777 /* enum: Internal-error. The bundle header is invalid. */
5779 /* enum: Internal-error. The bundle does not have a valid reflash image layout.
5782 /* enum: Internal-error. The bundle has an inconsistent layout of components or
5786 /* enum: Internal-error. The bundle manifest is inconsistent with components in
5790 /* enum: Internal-error. The number of components in a bundle do not match the
5794 /* enum: Internal-error. The bundle contains too many components for the MC
5798 /* enum: Internal-error. The bundle manifest has an invalid/inconsistent
5802 /* enum: Internal-error. The hash of a component does not match the hash stored
5806 /* enum: Internal-error. Component hash calculation failed. */
5808 /* enum: Internal-error. The component does not have a valid reflash image
5816 /* enum: The update operation is in-progress. */
5872 #define MC_CMD_SCHEDINFO_OUT_DATA_NUM(len) (((len)-0)/4)
5896 /* enum: Power-on Reset. */
5984 #define MC_CMD_SENSOR_INFO_OUT_MC_CMD_SENSOR_ENTRY_NUM(len) (((len)-4)/8)
6079 /* enum: Port 0 PHY power switch over-current: bool */
6081 /* enum: Port 1 PHY power switch over-current: bool */
6083 /* enum: Mop-up microcontroller reference voltage: mV */
6193 #define MC_CMD_SENSOR_INFO_EXT_OUT_MC_CMD_SENSOR_ENTRY_NUM(len) (((len)-4)/8)
6362 * 802.1Qbb control. 8 Tx queues that map to priorities 0 - 7. Use all 1s to
6396 * Add a protocol offload to NIC for lights-out state. Locks required: None.
6409 #define MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_DATA_NUM(len) (((len)-4)/4)
6448 * Remove a protocol offload from NIC for lights-out state. Locks required:
6482 * Deliberately trigger an assert-detonation in the firmware for testing
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
6548 * - before adding code that queries this workaround, remember that there's
6563 /* 0 = disable the workaround indicated by TYPE; any non-zero value = enable
6585 * Read media-specific data from PHY (e.g. SFP/SFP+ module ID information for
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.
6607 #define MC_CMD_GET_PHY_MEDIA_INFO_OUT_DATA_NUM(len) (((len)-4)/1)
6657 /* 0-6 low->high de-emph. */
6660 /* 0-8 low->high ref.V */
6663 /* 0-8 0-8 low->high boost */
6666 /* 0-8 low->high ref.V */
6692 * Adjusts the sensor limits. This is a warranty-voiding operation. Returns:
6707 /* interpretation is is sensor-specific. */
6710 /* interpretation is is sensor-specific. */
6713 /* interpretation is is sensor-specific. */
6716 /* interpretation is is sensor-specific. */
6762 #define MC_CMD_NVRAM_PARTITIONS_OUT_TYPE_ID_NUM(len) (((len)-4)/4)
6795 #define MC_CMD_NVRAM_METADATA_OUT_DESCRIPTION_NUM(len) (((len)-20)/1)
6825 /* Zero-terminated string describing the content of this partition */
6863 * Perform a CLP related operation, see SF-110495-PS for details of CLP
6865 * different manufacturers which are to be found in SF-119187-TC, SF-119186-TC,
6866 * SF-120509-TC and SF-117282-PS.
6905 * restores the permanent (factory-programmed) MAC address associated with the
6906 * port. A non-zero MAC address persists until a PCIe reset or a power cycle.
6922 * restores the permanent (factory-programmed) MAC address associated with the
6923 * port. A non-zero MAC address persists until a PCIe reset or a power cycle.
7057 /* enum: Hittite HMC1035 clock generator for NIC-side on Sorrento board */
7059 /* 32-bit address to read from */
7071 #define MC_CMD_MUM_IN_WRITE_BUFFER_NUM(len) (((len)-12)/4)
7080 /* 32-bit address to write to */
7095 #define MC_CMD_MUM_IN_RAW_CMD_WRITE_DATA_NUM(len) (((len)-16)/1)
7164 /* The first 32-bit word to be written to the GPIO OUT register. */
7167 /* The second 32-bit word to be written to the GPIO OUT register. */
7184 /* The first 32-bit word to be written to the GPIO OUT ENABLE register. */
7187 /* The second 32-bit word to be written to the GPIO OUT ENABLE register. */
7271 /* Bit-mask of clocks to be programmed */
7414 #define MC_CMD_MUM_OUT_RAW_CMD_DATA_NUM(len) (((len)-0)/1)
7427 #define MC_CMD_MUM_OUT_READ_BUFFER_NUM(len) (((len)-0)/4)
7445 /* The first 32-bit word read from the GPIO IN register. */
7448 /* The second 32-bit word read from the GPIO IN register. */
7457 /* The first 32-bit word read from the GPIO OUT register. */
7460 /* The second 32-bit word read from the GPIO OUT register. */
7493 #define MC_CMD_MUM_OUT_READ_SENSORS_DATA_NUM(len) (((len)-0)/4)
7548 #define MC_CMD_MUM_OUT_QSFP_GET_MEDIA_INFO_DATA_NUM(len) (((len)-4)/1)
7575 #define MC_CMD_MUM_OUT_READ_DDR_INFO_SODIMM_INFO_RECORD_NUM(len) (((len)-8)/8)
7618 /* enum: Values 5-15 are reserved for future usage */
7695 /* A human-readable name for the sensor (zero terminated string, max 32 bytes)
7765 * MC_CMD_READ_SENSORS command. On multi-MC systems this may include sensors
7801 #define MC_CMD_DYNAMIC_SENSORS_LIST_OUT_HANDLES_NUM(len) (((len)-8)/4)
7843 #define MC_CMD_DYNAMIC_SENSORS_GET_DESCRIPTIONS_IN_HANDLES_NUM(len) (((len)-0)/4)
7856 #define MC_CMD_DYNAMIC_SENSORS_GET_DESCRIPTIONS_OUT_SENSORS_NUM(len) (((len)-0)/64)
7892 #define MC_CMD_DYNAMIC_SENSORS_GET_READINGS_IN_HANDLES_NUM(len) (((len)-0)/4)
7905 #define MC_CMD_DYNAMIC_SENSORS_GET_READINGS_OUT_VALUES_NUM(len) (((len)-0)/12)
7929 #define MC_CMD_EVENT_CTRL_IN_EVENT_TYPE_NUM(len) (((len)-0)/4)
7996 /* the raw 64-bit address field from the SMC, not adjusted for page size */
8028 /* enum: Non-volatile log output partition */
8030 /* enum: Non-volatile log output of second core on dual-core device */
8048 /* enum: Non-volatile log output partition for FC */
8056 /* enum: MUM Non-volatile log output partition. */
8101 * platforms. See SF-119124-PS. The STATIC_CONFIG partition may contain a
8111 /* enum: Bundle update non-volatile log output partition */
8342 /* The RSS mode for a particular packet type is a value from 0 - 15 which can
8396 /* Same order as MIPS GDB (r0-r31, sr, lo, hi, bad, cause, 32 x float, fsr,
8419 #define MC_CMD_INIT_EVQ_IN_DMA_ADDR_NUM(len) (((len)-36)/8)
8432 /* The reload value is ignored in one-shot modes */
8467 /* enum: Hold-off */
8492 /* 64-bit address of 4k of 4k-aligned host memory buffer */
8512 #define MC_CMD_INIT_EVQ_V2_IN_DMA_ADDR_NUM(len) (((len)-36)/8)
8525 /* The reload value is ignored in one-shot modes */
8558 * over-ridden by firmware based on licenses and firmware variant in order to
8564 * over-ridden by firmware based on licenses and firmware variant in order to
8569 /* enum: MEDFORD only. Certain initialisation flags may be over-ridden by
8585 /* enum: Hold-off */
8610 /* 64-bit address of 4k of 4k-aligned host memory buffer */
8678 #define MC_CMD_INIT_RXQ_IN_DMA_ADDR_NUM(len) (((len)-28)/8)
8724 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
8727 /* 64-bit address of 4k of 4k-aligned host memory buffer */
8792 * multiple fixed-size packet buffers within each bucket. For a full
8793 * description see SF-119419-TC. This mode is only supported by "dpdk" datapath
8822 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
8825 /* 64-bit address of 4k of 4k-aligned host memory buffer */
8889 * multiple fixed-size packet buffers within each bucket. For a full
8890 * description see SF-119419-TC. This mode is only supported by "dpdk" datapath
8919 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
8922 /* 64-bit address of 4k of 4k-aligned host memory buffer */
9015 * multiple fixed-size packet buffers within each bucket. For a full
9016 * description see SF-119419-TC. This mode is only supported by "dpdk" datapath
9045 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
9048 /* 64-bit address of 4k of 4k-aligned host memory buffer */
9088 * to zero if using this message on non-QDMA based platforms. Currently in
9154 * multiple fixed-size packet buffers within each bucket. For a full
9155 * description see SF-119419-TC. This mode is only supported by "dpdk" datapath
9184 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
9187 /* 64-bit address of 4k of 4k-aligned host memory buffer */
9227 * to zero if using this message on non-QDMA based platforms. Currently in
9275 #define MC_CMD_INIT_TXQ_IN_DMA_ADDR_NUM(len) (((len)-28)/8)
9325 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
9328 /* 64-bit address of 4k of 4k-aligned host memory buffer */
9405 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
9408 /* 64-bit address of 4k of 4k-aligned host memory buffer */
9506 /* Bits 0 - 63 of event */
9563 #define MC_CMD_PROGRAM_BUFTBL_ENTRIES_IN_ENTRY_NUM(len) (((len)-12)/8)
9616 /* enum: single-recipient filter insert */
9618 /* enum: single-recipient filter remove */
9620 /* enum: multi-recipient filter subscribe */
9622 /* enum: multi-recipient filter unsubscribe */
9624 /* enum: replace one recipient with another (warning - the filter handle may
9633 /* The port ID associated with the v-adaptor which should contain this filter.
9789 /* The port ID associated with the v-adaptor which should contain this filter.
10067 /* The port ID associated with the v-adaptor which should contain this filter.
10329 * in the DPDK Firmware Driver Interface (SF-119419-TC). Requesting anything
10395 * Get information related to the parser-dispatcher subsystem
10413 /* enum: read properties relating to security rules (Medford-only; for use by
10414 * SolarSecure apps, not directly by drivers. See SF-114946-SW.)
10432 #define MC_CMD_GET_PARSER_DISP_INFO_OUT_SUPPORTED_MATCHES_NUM(len) (((len)-8)/4)
10474 #define MC_CMD_GET_PARSER_DISP_VNIC_ENCAP_MATCHES_OUT_SUPPORTED_MATCHES_NUM(len) (((len)-8)/4)
10549 /* MC_CMD_ALLOC_VIS_OUT msgresponse: Huntington-compatible VI_ALLOC request.
11027 /* enum: reserved value - do not use (may indicate alternative interpretation
11038 /* enum: RX PD firmware with approximately Siena-compatible behaviour
11060 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
11078 /* enum: reserved value - do not use (may indicate alternative interpretation
11089 /* enum: TX PD firmware with approximately Siena-compatible behaviour
11108 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
11280 /* enum: reserved value - do not use (may indicate alternative interpretation
11291 /* enum: RX PD firmware with approximately Siena-compatible behaviour
11313 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
11331 /* enum: reserved value - do not use (may indicate alternative interpretation
11342 /* enum: TX PD firmware with approximately Siena-compatible behaviour
11361 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
11690 /* enum: reserved value - do not use (may indicate alternative interpretation
11701 /* enum: RX PD firmware with approximately Siena-compatible behaviour
11723 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
11741 /* enum: reserved value - do not use (may indicate alternative interpretation
11752 /* enum: TX PD firmware with approximately Siena-compatible behaviour
11771 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
11945 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
11959 * (SF-115995-SW) in the present configuration of firmware and port mode.
11964 * (SF-115995-SW) in the present configuration of firmware and port mode.
12125 /* enum: reserved value - do not use (may indicate alternative interpretation
12136 /* enum: RX PD firmware with approximately Siena-compatible behaviour
12158 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
12176 /* enum: reserved value - do not use (may indicate alternative interpretation
12187 /* enum: TX PD firmware with approximately Siena-compatible behaviour
12206 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
12380 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
12394 * (SF-115995-SW) in the present configuration of firmware and port mode.
12399 * (SF-115995-SW) in the present configuration of firmware and port mode.
12405 * hold at least this many 64-bit stats values, if they wish to receive all
12568 /* enum: reserved value - do not use (may indicate alternative interpretation
12579 /* enum: RX PD firmware with approximately Siena-compatible behaviour
12601 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
12619 /* enum: reserved value - do not use (may indicate alternative interpretation
12630 /* enum: TX PD firmware with approximately Siena-compatible behaviour
12649 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
12823 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
12837 * (SF-115995-SW) in the present configuration of firmware and port mode.
12842 * (SF-115995-SW) in the present configuration of firmware and port mode.
12848 * hold at least this many 64-bit stats values, if they wish to receive all
12855 * will only be non-zero if MC_CMD_GET_CAPABILITIES/FILTER_ACTION_MARK is set.
13016 /* enum: reserved value - do not use (may indicate alternative interpretation
13027 /* enum: RX PD firmware with approximately Siena-compatible behaviour
13049 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
13067 /* enum: reserved value - do not use (may indicate alternative interpretation
13078 /* enum: TX PD firmware with approximately Siena-compatible behaviour
13097 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
13271 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
13285 * (SF-115995-SW) in the present configuration of firmware and port mode.
13290 * (SF-115995-SW) in the present configuration of firmware and port mode.
13296 * hold at least this many 64-bit stats values, if they wish to receive all
13303 * will only be non-zero if MC_CMD_GET_CAPABILITIES/FILTER_ACTION_MARK is set.
13475 /* enum: reserved value - do not use (may indicate alternative interpretation
13486 /* enum: RX PD firmware with approximately Siena-compatible behaviour
13508 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
13526 /* enum: reserved value - do not use (may indicate alternative interpretation
13537 /* enum: TX PD firmware with approximately Siena-compatible behaviour
13556 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
13730 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
13744 * (SF-115995-SW) in the present configuration of firmware and port mode.
13749 * (SF-115995-SW) in the present configuration of firmware and port mode.
13755 * hold at least this many 64-bit stats values, if they wish to receive all
13762 * will only be non-zero if MC_CMD_GET_CAPABILITIES/FILTER_ACTION_MARK is set.
13961 /* enum: reserved value - do not use (may indicate alternative interpretation
13972 /* enum: RX PD firmware with approximately Siena-compatible behaviour
13994 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
14012 /* enum: reserved value - do not use (may indicate alternative interpretation
14023 /* enum: TX PD firmware with approximately Siena-compatible behaviour
14042 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
14216 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
14230 * (SF-115995-SW) in the present configuration of firmware and port mode.
14235 * (SF-115995-SW) in the present configuration of firmware and port mode.
14241 * hold at least this many 64-bit stats values, if they wish to receive all
14248 * will only be non-zero if MC_CMD_GET_CAPABILITIES/FILTER_ACTION_MARK is set.
14290 /* These bits are reserved for communicating test-specific capabilities to
14291 * host-side test software. All production drivers should treat this field as
14455 /* enum: reserved value - do not use (may indicate alternative interpretation
14466 /* enum: RX PD firmware with approximately Siena-compatible behaviour
14488 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
14506 /* enum: reserved value - do not use (may indicate alternative interpretation
14517 /* enum: TX PD firmware with approximately Siena-compatible behaviour
14536 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
14710 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
14724 * (SF-115995-SW) in the present configuration of firmware and port mode.
14729 * (SF-115995-SW) in the present configuration of firmware and port mode.
14735 * hold at least this many 64-bit stats values, if they wish to receive all
14742 * will only be non-zero if MC_CMD_GET_CAPABILITIES/FILTER_ACTION_MARK is set.
14784 /* These bits are reserved for communicating test-specific capabilities to
14785 * host-side test software. All production drivers should treat this field as
14810 /* The maximum number of queues that can be used by an RSS context in even-
14811 * spreading mode. In even-spreading mode the context has no indirection table
14903 * allocate and initialise a v-switch.
14912 /* The port to connect to the v-switch's upstream port. */
14915 /* The type of v-switch to create. */
14928 /* Flags controlling v-port creation */
14934 /* The number of VLAN tags to allow for attached v-ports. For VLAN aggregators,
14935 * this must be one or greated, and the attached v-ports must have exactly this
14936 * number of tags. For other v-switch types, this must be zero of greater, and
14937 * is an upper limit on the number of VLAN tags for attached v-ports. An error
14939 * v-ports with this number of tags.
14950 * de-allocate a v-switch.
14959 /* The port to which the v-switch is connected. */
14969 * read some config of v-switch. For now this command is an empty placeholder.
14970 * It may be used to check if a v-switch is connected to a given EVB port (if
14980 /* The port to which the v-switch is connected. */
14990 * allocate a v-port.
14999 /* The port to which the v-switch is connected. */
15002 /* The type of the new v-port. */
15011 /* enum: A normal v-port receives packets which match a specified MAC and/or
15015 /* enum: An expansion v-port packets traffic which don't match any other
15016 * v-port.
15019 /* enum: An test v-port receives packets which match any filters installed by
15023 /* Flags controlling v-port creation */
15034 * v-switch.
15050 /* The handle of the new v-port */
15057 * de-allocate a v-port.
15066 /* The handle of the v-port */
15076 * allocate a v-adaptor.
15085 /* The port to connect to the v-adaptor's port. */
15088 /* Flags controlling v-adaptor creation */
15112 /* The MAC address to assign to this v-adaptor */
15124 * de-allocate a v-adaptor.
15133 /* The port to which the v-adaptor is connected. */
15143 * assign a new MAC address to a v-adaptor.
15152 /* The port to which the v-adaptor is connected. */
15155 /* The new MAC address to assign to this v-adaptor */
15165 * read the MAC address assigned to a v-adaptor.
15174 /* The port to which the v-adaptor is connected. */
15180 /* The MAC address assigned to this v-adaptor */
15187 * read some config of v-adaptor.
15196 /* The port to which the v-adaptor is connected. */
15205 /* The v-adaptor flags as defined at MC_CMD_VADAPTOR_ALLOC. */
15260 /* Write enable bits 0-3, set to write, clear to read. */
15343 * queues, but the key and indirection table are pre-configured and may not be
15356 * the indirection table will be in the range 0 to NUM_QUEUES-1. For even-
15378 * queues, but the key and indirection table are pre-configured and may not be
15391 * the indirection table will be in the range 0 to NUM_QUEUES-1. For even-
15454 /* The 40-byte Toeplitz hash key (TBD endianness issues?) */
15479 /* The 40-byte Toeplitz hash key (TBD endianness issues?) */
15500 /* The 128-byte indirection table (1 byte per entry) */
15527 /* The 128-byte indirection table (1 byte per entry) */
15534 * Write a portion of a selectable-size indirection table for an RSS context.
15548 #define MC_CMD_RSS_CONTEXT_WRITE_TABLE_IN_ENTRIES_NUM(len) (((len)-4)/4)
15552 /* An array of index-value pairs to be written to the table. Structure is
15580 * Read a portion of a selectable-size indirection table for an RSS context.
15594 #define MC_CMD_RSS_CONTEXT_READ_TABLE_IN_INDICES_NUM(len) (((len)-4)/2)
15610 #define MC_CMD_RSS_CONTEXT_READ_TABLE_OUT_DATA_NUM(len) (((len)-0)/2)
15635 * in this case, the MODE fields may be set to non-zero values, and will take
15704 * capability), the _EN bits report the state. If any _MODE bits are non-zero
15707 * guaranteed to be consistent with the _EN flags for a freshly-allocated RSS
15754 * Add a MAC address to a v-port
15763 /* The handle of the v-port */
15776 * Delete a MAC address from a v-port
15785 /* The handle of the v-port */
15798 * Delete a MAC address from a v-port
15807 /* The handle of the v-port */
15816 #define MC_CMD_VPORT_GET_MAC_ADDRESSES_OUT_MACADDR_NUM(len) (((len)-4)/6)
15830 * Replace VLAN tags and/or MAC addresses of an existing v-port. If the v-port
15831 * has already been passed to another function (v-port's user), then that
15841 /* The handle of the v-port */
15855 * v-switch.
15887 * read some config of v-port.
15896 /* The handle of the v-port */
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.
16042 * Read data programmed into the device One-Time-Programmable (OTP) Fuses
16063 #define MC_CMD_READ_FUSES_OUT_DATA_NUM(len) (((len)-4)/1)
16078 * - not used for V3 licensing
16090 /* enum: re-read and apply licenses after a license key partition update; note
16091 * that this operation returns a zero-length response
16122 /* licensing subsystem self-test report (for manftest) */
16125 /* enum: licensing subsystem self-test failed */
16127 /* enum: licensing subsystem self-test passed */
16134 * - V3 licensing (Medford)
16146 /* enum: re-read and apply licenses after a license key partition update; note
16147 * that this operation returns a zero-length response
16176 /* licensing subsystem self-test report (for manftest) */
16179 /* enum: licensing subsystem self-test failed */
16181 /* enum: licensing subsystem self-test passed */
16204 * partition - V3 licensing (Medford)
16219 #define MC_CMD_LICENSING_GET_ID_V3_OUT_LICENSE_ID_NUM(len) (((len)-8)/1)
16317 /* states of these features - bit set for licensed, clear for not licensed */
16326 * Perform an action for an individual licensed application - not used for V3
16339 #define MC_CMD_LICENSED_APP_OP_IN_ARGS_NUM(len) (((len)-8)/4)
16362 #define MC_CMD_LICENSED_APP_OP_OUT_RESULT_NUM(len) (((len)-0)/4)
16409 * Perform validation for an individual licensed application - V3 licensing
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
16454 /* MAC address of v-adaptor associated with the client. If no such v-adapator
16463 * Mask features - V3 licensing (Medford)
16493 * SF-116124-SW for an overview of how this could be used. The license is
16561 * Change configuration related to the parser-dispatcher subsystem.
16573 #define MC_CMD_SET_PARSER_DISP_CONFIG_IN_VALUE_NUM(len) (((len)-8)/4)
16577 /* enum: Per-TXQ enable for multicast UDP destination lookup for possible
16581 /* enum: Per-v-adaptor enable for suppression of self-transmissions on the
16606 * Read configuration related to the parser-dispatcher subsystem.
16631 #define MC_CMD_GET_PARSER_DISP_CONFIG_OUT_VALUE_NUM(len) (((len)-0)/4)
16749 * - before adding code that queries this workaround, remember that there's
16819 * administrator-level operations that are not allowed from the local host once
16821 * SF-117064-DG for background).
16929 * only effects non-admin functions unless the admin privilege itself is
16997 * parser-dispatcher will attempt to parse traffic on these ports as tunnel
17012 #define MC_CMD_SET_TUNNEL_ENCAP_UDP_PORTS_IN_ENTRIES_NUM(len) (((len)-4)/4)
17043 …- on TX the send descriptor explicitly specifies encapsulation. These rules are per-VNIC, i.e. onl…
17055 /* Any non-zero bits other than the ones named below or an unsupported
17140 * defined in SF-120734-TC with more information in SF-122717-TC.
17147 /* enum: Function has an EF100-style function control window and VI windows
17159 /* enum: Function is a Xilinx acceleration device - management function */
17161 /* enum: Function is a Xilinx acceleration device - user function */