Lines Matching +full:aac +full:- +full:mode

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright 2008-2013 Solarflare Communications Inc. All rights reserved.
32 /* Power-on reset state */
46 /* We have entered the main firmware via recovery mode. This
54 /* The 'doorbell' addresses are hard-wired to alert the MC when written */
57 /* The rest of these are firmware-defined */
65 /* Values to be written to the per-port status dword in shared
94 * | | \--- Response
95 * | \------- Error
96 * \------------------------------ Resync (always set)
152 * - To advance a shared memory request if XFLAGS_EVREQ was set
153 * - As a notification (link state, i2c event), controlled
165 * - LEVEL==INFO Command succeeded
166 * - LEVEL==ERR Command failed
177 * non-existent MCDI command MC_CMD_DEBUG_LOG.
182 * Since the event is written in big-endian byte order, this works
183 * providing bits 56-63 of the event are 0xc0.
195 /* Non-existent command target */
217 /* Read-only */
221 /* Non-recursive resource is already acquired */
242 /* V-adaptor not found. */
246 /* V-switch not found. */
252 /* Invalid VLAN mode. */
254 /* Invalid v-switch type. */
256 /* Invalid v-port type. */
278 * This error code is followed by a 32-bit handle that
291 * an operation failed due to lack of SR-IOV privilege.
300 * May also returned for other operations such as sub-variant switching. */
340 #define SIENA_MC_BOOTROM_COPYCODE_VEC (0x800 - 3 * 0x4)
341 #define HUNT_MC_BOOTROM_COPYCODE_VEC (0x8000 - 3 * 0x4)
342 #define MEDFORD_MC_BOOTROM_COPYCODE_VEC (0x10000 - 3 * 0x4)
343 /* Points to the recovery mode entry point. Misnamed but kept for compatibility. */
344 #define SIENA_MC_BOOTROM_NOFLASH_VEC (0x800 - 2 * 0x4)
345 #define HUNT_MC_BOOTROM_NOFLASH_VEC (0x8000 - 2 * 0x4)
346 #define MEDFORD_MC_BOOTROM_NOFLASH_VEC (0x10000 - 2 * 0x4)
347 /* Points to the recovery mode entry point. Same as above, but the right name. */
348 #define SIENA_MC_BOOTROM_RECOVERY_VEC (0x800 - 2 * 0x4)
349 #define HUNT_MC_BOOTROM_RECOVERY_VEC (0x8000 - 2 * 0x4)
350 #define MEDFORD_MC_BOOTROM_RECOVERY_VEC (0x10000 - 2 * 0x4)
352 /* Points to noflash mode entry point. */
353 #define MEDFORD_MC_BOOTROM_REAL_NOFLASH_VEC (0x10000 - 4 * 0x4)
381 /* This may be ORed with an EVB_PORT_ID_xxx constant to pass a non-default
382 * stack ID (which must be in the range 1-255) along with an EVB port ID.
389 * may be followed by the (0-based) number of the first argument that
493 /* enum: AOE failed to load - no valid image? */
501 /* enum: Generic AOE fault - likely to have been reported via other means too
531 /* enum: FPGA boot-flash contains an invalid image header */
590 /* enum: MUM failed to load - no valid image? */
674 /* enum: The MC has entered offline BIST mode */
771 /* For CODE_PTP_TIME events, bits 19-26 of the minor value of the PTP clock */
789 /* For CODE_PTP_TIME events where report sync status is enabled, bits 21-26 of
808 * should resend it. A non-zero value means that the authorization has been
864 /* enum: Port id config to map MC-FC port idx */
918 * such that bits 32-63 containing | event code, level, source etc remain the
1042 * Read multiple 32byte words from MC memory. Note - this command really
1092 * Copy MC code between two locations and jump. Note - this command really
1150 * Select function for function-specific commands.
1218 /* enum: A system-level assertion has failed. */
1220 /* enum: A thread-level assertion has failed. */
1406 /* enum: Get the clock attributes. NOTE- extended version of
1440 /* PTP timestamping mode. Not used from Huntington onwards. */
1445 /* enum: PTP, version 1, with VLAN headers - deprecated */
1449 /* enum: PTP, version 2, with VLAN headers - deprecated */
1834 /* 1 to enable PPS test mode, 0 to disable and return result. */
1844 /* NIC - Host System Clock Synchronization status */
2065 * be assumed. Note this enum is deprecated. Do not add to it- use the
2074 /* enum: Major register has units of seconds, minor 2^-27s per tick */
2090 /* enum: Major register has units of seconds, minor 2^-27s per tick */
2151 /* Uncorrected error on non-PTP transmit timestamps in NIC clock format */
2154 /* Uncorrected error on non-PTP receive timestamps in NIC clock format */
2238 /* HP OCSD sub-command. When address is not NULL, request activation of OCSD at
2246 /* enum: OCSD (Option Card Sensor Data) sub-command. */
2248 /* enum: Last known valid HP sub-command. */
2250 /* The address to the array of sensor fields. (Or NULL to use a sub-command.)
2256 /* The requested update interval, in seconds. (Or the sub-command if ADDR is
2321 /* enum: By default all the MCDI MDIO operations perform clause45 mode. If you
2368 /* enum: By default all the MCDI MDIO operations perform clause45 mode. If you
2436 * Read a 32-bit register from the indirect port register map. The port to
2458 * Write a 32-bit register to the indirect port register map. The port to
2480 * Read a 128-bit register from the indirect port register map. The port to
2502 * Write a 128-bit register to the indirect port register map. The port to
2527 /* Turbo mode (for Maranello). */
2530 /* Turbo mode active (for Maranello). */
2536 /* AOE mode. */
2539 /* AOE mode active. */
2542 /* AOE mode active. */
2608 /* Siena only. This field contains a 16-bit value for each of the types of
2621 * Read DBI register(s) -- extended functionality
2669 * Set the 16byte seed for the MC pseudo-random generator.
2698 /* variable number of LTSSM values, as bytes. The history is read-to-clear. */
2745 /* enum: Prefer to use firmware for SolarCapture packed stream mode */
2759 /* enum: Prefer to use "l3xudp" custom datapath firmware (see SF-119495-PD and
2766 * (i.e. non-production) builds.
2769 /* enum: Only this option is allowed for non-admin functions */
2786 /* enum: Labels the lowest-numbered function visible to the OS */
2821 * Generic per-port reset. There is no equivalent for per-board reset. Locks
2822 * required: None; Return code: 0, ETIME. NOTE: This command is deprecated -
2838 * Generic per-resource reset. There is no equivalent for per-board reset.
3169 /* enum: Timed-out. */
3196 /* enum: Intra-pair short. */
3198 /* enum: Inter-pair short. */
3257 /* enum: RAM test - walk ones. */
3259 /* enum: RAM test - walk zeros. */
3261 /* enum: RAM test - walking inversions zeros/ones. */
3263 /* enum: RAM test - walking inversions checkerboard. */
3265 /* enum: Register test - set / clear individual bits. */
3385 /* enum: PMA-PMD. */
3387 /* enum: Cross-Port. */
3389 /* enum: XGMII-Wireside. */
3405 /* enum: PMA lanes MAC-Serdes. */
3411 /* enum: PMA lanes MAC-Serdes Wireside. */
3501 /* enum: PMA-PMD. */
3503 /* enum: Cross-Port. */
3505 /* enum: XGMII-Wireside. */
3521 /* enum: PMA lanes MAC-Serdes. */
3527 /* enum: PMA lanes MAC-Serdes Wireside. */
3595 /* AN_TYPE structuredef: Auto-negotiation types defined in IEEE802.3 */
3601 /* enum: Clause 28 - BASE-T */
3603 /* enum: Clause 37 - BASE-X */
3605 /* enum: Clause 73 - BASE-R startup protocol for backplane and copper cable
3606 * assemblies. Includes Clause 72/Clause 92 link-training.
3619 /* enum: Clause 74 BASE-R FEC (a.k.a Firecode) */
3621 /* enum: Clause 91/Clause 108 Reed-Solomon FEC */
3641 /* Near-side advertised capabilities. Refer to
3646 /* Link-partner advertised capabilities. Refer to
3652 * reads non-zero.
3693 /* Near-side advertised capabilities. Refer to
3698 /* Link-partner advertised capabilities. Refer to
3704 * reads non-zero.
3743 * e.g. plugged-in module). In general, subset of
3746 * to SUPPORTED_CAP for non-pluggable PMDs. Refer to
3751 /* Auto-negotiation type used on the link */
3794 /* Near-side advertised capabilities. Refer to
3808 /* Loopback mode. */
3963 * statistics are dmad to that (page-aligned location). Locks required: None.
3989 /* enum: PMA-PMD Link Up. */
3991 /* enum: PMA-PMD RX Fault. */
3993 /* enum: PMA-PMD TX Fault. */
3995 /* enum: PMA-PMD Signal */
3997 /* enum: PMA-PMD SNR A. */
3999 /* enum: PMA-PMD SNR B. */
4001 /* enum: PMA-PMD SNR C. */
4003 /* enum: PMA-PMD SNR D. */
4025 /* enum: AN link-up. */
4031 /* enum: Clause 22 Link-Up. */
4043 * DMA_ADDR != 0, then the statistics are dmad to that (page-aligned location).
4193 /* enum: RXDP counter: Number of non-host packets. Valid for EF10 with
4234 * 64-bit word of the DMA buffer (at DMA_LEN - sizeof(uint64_t)). Note that
4236 * the last 64-bit word in the buffer when DMA_LEN == MC_CMD_MAC_NSTATS *
4237 * sizeof(uint64_t). See SF-109306-TC, Section 9.2 for details.
4254 /* enum: Number of uncorrected FEC codewords on link (RS-FEC only for Medford2)
4257 /* enum: Number of corrected FEC codewords on link (RS-FEC only for Medford2)
4260 /* enum: Number of corrected 10-bit symbol errors, lane 0 (RS-FEC only) */
4262 /* enum: Number of corrected 10-bit symbol errors, lane 1 (RS-FEC only) */
4264 /* enum: Number of corrected 10-bit symbol errors, lane 2 (RS-FEC only) */
4266 /* enum: Number of corrected 10-bit symbol errors, lane 3 (RS-FEC only) */
4318 * or not 32-bit aligned
4852 * from. This allows it to perform a read-modify-write-verify with the write
4854 * contents using MODE=TARGET_CURRENT, overwriting the old partition and then
4855 * verifying by reading with MODE=TARGET_BACKUP.
4859 /* enum: Same as omitting MODE: caller sees data in current partition unless it
4868 /* enum: Read from the non-current (i.e. to be updated) partition of an A/B
4998 * per-partition nvram lock in firmware is only released after the verification
5005 /* enum: Invalid return code; only non-zero values are defined. Defined as
5017 /* enum: Error in message digest calculated over the reflash-header, payload
5018 * and reflash-trailer.
5035 /* enum: The image contains a test-signed certificate, but the adapter accepts
5099 * Set the mode for the next MC reboot. Locks required: NONE. Sets the reboot
5100 * mode to the specified value. Returns the old mode.
5113 /* enum: Power-on Reset. */
5275 /* enum: Port 0 PHY power switch over-current: bool */
5277 /* enum: Port 1 PHY power switch over-current: bool */
5279 /* enum: Mop-up microcontroller reference voltage: mV */
5505 * 802.1Qbb control. 8 Tx queues that map to priorities 0 - 7. Use all 1s to
5537 * Add a protocol offload to NIC for lights-out state. Locks required: None.
5585 * Remove a protocol offload from NIC for lights-out state. Locks required:
5617 * Deliberately trigger an assert-detonation in the firmware for testing
5658 * understand the given workaround number - which should not be treated as a
5660 * workaround, that's between the driver and the mcfw on a per-workaround
5682 * - before adding code that queries this workaround, remember that there's
5697 /* 0 = disable the workaround indicated by TYPE; any non-zero value = enable
5717 * Read media-specific data from PHY (e.g. SFP/SFP+ module ID information for
5720 * output data, are interpreted on a per-type basis. For SFP+: PAGE=0 or 1
5721 * returns a 128-byte block read from module I2C address 0xA0 offset 0 or 0x80.
5784 /* 0-6 low->high de-emph. */
5787 /* 0-8 low->high ref.V */
5790 /* 0-8 0-8 low->high boost */
5793 /* 0-8 low->high ref.V */
5818 * Adjusts the sensor limits. This is a warranty-voiding operation. Returns:
5833 /* interpretation is sensor-specific. */
5836 /* interpretation is sensor-specific. */
5839 /* interpretation is sensor-specific. */
5842 /* interpretation is sensor-specific. */
5940 /* Zero-terminated string describing the content of this partition */
5993 /* enum: Set UEFI/GPXE boot mode */
5995 /* enum: Get UEFI/GPXE boot mode */
6132 /* enum: Hittite HMC1035 clock generator for NIC-side on Sorrento board */
6134 /* 32-bit address to read from */
6153 /* 32-bit address to write to */
6232 /* The first 32-bit word to be written to the GPIO OUT register. */
6235 /* The second 32-bit word to be written to the GPIO OUT register. */
6252 /* The first 32-bit word to be written to the GPIO OUT ENABLE register. */
6255 /* The second 32-bit word to be written to the GPIO OUT ENABLE register. */
6332 /* Bit-mask of clocks to be programmed */
6496 /* The first 32-bit word read from the GPIO IN register. */
6499 /* The second 32-bit word read from the GPIO IN register. */
6508 /* The first 32-bit word read from the GPIO OUT register. */
6511 /* The second 32-bit word read from the GPIO OUT register. */
6649 /* enum: Values 5-15 are reserved for future usage */
6724 /* the raw 64-bit address field from the SMC, not adjusted for page size */
6756 /* enum: Non-volatile log output partition */
6758 /* enum: Non-volatile log output of second core on dual-core device */
6776 /* enum: Non-volatile log output partition for FC */
6784 /* enum: MUM Non-volatile log output partition. */
6829 * platforms. See SF-119124-PS. The STATIC_CONFIG partition may contain a
7024 /* The RSS mode for a particular packet type is a value from 0 - 15 which can
7109 /* Same order as MIPS GDB (r0-r31, sr, lo, hi, bad, cause, 32 x float, fsr,
7138 /* The initial timer value. The load value is ignored if the timer mode is DIS.
7142 /* The reload value is ignored in one-shot modes */
7170 /* enum: Hold-off */
7172 /* Target EVQ for wakeups if in wakeup mode. */
7175 /* Target interrupt if in interrupting mode (note union with target EVQ). Use
7181 /* Event Counter Mode. */
7195 /* 64-bit address of 4k of 4k-aligned host memory buffer */
7221 /* The initial timer value. The load value is ignored if the timer mode is DIS.
7225 /* The reload value is ignored in one-shot modes */
7250 * over-ridden by firmware based on licenses and firmware variant in order to
7256 * over-ridden by firmware based on licenses and firmware variant in order to
7261 /* enum: MEDFORD only. Certain initialisation flags may be over-ridden by
7274 /* enum: Hold-off */
7276 /* Target EVQ for wakeups if in wakeup mode. */
7279 /* Target interrupt if in interrupting mode (note union with target EVQ). Use
7285 /* Event Counter Mode. */
7299 /* 64-bit address of 4k of 4k-aligned host memory buffer */
7394 /* Owner ID to use if in buffer mode (zero if physical) */
7397 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
7400 /* 64-bit address of 4k of 4k-aligned host memory buffer */
7408 /* MC_CMD_INIT_RXQ_EXT_IN msgrequest: Extended RXQ_INIT with additional mode
7455 * to maximise packet rate. This mode uses 1 "bucket" per descriptor with
7456 * multiple fixed-size packet buffers within each bucket. For a full
7457 * description see SF-119419-TC. This mode is only supported by "dpdk" datapath
7476 /* Owner ID to use if in buffer mode (zero if physical) */
7479 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
7482 /* 64-bit address of 4k of 4k-aligned host memory buffer */
7537 * to maximise packet rate. This mode uses 1 "bucket" per descriptor with
7538 * multiple fixed-size packet buffers within each bucket. For a full
7539 * description see SF-119419-TC. This mode is only supported by "dpdk" datapath
7558 /* Owner ID to use if in buffer mode (zero if physical) */
7561 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
7564 /* 64-bit address of 4k of 4k-aligned host memory buffer */
7661 /* Owner ID to use if in buffer mode (zero if physical) */
7664 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
7667 /* 64-bit address of 4k of 4k-aligned host memory buffer */
7675 /* MC_CMD_INIT_TXQ_EXT_IN msgrequest: Extended INIT_TXQ with additional mode
7722 /* Owner ID to use if in buffer mode (zero if physical) */
7725 /* The port ID associated with the v-adaptor which should contain this DMAQ. */
7728 /* 64-bit address of 4k of 4k-aligned host memory buffer */
7735 /* Flags related to Qbb flow control mode. */
7819 /* Bits 0 - 63 of event */
8130 /* enum: single-recipient filter insert */
8132 /* enum: single-recipient filter remove */
8134 /* enum: multi-recipient filter subscribe */
8136 /* enum: multi-recipient filter unsubscribe */
8138 /* enum: replace one recipient with another (warning - the filter handle may
8147 /* The port ID associated with the v-adaptor which should contain this filter.
8198 /* receive mode */
8287 /* The port ID associated with the v-adaptor which should contain this filter.
8366 /* receive mode */
8531 /* The port ID associated with the v-adaptor which should contain this filter.
8610 /* receive mode */
8759 * in the DPDK Firmware Driver Interface (SF-119419-TC). Requesting anything
8824 * Get information related to the parser-dispatcher subsystem
8842 /* enum: read properties relating to security rules (Medford-only; for use by
8843 * SolarSecure apps, not directly by drivers. See SF-114946-SW.)
8887 * (Medford-only; for use by SolarSecure apps, not directly by drivers. See
8888 * SF-114946-SW.) NOTE - this message definition is provisional. It has not yet
8903 /* enum: implements lookup sequences described in SF-114946-SW draft C */
8929 * Direct read/write of parser-dispatcher state (DICPUs and LUE) for debugging.
8973 /* enum: Read-modify-write a word of DICPU DMEM (not valid for LUE). Not
8988 /* XOR value (for DMEM read-modify-writes: new = (old & mask) ^ value) */
8991 /* AND mask (for DMEM read-modify-writes: new = (old & mask) ^ value) */
9009 /* up to 8 32-bit words of additional soft state from the LUE manager (the
9010 * exact content is firmware-dependent and intended only for debug use)
9108 /* MC_CMD_ALLOC_VIS_OUT msgresponse: Huntington-compatible VI_ALLOC request.
9599 * 2) PHASE_IMEMS for each of the IMEM targets (target IDs 0-11). Each download
9601 * be a checksum (a simple 32-bit sum) of the transferred data. An individual
9604 * 3) PHASE_VECTORS for each of the vector table targets (target IDs 12-15),
9845 /* enum: reserved value - do not use (may indicate alternative interpretation
9853 /* enum: RX PD firmware with approximately Siena-compatible behaviour
9875 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
9891 /* enum: reserved value - do not use (may indicate alternative interpretation
9899 /* enum: TX PD firmware with approximately Siena-compatible behaviour
9918 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
10059 /* enum: reserved value - do not use (may indicate alternative interpretation
10067 /* enum: RX PD firmware with approximately Siena-compatible behaviour
10089 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
10105 /* enum: reserved value - do not use (may indicate alternative interpretation
10113 /* enum: TX PD firmware with approximately Siena-compatible behaviour
10132 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
10382 /* enum: reserved value - do not use (may indicate alternative interpretation
10390 /* enum: RX PD firmware with approximately Siena-compatible behaviour
10412 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
10428 /* enum: reserved value - do not use (may indicate alternative interpretation
10436 /* enum: TX PD firmware with approximately Siena-compatible behaviour
10455 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
10581 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
10595 * (SF-115995-SW) in the present configuration of firmware and port mode.
10600 * (SF-115995-SW) in the present configuration of firmware and port mode.
10730 /* enum: reserved value - do not use (may indicate alternative interpretation
10738 /* enum: RX PD firmware with approximately Siena-compatible behaviour
10760 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
10776 /* enum: reserved value - do not use (may indicate alternative interpretation
10784 /* enum: TX PD firmware with approximately Siena-compatible behaviour
10803 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
10929 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
10943 * (SF-115995-SW) in the present configuration of firmware and port mode.
10948 * (SF-115995-SW) in the present configuration of firmware and port mode.
10954 * hold at least this many 64-bit stats values, if they wish to receive all
11086 /* enum: reserved value - do not use (may indicate alternative interpretation
11094 /* enum: RX PD firmware with approximately Siena-compatible behaviour
11116 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
11132 /* enum: reserved value - do not use (may indicate alternative interpretation
11140 /* enum: TX PD firmware with approximately Siena-compatible behaviour
11159 /* enum: Custom firmware variant (see SF-119495-PD and bug69716) */
11285 * discover the VI to address mapping. Cut-through PIO (CTPIO) is not available
11299 * (SF-115995-SW) in the present configuration of firmware and port mode.
11304 * (SF-115995-SW) in the present configuration of firmware and port mode.
11310 * hold at least this many 64-bit stats values, if they wish to receive all
11317 * will only be non-zero if MC_CMD_GET_CAPABILITIES/FILTER_ACTION_MARK is set.
11545 * allocate and initialise a v-switch.
11554 /* The port to connect to the v-switch's upstream port. */
11557 /* The type of v-switch to create. */
11570 /* Flags controlling v-port creation */
11575 /* The number of VLAN tags to allow for attached v-ports. For VLAN aggregators,
11576 * this must be one or greated, and the attached v-ports must have exactly this
11577 * number of tags. For other v-switch types, this must be zero of greater, and
11578 * is an upper limit on the number of VLAN tags for attached v-ports. An error
11580 * v-ports with this number of tags.
11590 * de-allocate a v-switch.
11599 /* The port to which the v-switch is connected. */
11608 * read some config of v-switch. For now this command is an empty placeholder.
11609 * It may be used to check if a v-switch is connected to a given EVB port (if
11619 /* The port to which the v-switch is connected. */
11628 * allocate a v-port.
11637 /* The port to which the v-switch is connected. */
11640 /* The type of the new v-port. */
11649 /* enum: A normal v-port receives packets which match a specified MAC and/or
11653 /* enum: An expansion v-port packets traffic which don't match any other
11654 * v-port.
11657 /* enum: An test v-port receives packets which match any filters installed by
11661 /* Flags controlling v-port creation */
11670 * v-switch.
11684 /* The handle of the new v-port */
11690 * de-allocate a v-port.
11699 /* The handle of the v-port */
11708 * allocate a v-adaptor.
11717 /* The port to connect to the v-adaptor's port. */
11720 /* Flags controlling v-adaptor creation */
11740 /* The MAC address to assign to this v-adaptor */
11751 * de-allocate a v-adaptor.
11760 /* The port to which the v-adaptor is connected. */
11769 * assign a new MAC address to a v-adaptor.
11778 /* The port to which the v-adaptor is connected. */
11781 /* The new MAC address to assign to this v-adaptor */
11790 * read the MAC address assigned to a v-adaptor.
11799 /* The port to which the v-adaptor is connected. */
11805 /* The MAC address assigned to this v-adaptor */
11811 * read some config of v-adaptor.
11820 /* The port to which the v-adaptor is connected. */
11829 /* The v-adaptor flags as defined at MC_CMD_VADAPTOR_ALLOC. */
11880 /* Write enable bits 0-3, set to write, clear to read. */
11960 * queues, but the key and indirection table are pre-configured and may not be
11961 * changed. For this mode, NUM_QUEUES must 2, 4, 8, 16, 32 or 64.
11964 /* Number of queues spanned by this context, in the range 1-64; valid offsets
11965 * in the indirection table will be in the range 0 to NUM_QUEUES-1.
12013 /* The 40-byte Toeplitz hash key (TBD endianness issues?) */
12037 /* The 40-byte Toeplitz hash key (TBD endianness issues?) */
12055 /* The 128-byte indirection table (1 byte per entry) */
12079 /* The 128-byte indirection table (1 byte per entry) */
12099 * in this case, the MODE fields may be set to non-zero values, and will take
12101 * structure for the meaning of the mode bits. Drivers must check the
12156 * capability), the _EN bits report the state. If any _MODE bits are non-zero
12159 * guaranteed to be consistent with the _EN flags for a freshly-allocated RSS
12164 * mode by looking only at the _MODE bits; the value returned by a GET can
12206 /* Number of queues spanned by this mapping, in the range 1-64; valid fixed
12207 * offsets in the mapping table will be in the range 0 to NUM_QUEUES-1, and
12256 /* Per-priority mappings (1 32-bit word per entry - an offset or RSS context
12282 /* Per-priority mappings (1 32-bit word per entry - an offset or RSS context
12340 * Add a MAC address to a v-port
12349 /* The handle of the v-port */
12361 * Delete a MAC address from a v-port
12370 /* The handle of the v-port */
12382 * Delete a MAC address from a v-port
12391 /* The handle of the v-port */
12410 * Replace VLAN tags and/or MAC addresses of an existing v-port. If the v-port
12411 * has already been passed to another function (v-port's user), then that
12421 /* The handle of the v-port */
12433 * v-switch.
12461 * read some config of v-port.
12470 /* The handle of the v-port */
12479 /* The number of VLAN tags that may be used on a v-adaptor connected to this
12603 /* Requested frequency in MHz for inter-core clock domain */
12606 /* enum: Leave the inter-core clock domain frequency unchanged */
12641 /* Resulting inter-core frequency in MHz */
12644 /* enum: The inter-core clock domain doesn't exist / isn't used */
12701 /* First 8 bits [39:32] of DATA are consumed by MC-DPCPU protocol and must be
12747 /* Register data to write. Only valid in write/write-read. */
12990 * Adjusts power supply parameters. This is a warranty-voiding operation.
13036 * Enters offline BIST mode. All queues are torn down, chip enters quiescent
13037 * mode, calling function gets exclusive MCDI ownership. The only way out is
13054 * should we wish to make this reliable; currently requests are fire-and-
13134 * Read data programmed into the device One-Time-Programmable (OTP) Fuses
13236 /* enum: Attenuation (0-15, Huntington) */
13238 /* enum: CTLE Boost (0-15, Huntington) */
13240 /* enum: Edge DFE Tap1 (Huntington - 0 - max negative, 64 - zero, 127 - max
13241 * positive, Medford - 0-31)
13244 /* enum: Edge DFE Tap2 (Huntington - 0 - max negative, 32 - zero, 63 - max
13245 * positive, Medford - 0-31)
13248 /* enum: Edge DFE Tap3 (Huntington - 0 - max negative, 32 - zero, 63 - max
13249 * positive, Medford - 0-16)
13252 /* enum: Edge DFE Tap4 (Huntington - 0 - max negative, 32 - zero, 63 - max
13253 * positive, Medford - 0-16)
13256 /* enum: Edge DFE Tap5 (Huntington - 0 - max negative, 32 - zero, 63 - max
13257 * positive, Medford - 0-16)
13260 /* enum: Edge DFE DLEV (0-128 for Medford) */
13262 /* enum: Variable Gain Amplifier (0-15, Medford) */
13264 /* enum: CTLE EQ Capacitor (0-15, Medford) */
13266 /* enum: CTLE EQ Resistor (0-7, Medford) */
13268 /* enum: CTLE gain (0-31, Medford2) */
13270 /* enum: CTLE pole (0-31, Medford2) */
13272 /* enum: CTLE peaking (0-31, Medford2) */
13274 /* enum: DFE Tap1 - even path (Medford2 - 6 bit signed (-29 - +29)) */
13276 /* enum: DFE Tap1 - odd path (Medford2 - 6 bit signed (-29 - +29)) */
13278 /* enum: DFE Tap2 (Medford2 - 6 bit signed (-20 - +20)) */
13280 /* enum: DFE Tap3 (Medford2 - 6 bit signed (-20 - +20)) */
13282 /* enum: DFE Tap4 (Medford2 - 6 bit signed (-20 - +20)) */
13284 /* enum: DFE Tap5 (Medford2 - 6 bit signed (-24 - +24)) */
13286 /* enum: DFE Tap6 (Medford2 - 6 bit signed (-24 - +24)) */
13288 /* enum: DFE Tap7 (Medford2 - 6 bit signed (-24 - +24)) */
13290 /* enum: DFE Tap8 (Medford2 - 6 bit signed (-24 - +24)) */
13292 /* enum: DFE Tap9 (Medford2 - 6 bit signed (-24 - +24)) */
13294 /* enum: DFE Tap10 (Medford2 - 6 bit signed (-24 - +24)) */
13296 /* enum: DFE Tap11 (Medford2 - 6 bit signed (-24 - +24)) */
13298 /* enum: DFE Tap12 (Medford2 - 6 bit signed (-24 - +24)) */
13300 /* enum: I/Q clk offset (Medford2 - 4 bit signed (-5 - +5))) */
13303 * (Medford2 - 6 bit signed (-29 - +29)))
13307 * (Medford2 - 6 bit signed (-29 - +29)))
13311 * (Medford2 - 6 bit signed (-29 - +29)))
13315 * (Medford2 - 6 bit signed (-29 - +29)))
13395 /* enum: De-Emphasis Tap1 Magnitude (0-7) (Huntington) */
13397 /* enum: De-Emphasis Tap1 Fine */
13399 /* enum: De-Emphasis Tap2 Magnitude (0-6) (Huntington) */
13401 /* enum: De-Emphasis Tap2 Fine (Huntington) */
13403 /* enum: Pre-Emphasis Magnitude (Huntington) */
13405 /* enum: Pre-Emphasis Fine (Huntington) */
13415 /* enum: Pre-shoot Tap (Medford, Medford2) */
13417 /* enum: De-emphasis Tap (Medford, Medford2) */
13486 /* Port-relative lane to scan eye on */
13578 /* C(-1) request */
13597 /* C(-1) status */
13614 /* C(-1) value */
13689 /* enum: Attenuation (0-15) */
13691 /* enum: CTLE Boost (0-15) */
13693 /* enum: DFE Tap1 (0 - max negative, 64 - zero, 127 - max positive) */
13695 /* enum: DFE Tap2 (0 - max negative, 32 - zero, 63 - max positive) */
13697 /* enum: DFE Tap3 (0 - max negative, 32 - zero, 63 - max positive) */
13699 /* enum: DFE Tap4 (0 - max negative, 32 - zero, 63 - max positive) */
13701 /* enum: DFE Tap5 (0 - max negative, 32 - zero, 63 - max positive) */
13796 /* enum: De-emphasis coefficient C(-1) (PIPE) */
13798 /* enum: De-emphasis coefficient C(0) (PIPE) */
13800 /* enum: De-emphasis coefficient C(+1) (PIPE) */
13852 * - not used for V3 licensing
13864 /* enum: re-read and apply licenses after a license key partition update; note
13865 * that this operation returns a zero-length response
13896 /* licensing subsystem self-test report (for manftest) */
13899 /* enum: licensing subsystem self-test failed */
13901 /* enum: licensing subsystem self-test passed */
13907 * - V3 licensing (Medford)
13919 /* enum: re-read and apply licenses after a license key partition update; note
13920 * that this operation returns a zero-length response
13949 /* licensing subsystem self-test report (for manftest) */
13952 /* enum: licensing subsystem self-test failed */
13954 /* enum: licensing subsystem self-test passed */
13976 * partition - V3 licensing (Medford)
14004 * Execute an arbitrary MCDI command on the slave MC of a dual-core device.
14005 * This will fail on a single-core system.
14099 /* states of these features - bit set for licensed, clear for not licensed */
14107 * Perform an action for an individual licensed application - not used for V3
14183 * Perform validation for an individual licensed application - V3 licensing
14205 * of two 384-bit integers, r and s, in big-endian order. The signature signs a
14206 * SHA-384 digest of a message constructed from the concatenation of the input
14228 /* MAC address of v-adaptor associated with the client. If no such v-adapator
14236 * Mask features - V3 licensing (Medford)
14265 * SF-116124-SW for an overview of how this could be used. The license is
14334 * configuration. A copy of all traffic delivered to the host (non-promiscuous
14335 * mode) or all traffic arriving at the port (promiscuous mode) may be
14352 /* receive queue handle (for RSS mode, this is the base queue) */
14355 /* receive mode */
14395 /* receiving queue handle (for RSS mode, this is the base queue) */
14398 /* receive mode */
14411 * Change configuration related to the parser-dispatcher subsystem.
14425 /* enum: Per-TXQ enable for multicast UDP destination lookup for possible
14429 /* enum: Per-v-adaptor enable for suppression of self-transmissions on the
14452 * Read configuration related to the parser-dispatcher subsystem.
14506 /* receive queue handle (for RSS mode, this is the base queue) */
14509 /* receive mode */
14547 /* receiving queue handle (for RSS mode, this is the base queue) */
14550 /* receive mode */
14611 /* The maximum number of MSI-X vectors the device can provide in total */
14614 /* the number of MSI-X vectors the device will allocate by default to each PF
14618 /* the number of MSI-X vectors the device will allocate by default to each VF
14622 /* the maximum number of MSI-X vectors the device can allocate to any one PF */
14625 /* the maximum number of MSI-X vectors the device can allocate to any one VF */
14646 /* Default (canonical) board mode */
14649 /* Current board mode */
14708 * - before adding code that queries this workaround, remember that there's
14775 * administrator-level operations that are not allowed from the local host once
14777 * SF-117064-DG for background).
14793 * Read/set link state mode of a VF
14802 /* The target function to have its link state mode read or set, must be a VF
14811 /* New link state mode to be set */
14902 * only effects non-admin functions unless the admin privilege itself is
15049 * made. Note that uncorrectable errors are unlikely, thanks to XPM self-repair
15096 * Blank-check XPM memory and report bad locations
15116 /* Total number of bad (non-blank) locations */
15129 * Blank-check and repair XPM memory
15238 * (Medford-only; for use by SolarSecure apps, not directly by drivers. See
15239 * SF-114946-SW.) NOTE - this message definition is provisional. It has not yet
15307 /* Physical port to match (as little-endian 32-bit value) */
15323 /* remote subnet ID to match (as little-endian 32-bit value); note that remote
15330 /* remote portrange ID to match (as little-endian 32-bit value); note that
15337 /* local portrange ID to match (as little-endian 32-bit value); note that local
15354 * rule (via MC_CMD_TSA_INFO_IN_PKT_SAMPLE messages); may be bitwise-ORed with
15370 * rule (via MC_CMD_TSA_INFO_IN_PKT_SAMPLE messages); may be bitwise-ORed with
15412 * all ports. (Medford-only; for use by SolarSecure apps, not directly by
15413 * drivers. See SF-114946-SW.) NOTE - this message definition is provisional.
15437 * (Medford-only; for use by SolarSecure apps, not directly by drivers. See
15438 * SF-114946-SW.) NOTE - this message definition is provisional. It has not yet
15462 * Allocate counters for use with blacklist / whitelist rules. (Medford-only;
15463 * for use by SolarSecure apps, not directly by drivers. See SF-114946-SW.)
15464 * NOTE - this message definition is provisional. It has not yet been used in
15496 * Allocate counters for use with blacklist / whitelist rules. (Medford-only;
15497 * for use by SolarSecure apps, not directly by drivers. See SF-114946-SW.)
15498 * NOTE - this message definition is provisional. It has not yet been used in
15527 * by the GET_SECURITY_RULE_INFO op of MC_CMD_GET_PARSER_DISP_INFO. (Medford-
15529 * SF-114946-SW.) NOTE - this message definition is provisional. It has not yet
15542 /* node to update in the range 0 .. SUBNET_MAP_NUM_NODES-1 */
15579 * (Medford-only; for use by SolarSecure apps, not directly by drivers. See
15580 * SF-114946-SW.) NOTE - this message definition is provisional. It has not yet
15609 * (Medford-only; for use by SolarSecure apps, not directly by drivers. See
15610 * SF-114946-SW.) NOTE - this message definition is provisional. It has not yet
15658 * parser-dispatcher will attempt to parse traffic on these ports as tunnel
15728 * TSAN - TSAC binding communication protocol. Refer to SF-115479-TC for more
15744 * Refer to SF-114946-SW for more information. This sub-command is only
15749 * as part of post-binding authentication procedure. More specifically, TSAN
15751 * to verify the signature. Note - The post-binding authentication occurs when
15752 * the TSAN-TSAC connection terminates and TSAN tries to reconnect. Refer to
15753 * SF-114946-SW for more information. This sub-command is only available over a
15757 /* enum: Request an insecure unbinding operation. This sub-command is available
15764 * TSAN persists the unbinding secret token. Refer to SF-115479-TC for more
15765 * information. This sub-command is only available over a TLS secure connection
15773 /* enum: Request a secure unbinding operation using unbinding token. This sub-
15777 /* enum: Request a secure decommissioning operation. This sub-command is
15795 * the nonce every time as part of the TSAN post-binding authentication
15796 * procedure when the TSAN-TSAC connection terminates and TSAN does need to re-
15797 * connect to the TSAC. Refer to SF-114946-SW for more information.
15816 * this key for a signing operation. Note- This private key is used in
15817 * conjunction with the post-binding TSAN authentication procedure that occurs
15818 * when the TSAN-TSAC connection terminates and TSAN tries to reconnect. Refer
15819 * to SF-114946-SW for more information.
15854 * length. Note- The TSAID is the Organizational Unit Name filed as part of the
15862 * MC_CMD_TSA_BIND_IN_SET_UNBINDTOKEN msgrequest. Refer to SF-115479-TC for
15867 /* This is the signature of the above mentioned fields- TSANID, TSAID and
15869 * ECDSA ECC-384 based signature. The ECC curve is secp384r1. The signature is
15870 * also ASN-1 encoded. Note- The signature is verified based on the public key
15872 * This key is known as the PUKtsaid. Refer to SF-115479-TC for more
15886 * SF-115479-TC for more information.
15904 /* This is the signature of the above mentioned fields- TSAID, USER and REASON.
15905 * As per current requirements, the SIG opaque data blob contains ECDSA ECC-384
15906 * based signature. The ECC curve is secp384r1. The signature is also ASN-1
15907 * encoded . Note- The signature is verified based on the public key stored
15909 * is known as the PUKtsaid. Refer to SF-115479-TC for more information.
15920 * length. Note- The TSAID is the Organizational Unit Name filed as part of the
15926 /* User ID that comes, as an example, from the Controller. Note- The 33 byte
15936 /* Reason of why decommissioning happens Note- The list of reasons, defined as
15953 /* enum: Adapter Authentication Certificate (AAC). The AAC is used by the
15958 * the controller to verify the validity of AAC.
15982 /* A NUL padded US-ASCII string identifying the TSA infrastructure domain. This
15983 * field is for information only, and not used by the firmware. Note- The TSAID
15992 * MC_CMD_TSA_BIND_IN_SET_UNBINDTOKEN msgrequest. Refer to SF-115479-TC for
16017 /* A NUL padded US-ASCII string identifying the TSA infrastructure domain. This
16018 * field is for information only, and not used by the firmware. Note- The TSAID
16025 /* A NUL padded US-ASCII string containing user name of the creator of the
16047 /* MC_CMD_TSA_BIND_IN_TEST_MCDI msgrequest: Test mode that emulates MCDI
16074 /* Rules engine type. Note- The rules engine type allows TSAC to further
16091 * formed by TSAN ID concatenated with the NONCE value. Refer to SF-115479-TC
16093 * sign the message based on TSAN pre/post-binding authentication procedure.
16111 * opaque construct. For more info refer to SF-115479-TC.
16266 * valid) is also supported. (Medford-only; for use by SolarSecure apps, not
16267 * directly by drivers. See SF-114946-SW.) NOTE - The only sub-operation
16269 * OP_GET_CACHED_VERSION. All other sub-operations are prohibited.
16385 * Update the timer load, timer reload and timer mode values for a given EVQ.
16399 /* Function-relative queue instance */
16408 /* Timer mode. Meanings as per EVQ_TMR_REG.TC_TIMER_VAL */
16494 * When we use the TX_vFIFO_ULL mode, we can allocate common pools using the
16522 #define MC_CMD_ALLOCATE_TX_VFIFO_CP_IN_USE_FUNCTION_VALUE -0x1
16527 /* MC_CMD_ALLOCATE_TX_VFIFO_CP_IN_USE_FUNCTION_VALUE -0x1 */
16545 * When we use the TX_vFIFO_ULL mode, we can allocate vFIFOs using the
16563 #define MC_CMD_ALLOCATE_TX_VFIFO_VFIFO_IN_USE_CP_VALUE -0x1
16584 #define MC_CMD_ALLOCATE_TX_VFIFO_VFIFO_IN_LOWEST_AVAILABLE -0x1
16598 * ready to be re-used.
16617 * it ready to be re-used.
16635 * This request causes the NIC to generate a new per-NIC key and program it
16636 * into the write-once memory. During the process all flash partitions that are
16637 * protected with a CMAC are verified with the old per-NIC key and then signed
16638 * with the new per-NIC key. If the NIC has already reached its rekey limit the
16688 * Change the security level of the adapter by setting bits in the write-once
16690 * hardware-defined or software-defined bits and sets these bits in the write-
16691 * once memory. For Medford the hardware-defined bits are defined in
16692 * SF-112079-PS 5.3, the software-defined bits are defined in xpm.h. Returns 0
16732 * SF-117371-SW
16748 /* enum: Information about a sampled packet that either - did not match any
16749 * black/white-list filters and was allowed by the default filter or - did not
16750 * match any black/white-list filters and was denied by the default filter
16764 * assignment for a port. Doxbox reference SF-117371.
16813 * black-list or white-list rules to allow or block packets as required.
16847 /* 128-byte raw prefix of the sampled packet which includes the ethernet
16851 * concerning rule-set updates.
16862 * Commands to appply or retrieve host-related information from an adapter.
16863 * Doxbox reference SF-117371-SW
16872 /* sub-operation code info */
16877 /* enum: Read a 16-byte unique host identifier from the adapter. This UUID
16881 * 16-byte value into each supported SF adapter plugged into it. Host UUIDs may
16882 * change if the system is power-cycled, however, they persist across adapter
16885 * - SF-117371-SW section 'Host UUID'.
16888 /* enum: Set a 16-byte unique host identifier on the adapter to identify the
16896 /* sub-operation code info */
16902 /* 16-byte host UUID read out of the adapter. See MC_CMD_HOST_INFO_OP_GET_UUID
16911 /* sub-operation code info */
16914 /* 16-byte host UUID set on the adapter. See MC_CMD_HOST_INFO_OP_GET_UUID for
16927 * some configuration parameters of each adapter. Doxbox reference SF-117371-SW
16937 /* sub-operation code info */
16943 * adapter. The parameters include - host identification, adapter
16950 /* sub-operation code info */
16965 /* 16-byte host UUID read out of the adapter. See MC_CMD_HOST_INFO_OP_GET_UUID
16989 /* 16-byte host UUID read out of the adapter. See MC_CMD_HOST_INFO_OP_GET_UUID
17001 /* Unused bytes, defined for 32-bit alignment of new fields. */
17028 /* TSA statistics sub-operation code */
17040 /* TSA statistics sub-operation code */
17063 /* TSA statistics sub-operation code */
17087 /* Counter IDs to be read/cleared. When mode is set to LIST, this entry holds a
17088 * list of counter IDs to be operated on. When mode is set to RANGE, this entry
17105 * 64-bit aligned offset
17134 * installing TSA binding certificates. See SF-117631-TC.
17159 /* TSA configuration sub-operation code */
17163 * encrypted unless they are declared as non-sensitive. Returns
17179 /* TSA configuration sub-operation code. The value shall be
17201 /* TSA configuration sub-operation code. The value shall be
17212 /* TSA configuration sub-operation code. The value shall be
17268 /* Header containing information to identify which sub-operation of this
17269 * command to perform. The header contains a 16-bit op-code. Unused space in
17294 /* Header containing information to identify which sub-operation of this
17295 * command to perform. The header contains a 16-bit op-code. Unused space in
17320 /* Header containing information to identify which sub-operation of this
17321 * command to perform. The header contains a 16-bit op-code. Unused space in
17355 /* sub-operation code info */
17367 /* sub-operation code, must be MC_CMD_SECURE_NIC_INFO_OP_STATUS */
17433 * A simple ping-pong command just to test the adapter<>controller MCDI
17454 * apply an allow-all or deny-all operation on all packets, thereby completely
17455 * ignoring the rule-set configured on the adapter. The main purpose of this
17457 * rule-set transitions.
17469 /* enum: No override in place - the existing ruleset is in operation. */
17472 * required for basic configuration of the TSA NIC such as ARPs and TSA-
17523 /* The SUC firmware version as four numbers - a.b.c.d */
17533 * indicates family, memory sizes etc. See SF-116728-SW for further details.
17582 * FRU_INFORMATION partition. Attempts to write to read-only FRUs are rejected.
17599 /* The serial number of the wearout adapter, see SF-112717-PR for format. */
17726 /* enum: Adapter Authentication Certificate (AAC). The AAC is unique to each
17733 * the validity of AAC along with the SF root certificate. It is installed by
17738 /* enum: Customer Adapter Authentication Certificate. The Customer AAC is
17740 * either the AAC is not installed or a customer desires to use their own
17747 * Customer AAC along with the customers root certificate. It is installed by
17822 /* enum: Request switching the datapath firmware sub-variant. Currently only
17826 * to switch back to the default sub-variant, and will thus reset this value.
17827 * If a sub-variant switch happens, all other PCI functions will get their
17834 /* enum: Only if KEY = FIRMWARE_SUBVARIANT. Default sub-variant with support