Lines Matching +full:ambient +full:- +full:celsius

1 /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
2 /* Copyright (c) 2015-2018 Mellanox Technologies. All rights reserved */
29 #define MLXSW_REG_LEN(type) MLXSW_REG(type)->len
30 #define MLXSW_REG_ZERO(type, payload) memset(payload, 0, MLXSW_REG(type)->len)
32 /* SGCR - Switch General Configuration Register
33 * --------------------------------------------
55 /* SPAD - Switch Physical Address Register
56 * ---------------------------------------
72 /* SMID - Switch Multicast ID
73 * --------------------------
90 * Multicast identifier - global identifier that represents the multicast group
118 /* SSPR - Switch System Port Record Register
119 * -----------------------------------------
128 * Master - if set, then the record describes the master system port.
158 * Currently, only single-ASIC configurations are supported, so we default to
173 /* SFDAT - Switch Filtering Database Aging Time
174 * --------------------------------------------
191 * Min - 10 seconds
192 * Max - 1,000,000 seconds
205 /* SFD - Switch Filtering Database
206 * -------------------------------
238 /* Add/modify. Aged-out records cannot be added. This command removes
244 * the learning notification and aged-out notifications
245 * of the {MAC, VID/FID}. The response provides current (pre-removal)
246 * entries as non-aged-out.
364 * Valid only if local port is a non-stacking port. Must be 0 if multichannel
373 * For SwitchX and SwitchX-2:
374 * - Dynamic entries (policy 2,3) use FID
375 * - Static entries (policy 0) use VID
376 * - When independent learning is configured, VID=FID
439 * For SwitchX and SwitchX-2:
440 * - Dynamic entries (policy 2,3) use FID
441 * - Static entries (policy 0) use VID
442 * - When independent learning is configured, VID=FID
458 * LAG Identifier - pointer into the LAG descriptor table.
492 * Multicast port group index - index into the port group table.
510 * Multicast identifier - global identifier that represents the multicast
584 /* SFN - Switch FDB Notification Register
585 * -------------------------------------------
611 * Request: Number of learned notifications and aged-out notification
640 /* Aged-out MAC address on a regular port. */
642 /* Aged-out MAC address on a LAG port. */
646 /* Aged-out unicast tunnel record. */
771 /* SPMS - Switch Port MSTP/RSTP State Register
772 * -------------------------------------------
795 * 0 - Do not change spanning tree state (used only when writing).
796 * 1 - Discarding. No learning or forwarding to/from this port (default).
797 * 2 - Learning. Port is learning, but not forwarding.
798 * 3 - Forwarding. Port is learning and forwarding.
815 /* SPVID - Switch Port VID
816 * -----------------------
850 /* SPVM - Switch Port VLAN Membership
851 * ----------------------------------
916 * Untagged - port is an untagged member - egress transmission uses untagged
936 int size = vid_end - vid_begin + 1; in mlxsw_reg_spvm_pack()
951 /* SPAFT - Switch Port Acceptable Frame Types
952 * ------------------------------------------
1004 /* SFGC - Switch Flooding Group Configuration
1005 * ------------------------------------------
1040 * Note: SwitchX-2 only supports 802.1Q mode.
1056 * Note: FID offset and FID types are not supported in SwitchX-2.
1099 /* SFTR - Switch Flooding Table Register
1100 * -------------------------------------
1169 /* SFDF - Switch Filtering DB Flush
1170 * --------------------------------
1198 * 0 - All SWID dynamic entries are flushed.
1199 * 1 - All FID dynamic entries are flushed.
1200 * 2 - All dynamic entries pointing to port are flushed.
1201 * 3 - All FID dynamic entries pointing to port are flushed.
1202 * 4 - All dynamic entries pointing to LAG are flushed.
1203 * 5 - All FID dynamic entries pointing to LAG are flushed.
1204 * 6 - All entries of type "Unicast Tunnel" or "Multicast Tunnel" are
1206 * 7 - All entries of type "Unicast Tunnel" or "Multicast Tunnel" are
1214 * 0 - Flush only dynamic entries.
1215 * 1 - Flush both dynamic and static entries.
1258 /* SLDR - Switch LAG Descriptor Register
1259 * -----------------------------------------
1262 * max_lag-1.
1270 /* Indicates a creation of a new LAG-ID, lag_id must be valid */
1308 * For Add / Remove operations - indicates the number of ports in the list.
1339 /* SLCR - Switch LAG Configuration 2 Register
1340 * -------------------------------------------
1386 /* SMAC - for IPv4 and IPv6 packets */
1388 /* SMAC - for non-IP packets */
1393 /* DMAC - for IPv4 and IPv6 packets */
1395 /* DMAC - for non-IP packets */
1400 /* Ethertype - for IPv4 and IPv6 packets */
1402 /* Ethertype - for non-IP packets */
1407 /* VLAN ID - for IPv4 and IPv6 packets */
1409 /* VLAN ID - for non-IP packets */
1426 /* SID - FCoE source ID */
1428 /* DID - FCoE destination ID */
1430 /* OXID - FCoE originator exchange ID */
1432 /* Destination QP number - for RoCE packets */
1459 /* SLCOR - Switch LAG Collector Register
1460 * -------------------------------------
1498 * Valid range is from 0 to cap_max_lag_members-1
1543 /* SPMLR - Switch Port MAC Learning Register
1544 * -----------------------------------------
1573 * 0 - Learning disabled.
1574 * 2 - Learning enabled.
1575 * 3 - Security mode.
1593 /* SVFA - Switch VID to FID Allocation Register
1594 * --------------------------------------------
1624 * 0 - VID to FID
1625 * 1 - {Port, VID} to FID
1628 * Note: Reserved for SwitchX-2.
1637 * Note: Reserved for SwitchX-2.
1657 * Note: Reserved for SwitchX-2.
1665 * Note: Reserved for SwitchX-2.
1683 /* SVPE - Switch Virtual-Port Enabling Register
1684 * --------------------------------------------
1702 * 0 - Disable, VLAN mode (VID to FID).
1703 * 1 - Enable, Virtual port mode ({Port, VID} to FID).
1716 /* SFMR - Switch FID Management Register
1717 * -------------------------------------
1732 * 0 - Create or edit FID.
1733 * 1 - Destroy FID.
1747 * the table is of type FID-Offset. Otherwise, this field is reserved.
1798 /* SPVMLR - Switch Port VLAN MAC Learning Register
1799 * -----------------------------------------------
1827 * 0 - Disable learning for {Port, VID}.
1828 * 1 - Enable learning for {Port, VID}.
1845 int num_rec = vid_end - vid_begin + 1; in mlxsw_reg_spvmlr_pack()
1860 /* CWTP - Congetion WRED ECN TClass Profile
1861 * ----------------------------------------
1927 #define MLXSW_REG_CWTP_PROFILE_TO_INDEX(profile) (profile - 1)
1940 /* CWTPM - Congestion WRED ECN TClass and Pool Mapping
1941 * ---------------------------------------------------
1964 * 0 - Disable
1965 * 1 - Enable
1972 * 0 - Disable
1973 * 1 - Enable
2003 * Non-TCP Green Profile.
2011 * Non-TCP Yellow Profile.
2019 * Non-TCP Red Profile.
2045 /* PGCR - Policy-Engine General Configuration Register
2046 * ---------------------------------------------------
2047 * This register configures general Policy-Engine settings.
2067 /* PPBT - Policy-Engine Port Binding Table
2068 * ---------------------------------------
2103 * group - When set, the binding is of an ACL group. When cleared,
2129 /* PACL - Policy-Engine ACL Register
2130 * ---------------------------------
2147 * Range 0 .. cap_max_acl_regions - 1
2171 /* PAGT - Policy-Engine ACL Group Table
2172 * ------------------------------------
2196 * An identifier (numbered from 0..cap_max_acl_groups-1) representing
2203 * Multi-ACL
2204 * 0 - This ACL is the last ACL in the multi-ACL
2205 * 1 - This ACL is part of a multi-ACL
2233 /* PTAR - Policy-Engine TCAM Allocation Register
2234 * ---------------------------------------------
2265 * For Spectrum and Spectrum-2, this is always type 2 - "flexible"
2272 MLXSW_REG_PTAR_KEY_TYPE_FLEX2 = 0x51, /* Spectrum-2 */
2285 * Allowed range 1 .. cap_max_rules-1
2293 * Range 0 .. cap_max_regions-1
2343 /* PPBS - Policy-Engine Policy Based Switching Register
2344 * ----------------------------------------------------
2373 /* PRCR - Policy-Engine Rules Copy Register
2374 * ----------------------------------------
2449 /* PEFA - Policy-Engine Extended Flexible Action Register
2450 * ------------------------------------------------------
2485 * Action-set to perform when rule is matched.
2507 /* PEMRBT - Policy-Engine Multicast Router Binding Table Register
2508 * --------------------------------------------------------------
2511 * This register is not supported by SwitchX/-2 and Spectrum.
2530 * Range 0..cap_max_acl_groups-1
2544 /* PTCE-V2 - Policy-Engine TCAM Entry Register Version 2
2545 * -----------------------------------------------------
2549 * by SwitchX and SwitchX-2.
2578 * for new entries - Note write with v = 0 will delete the entry.
2598 * Priority of the rule, higher values win. The range is 1..cap_kvd_size-1.
2601 * between regions in a multi-region).
2623 * mask- in the same size as key. A bit that is set directs the TCAM
2651 /* PERPT - Policy-Engine ERP Table Register
2652 * ----------------------------------------
2662 * Range 0 .. cap_max_erp_table_banks - 1
2669 * Range is 0 .. cap_max_erp_table_bank_size - 1
2687 * 0 - The eRP is used only if bloom filter state is set for the given
2689 * 1 - The eRP is used regardless of bloom filter state.
2703 * Range is 0 .. cap_max_erp_table_banks - 1
2710 * Range is 0 .. cap_max_erp_table_bank_size - 1
2729 * 0 - A-TCAM will ignore the bit in key
2730 * 1 - A-TCAM will compare the bit in key
2763 /* PERAR - Policy-Engine Region Association Register
2764 * -------------------------------------------------
2775 * Range 0 .. cap_max_regions-1
2788 * Range 0 .. cap_max_regions-1
2804 /* PTCE-V3 - Policy-Engine TCAM Entry Register Version 3
2805 * -----------------------------------------------------
2806 * This register is a new version of PTCE-V2 in order to support the
2807 * A-TCAM. This register is not supported by SwitchX/-2 and Spectrum.
2840 * For Spectrum-2 range is 1..cap_kvd_size - 1
2869 * num_key_blocks * 36 - 8. Reserved when delta_mask = 0.
2876 * 0 - Ignore relevant bit in delta_value
2877 * 1 - Compare relevant bit in delta_value
2895 * 0 - NEED: Do a lookup using the eRP.
2896 * 1 - PRUNE: Do not perform a lookup using the eRP.
2898 * Note: In Spectrum-2, a region of 8 key blocks must be set to either
2905 * Pruning on C-TCAM. Used for reducing lookups.
2906 * 0 - NEED: Do a lookup in the C-TCAM.
2907 * 1 - PRUNE: Do not perform a lookup in the C-TCAM.
2915 * 0 - SINGLE: The large_entry_key_id is not currently in use.
2918 * 1 - NON_SINGLE: The large_entry_key_id is currently in use.
2930 * Range is 0..cap_max_pe_large_key_id - 1
2937 * Range is 0..cap_max_kvd_action_sets - 1
2966 /* PERCR - Policy-Engine Region Configuration Register
2967 * ---------------------------------------------------
2978 * Range 0..cap_max_regions-1
2984 * Ignore prune_vector by other A-TCAM rules. Used e.g., for a new rule.
2990 * Ignore prune_ctcam by other A-TCAM rules. Used e.g., for a new rule.
2997 * 0 - Bloom filter is used (default)
2998 * 1 - Bloom filter is bypassed. The bypass is an OR condition of
3006 * (both A-TCAM and C-TCAM). When there are no eRPs
3021 /* PERERP - Policy-Engine Region eRP Register
3022 * ------------------------------------------
3033 * Range 0..cap_max_regions-1
3039 * C-TCAM lookup enable. Reserved when erpt_pointer_valid = 0.
3052 * Range 0..cap_max_erp_table_banks-1
3060 * Range 0..cap_max_erp_table_size-1
3107 /* PEABFE - Policy-Engine Algorithmic Bloom Filter Entries Register
3108 * ----------------------------------------------------------------
3130 * 0 - Clear
3131 * 1 - Set
3140 * Range 0..cap_max_erp_table_banks-1
3149 * Range 0..2^cap_max_bf_log-1
3173 /* IEDR - Infrastructure Entry Delete Register
3174 * ----------------------------------------------------
3234 /* QPTS - QoS Priority Trust State Register
3235 * ----------------------------------------
3272 /* QPCR - QoS Policer Configuration Register
3273 * -----------------------------------------
3274 * The QPCR register is used to create policers - that limit
3314 * 0 - packets
3315 * 1 - bytes
3327 * 1 - 10^3
3328 * 0 - 10^6
3438 /* QTCT - QoS Switch Traffic Class Table
3439 * -------------------------------------
3488 /* QEEC - QoS ETS Element Configuration Register
3489 * ---------------------------------------------
3513 * 0 - Port
3514 * 1 - Group
3515 * 2 - Subgroup
3516 * 3 - Traffic Class
3538 * 0 - Disable
3539 * 1 - Enable
3551 * Supported only on Spectrum-1
3563 * 0 - Bytes mode
3564 * 1 - Packets mode
3586 * 0 - Disable
3587 * 1 - Enable
3593 #define MLXSW_REG_QEEC_MAS_DIS ((1u << 31) - 1) /* Kbps */
3606 * 0 - Disable
3607 * 1 - Enable
3615 * 0 - Strict priority
3616 * 1 - DWRR
3634 * For Spectrum-1: Range is: 5..25
3635 * For Spectrum-2: Range is: 11..25
3666 /* QRWE - QoS ReWrite Enable
3667 * -------------------------
3704 /* QPDSM - QoS Priority to DSCP Mapping
3705 * ------------------------------------
3792 /* QPDP - QoS Port DSCP to Priority Mapping Register
3793 * -------------------------------------------------
3824 /* QPDPM - QoS Port DSCP to Priority Mapping Register
3825 * --------------------------------------------------
3875 /* QTCTM - QoS Switch Traffic Class Table is Multicast-Aware Register
3876 * ------------------------------------------------------------------
3911 /* QPSC - QoS PTP Shaper Configuration Register
3912 * --------------------------------------------
3914 * Supported only on Spectrum-1.
3935 * The base-time-interval for updating the shapers tokens (for all hierarchies).
3943 * The base-time-interval for updating the shapers tokens (for all hierarchies).
3973 * For non-split ports: range 1..112
4017 /* PMLP - Ports Module to Local Port Register
4018 * ------------------------------------------
4027 * 0 - Tx value is used for both Tx and Rx.
4028 * 1 - Rx value is taken from a separte field.
4040 * 0 - Unmap local port.
4041 * 1 - Lane 0 is used.
4042 * 2 - Lanes 0 and 1 are used.
4043 * 4 - Lanes 0, 1, 2 and 3 are used.
4044 * 8 - Lanes 0-7 are used.
4074 /* PMTU - Port MTU Register
4075 * ------------------------
4125 /* PTYS - Port Type and Speed Register
4126 * -----------------------------------
4139 * 0 - Device doesn't support AN disable.
4140 * 1 - Device supports AN disable.
4156 * 0 - Infiniband.
4157 * 1 - Fibre Channel.
4158 * 2 - Ethernet.
4387 /* PPAD - Port Physical Address Register
4388 * -------------------------------------
4399 * 1: single_mac - mac of the local_port
4411 * If single_base_mac = 0 - base MAC address, mac[7:0] is reserved.
4412 * If single_base_mac = 1 - the per port MAC address
4425 /* PAOS - Ports Administrative and Operational Status Register
4426 * -----------------------------------------------------------
4451 * 1 - Up.
4452 * 2 - Down.
4453 * 3 - Up once. This means that in case of link failure, the port won't go
4454 * into polling mode, but will wait to be re-enabled by software.
4455 * 4 - Disabled by system. Can only be set by hardware.
4462 * 1 - Up.
4463 * 2 - Down.
4464 * 3 - Down by port failure. This means that the device will not let the
4485 * 0 - Do not generate event.
4486 * 1 - Generate Event.
4487 * 2 - Generate Single Event.
4505 /* PFCC - Ports Flow Control Configuration Register
4506 * ------------------------------------------------
4522 * 0 - Local port number.
4523 * 1 - IB / label port number.
4530 * 0 - No capability of sending Pause and PFC frames to higher layers.
4531 * 1 - Device has capability of sending Pause and PFC frames to higher
4539 * 0 - Pause and PFC frames are handled by the port (default).
4540 * 1 - Pause and PFC frames are handled by the port and also sent to
4548 * 0 - Disabled. Generate / ignore Pause frames based on pptx / pprtx.
4549 * 1 - Enabled. When auto-negotiation is performed, set the Pause policy
4550 * based on the auto-negotiation resolution.
4553 * Note: The auto-negotiation advertisement is set according to pptx and
4574 * 0 - Never generate Pause frames (default).
4575 * 1 - Generate Pause frames according to Rx buffer threshold.
4582 * 0 - Never generate Pause frames.
4583 * 1 - Generate Pause frames according to Rx buffer threshold.
4589 * Priority based flow control policy on Tx[7:0]. Per-priority bit mask:
4590 * 0 - Never generate priority Pause frames on the specified priority
4592 * 1 - Generate priority Pause frames according to Rx buffer threshold on
4602 * 0 - Ignore received Pause frames (default).
4603 * 1 - Respect received Pause frames.
4610 * 0 - Ignore received Pause frames.
4611 * 1 - Respect received Pause frames.
4617 * Priority based flow control policy on Rx[7:0]. Per-priority bit mask:
4618 * 0 - Ignore incoming priority Pause frames on the specified priority
4620 * 1 - Respect incoming priority Pause frames on the specified priority.
4641 /* PPCNT - Ports Performance Counters Register
4642 * -------------------------------------------
4672 * 0 - Local port number
4673 * 1 - IB port number
4718 * Priority for counter set that support per priority, valid values: 0-7.
4720 * valid values: 0- cap_max_tclass-1 .
5147 /* PLIB - Port Local to InfiniBand Port
5148 * ------------------------------------
5168 /* PPTB - Port Prio To Buffer Register
5169 * -----------------------------------
5185 * 0 - Map both unicast and multicast packets to the same buffer.
5186 * 1 - Map only unicast packets.
5187 * 2 - Map only multicast packets.
5190 * Note: SwitchX-2 only supports the first option.
5231 * Note: In SwitchX-2 this field must be mapped to buffer 8. Reserved for
5261 /* PBMC - Port Buffer Management Control Register
5262 * ----------------------------------------------
5279 * timer (time for the peer port to pause in quota-512 bit time).
5286 * state. Using the same units as xoff_timer_value above (in quota-512 bit
5296 * 0 - Lossless
5297 * 1 - Lossy
5371 /* PSPA - Port Switch Partition Allocation
5372 * ---------------------------------------
5408 /* PMAOS - Ports Module Administrative and Operational Status
5409 * ----------------------------------------------------------
5466 /* PPLR - Port Physical Loopback Register
5467 * --------------------------------------
5502 /* PMPE - Port Module Plug/Unplug Event Register
5503 * ---------------------------------------------
5546 /* PDDR - Port Diagnostics Database Register
5547 * -----------------------------------------
5596 /* PMTM - Port Module Type Mapping Register
5597 * ----------------------------------------
5628 /* QSFP-DD */
5632 /* SFP-DD */
5659 /* HTGT - Host Trap Group Table
5660 * ----------------------------
5719 MLXSW_REG_HTGT_TRAP_GROUP_MAX = __MLXSW_REG_HTGT_TRAP_GROUP_MAX - 1
5753 * 0 - Trap to CPU.
5754 * 1 - Trap to CPU and mirror to a mirroring agent.
5755 * 2 - Mirror to a mirroring agent and do not trap to CPU.
5775 * Supported values are 0-7, with 7 represnting the highest priority.
5778 * Note: In SwitchX-2 this field is ignored and the priority value is replaced
5826 /* HPKT - Host Packet Trap
5827 * -----------------------
5863 * 0 - No action. Forward to CPU based on switching rules.
5864 * 1 - Trap to CPU (CPU receives sole copy).
5865 * 2 - Mirror to CPU (CPU receives a replica of the packet).
5866 * 3 - Discard.
5867 * 4 - Soft discard (allow other traps to act on the packet).
5868 * 5 - Trap and soft discard (allow other traps to overwrite this trap).
5869 * 6 - Trap to CPU (CPU receives sole copy) and count it as error.
5870 * 15 - Restore the firmware's default action.
5901 * Ignored by SwitchX-2.
5902 * 0 - Keep factory defaults.
5903 * 1 - Do not use control buffer for this trap ID.
5904 * 2 - Use control buffer for this trap ID.
5923 /* RGCR - Router General Configuration Register
5924 * --------------------------------------------
5953 * 0 - Preserve the value of Switch Priority and packet color.
5954 * 1 - Recalculate the value of Switch Priority and packet color.
5957 * Note: Not supported by SwitchX and SwitchX-2.
5963 * 0 - Preserve the value of pcp_rewrite_en.
5964 * 2 - Disable PCP rewrite.
5965 * 3 - Enable PCP rewrite.
5968 * Note: Not supported by SwitchX and SwitchX-2.
5974 * 0 - Activity will be set when an entry is hit (default).
5975 * 1 - Activity will not be set when an entry is hit.
5977 * Bit 0 - Disable activity bit in Router Algorithmic LPM Unicast Entry
5979 * Bit 1 - Disable activity bit in Router Algorithmic LPM Unicast Host
5984 * Note: Not supported by SwitchX, SwitchX-2 and Switch-IB.
5996 /* RITR - Router Interface Table Register
5997 * --------------------------------------
6042 /* Sub-port interface. */
6061 * 0 - Create or edit RIF.
6062 * 1 - Delete RIF.
6063 * Reserved for SwitchX-2. For Spectrum, editing of interface properties
6064 * is not supported. An interface must be deleted and re-created in order
6080 * Not supported in SwitchX-2.
6089 * Not supported in SwitchX-2.
6111 * Loop-back filter enable for unicast packets.
6112 * If the flag is set then loop-back filter for unicast packets is
6114 * loop-back filtering.
6146 * Note: Reserved for RIF types other than VLAN, FID and Sub-port.
6153 * Note: Reserved for RIF types other than VLAN, FID and Sub-port.
6185 /* Sub-port Interface */
6214 /* IPinIP generic - used for Spectrum-2 underlay RIF */
6250 * Range is 0..cap_max_virtual_routers-1.
6251 * Reserved for Spectrum-2.
6282 * - Error and Discard counters.
6283 * - Unicast, Multicast and Broadcast counters. Sharing the
6400 /* RTAR - Router TCAM Allocation Register
6401 * --------------------------------------
6451 /* RATR - Router Adjacency Table Register
6452 * --------------------------------------
6453 * The RATR register is used to configure the Router Adjacency (next-hop)
6523 * Reserved for SwitchX/-2.
6527 * Reserved for SwitchX/-2.
6540 * For SwitchX and SwitchX-2, the adjacency table is linear and
6548 * Range is 0 .. cap_max_router_interfaces - 1
6580 * Trap-ID is RTR_EGRESS0 or RTR_EGRESS1.
6587 * MAC address of the destination next-hop.
6682 /* RDPM - Router DSCP to Priority Mapping
6683 * --------------------------------------
6692 MLXSW_REG_RDPM_LEN - \
6702 -MLXSW_REG_RDPM_DSCP_ENTRY_REC_LEN, 0x00, false);
6709 -MLXSW_REG_RDPM_DSCP_ENTRY_REC_LEN, 0x00, false);
6718 /* RICNT - Router Interface Counter Register
6719 * -----------------------------------------
6737 * - Error and Discard counters.
6738 * - Unicast, Multicast and Broadcast counters. Sharing the
6812 * A count of non-errored frames that do not pass the router checks.
6826 * for non-errored frames that do not pass the router checks.
6841 /* RRCR - Router Rules Copy Register Layout
6842 * ----------------------------------------
6900 /* RALTA - Router Algorithmic LPM Tree Allocation Register
6901 * -------------------------------------------------------
6911 * 0 - allocate a tree
6912 * 1 - deallocate a tree
6930 * An identifier (numbered from 1..cap_shspm_max_trees-1) representing
6932 * Note that tree_id 0 is allocated for a default-route tree.
6947 /* RALST - Router Algorithmic LPM Structure Tree Register
6948 * ------------------------------------------------------
6964 * For a default-route tree configure 0xff
6970 * Tree identifier numbered from 1..(cap_shspm_max_trees-1).
6982 * Note that tree_id 0 is allocated for a default-route tree, bins are 0xff
6990 * Note that tree_id 0 is allocated for a default-route tree, bins are 0xff
7012 int bin_index = bin_number - 1; in mlxsw_reg_ralst_bin_pack()
7019 /* RALTB - Router Algorithmic LPM Tree Binding Register
7020 * ----------------------------------------------------
7030 * Range is 0..cap_max_virtual_routers-1
7043 * Tree identifier numbered from 1..(cap_shspm_max_trees-1).
7059 /* RALUE - Router Algorithmic LPM Unicast Entry Register
7060 * -----------------------------------------------------
7119 * Range is 0..cap_max_virtual_routers-1
7131 * This field is valid for update opcode, otherwise - reserved.
7164 * Note - for Marker entries, the action_type and action fields are reserved.
7189 * on a remote subnet connected through a next-hop router,
7220 * Points to the first entry of the group-based ECMP.
7229 * The valid range is 1-64, 512, 1024, 2048 and 4096.
7339 /* RAUHT - Router Algorithmic LPM Unicast Host Table Register
7340 * ----------------------------------------------------------
7432 * Trap-ID is RTR_EGRESS0 or RTR_EGRESS1.
7492 /* RALEU - Router Algorithmic LPM ECMP Update Register
7493 * ---------------------------------------------------
7511 * Range is 0..cap_max_virtual_routers-1
7556 /* RAUHTD - Router Algorithmic LPM Unicast Host Table Dump Register
7557 * ----------------------------------------------------------------
7581 * Bit0 - filter by activity: entry_a
7582 * Bit3 - filter by entry rip: entry_rif
7621 * 0 - IPv4
7622 * 1 - IPv6
7647 * 0 - 1 valid entry
7648 * 1 - 2 valid entries
7649 * 2 - 3 valid entries
7650 * 3 - 4 valid entries
7659 * 0 - IPv4
7660 * 1 - IPv6
7730 /* RTDP - Routing Tunnel Decap Properties Register
7731 * -----------------------------------------------
7760 * Valid range is from 0 to cap_max_router_interfaces - 1
7809 * - A packet received as IPinIP (without GRE) will always pass.
7810 * - A packet received as IPinGREinIP without a key will not pass the check.
7811 * - A packet received as IPinGREinIP with a key will pass the check only if the
7864 /* RIGR-V2 - Router Interface Group Register Version 2
7865 * ---------------------------------------------------
7903 * Range 0 .. max_mid - 1
7912 * Note that low-entries must be set if high-entries are set. For
7915 * Index can be from 0 to cap_mc_erif_list_entries-1
7922 * Valid range is from 0 to cap_max_router_interfaces - 1
7923 * Index can be from 0 to MLXSW_REG_RIGR2_MAX_ERIFS - 1
7946 /* RECR-V2 - Router ECMP Configuration Version 2 Register
7947 * ------------------------------------------------------
7955 * Per-port configuration
8077 /* RMFT-V2 - Router Multicast Forwarding Table Version 2 Register
8078 * --------------------------------------------------------------
8106 * entries - Note write with v (Valid) 0 will delete the entry.
8133 * Virtual Router ID. Range from 0..cap_max_virtual_routers-1
8187 * action-set pointed from here are as follows:
8248 /* MFCR - Management Fan Control Register
8249 * --------------------------------------
8308 /* MFSC - Management Fan Speed Control Register
8309 * --------------------------------------------
8338 /* MFSM - Management Fan Speed Measurement
8339 * ---------------------------------------
8366 /* MFSL - Management Fan Speed Limit Register
8367 * ------------------------------------------
8370 * defined for both under-speed and over-speed.
8414 /* FORE - Fan Out of Range Event Register
8415 * --------------------------------------
8443 /* MTCAP - Management Temperature Capabilities
8444 * -------------------------------------------
8460 /* MTMP - Management Temperature
8461 * -----------------------------
8464 * is in 0.125 degrees Celsius.
8475 * 64-127 of sensor_index are mapped to the SFP+/QSFP modules sequentially
8481 /* Convert to milli degrees Celsius */
8488 * Temperature reading from the sensor. Reading is in 0.125 Celsius
8495 * Max Temperature Enable - enables measuring the max temperature on a sensor.
8501 * Max Temperature Reset - clears the value of the max temperature register.
8515 * 0 - Do not generate event
8516 * 1 - Generate event
8517 * 2 - Generate single event
8529 #define MLXSW_REG_MTMP_THRESH_HI 0x348 /* 105 Celsius */
8532 * High threshold for Temperature Warning Event. In 0.125 Celsius.
8537 #define MLXSW_REG_MTMP_HYSTERESIS_TEMP 0x28 /* 5 Celsius */
8539 * Low threshold for Temperature Warning Event. In 0.125 Celsius.
8581 /* MTWE - Management Temperature Warning Event
8582 * -------------------------------------------
8598 /* MTBR - Management Temperature Bulk Register
8599 * -------------------------------------------
8613 * Base sensors index to access (0 - ASIC sensor, 1-63 - ambient sensors,
8614 * 64-127 are mapped to the SFP+/QSFP modules sequentially).
8637 * Temperature reading from the sensor. Reading is in 0..125 Celsius
8672 /* MCIA - Management Cable Info Access
8673 * -----------------------------------
8766 /* This is used to access the optional upper pages (1-3) in the QSFP+
8767 * memory map. Page 1 is available on offset 256 through 383, page 2 -
8768 * on offset 384 through 511, page 3 - on offset 512 through 639.
8770 #define MLXSW_REG_MCIA_PAGE_GET(off) (((off) - \
8787 /* MPAT - Monitoring Port Analyzer Table
8788 * -------------------------------------
8824 * 0: CONFIGURED - QoS parameters (Switch Priority, and encapsulation
8826 * 1: MAINTAIN - QoS parameters (Switch Priority, Color) are the
8879 /* Remote SPAN - Ethernet VLAN
8880 * - - - - - - - - - - - - - -
8889 /* Encapsulated Remote SPAN - Ethernet L2
8890 * - - - - - - - - - - - - - - - - - - -
8915 /* Encapsulated Remote SPAN - Ethernet L3
8916 * - - - - - - - - - - - - - - - - - - -
8931 * Encapsulation header Time-to-Live/HopLimit.
9011 /* MPAR - Monitoring Port Analyzer Register
9012 * ----------------------------------------
9062 /* MGIR - Management General Information Register
9063 * ----------------------------------------------
9116 /* MRSR - Management Reset and Shutdown Register
9117 * ---------------------------------------------
9128 * 0 - do nothing
9129 * 1 - software reset
9140 /* MLCR - Management LED Control Register
9141 * --------------------------------------
9159 * 0x0 - Will turn off the beacon.
9160 * 0xFFFF - Will turn on the beacon until explicitly turned off.
9181 /* MTPPS - Management Pulse Per Second Register
9182 * --------------------------------------------
9238 /* MTUTC - Management UTC Register
9239 * -------------------------------
9282 /* MCQI - Management Component Query Information
9283 * ---------------------------------------------
9365 /* MCC - Management Component Control
9366 * ----------------------------------
9447 /* MCDA - Management Component Data Access
9448 * ---------------------------------------
9498 /* MPSC - Monitoring Packet Sampling Configuration Register
9499 * --------------------------------------------------------
9538 /* MGPC - Monitoring General Purpose Counter Set Register
9593 /* MPRS - Monitoring Parsing State Register
9594 * ----------------------------------------
9596 * policy-engine and routing.
9606 * rules, traps, hash, etc. Default is 96 bytes. Reserved when SwitchX-2.
9613 * Bit 0 - Enable parsing of NVE of types VxLAN, VxLAN-GPE, GENEVE and
9614 * NVGRE. Default is enabled. Reserved when SwitchX-2.
9636 /* MOGCR - Monitoring Global Configuration Register
9637 * ------------------------------------------------
9648 * Reserved when IB switches and when SwitchX/-2, Spectrum-2
9657 * Reserved when IB switches and when SwitchX/-2, Spectrum-2
9665 * Reserved when SwitchX/-2, Switch-IB/2, Spectrum-1 and Quantum.
9670 /* MPAGR - Monitoring Port Analyzer Global Register
9671 * ------------------------------------------------
9673 * Note: This register is not supported by current FW versions for Spectrum-1.
9721 /* MOMTE - Monitoring Mirror Trigger Enable Register
9722 * -------------------------------------------------
9770 /* MTPPPC - Time Precision Packet Port Configuration
9771 * -------------------------------------------------
9775 * Reserved when Spectrum-2.
9807 /* MTPPTR - Time Precision Packet Timestamping Reading
9808 * ---------------------------------------------------
9814 * Reserved when Spectrum-2.
9884 * For Spectrum-1 the PLL clock is 156.25Mhz and PLL clock time is 6.4nSec.
9916 /* MTPTPT - Monitoring Precision Time Protocol Trap Register
9917 * ---------------------------------------------------------
9939 * non-sufficient condition since need to enable also per port. See MTPPPC.
9954 /* MFGD - Monitoring FW General Debug Register
9955 * -------------------------------------------
9963 * 0 - don't check FW fatal (default)
9964 * 1 - check FW fatal - enable MFDE trap
9974 /* MGPIR - Management General Peripheral Information Register
9975 * ----------------------------------------------------------
10033 /* MFDE - Monitoring FW Debug Register
10034 * -----------------------------------
10086 * EMAD - register id, MAD - attibute id
10111 /* TNGCR - Tunneling NVE General Configuration Register
10112 * ----------------------------------------------------
10170 /* Flow label is static. In Spectrum this means '0'. Spectrum-2
10208 * Spectrum uses LAG hash (SLCRv2). Spectrum-2 uses ECMP hash (RECRv2).
10245 * Reserved when Spectrum-2. See TNPC.
10252 * Reserved when Spectrum-2.
10295 /* TNUMT - Tunneling NVE Underlay Multicast Table Register
10296 * -------------------------------------------------------
10385 /* TNQCR - Tunneling NVE QoS Configuration Register
10386 * ------------------------------------------------
10397 * 0 - Copy the DSCP from the overlay (inner) IP header to the underlay
10399 * 1 - Set the DSCP field as TNQDR.dscp
10410 /* TNQDR - Tunneling NVE QoS Default Register
10411 * ------------------------------------------
10439 /* TNEEM - Tunneling NVE Encapsulation ECN Mapping Register
10440 * --------------------------------------------------------
10469 /* TNDEM - Tunneling NVE Decapsulation ECN Mapping Register
10470 * --------------------------------------------------------
10500 * 0 - No trap due to decap ECN
10501 * 1 - Trap enable with trap_id
10525 /* TNPC - Tunnel Port Configuration Register
10526 * -----------------------------------------
10570 /* TIGCR - Tunneling IPinIP General Configuration Register
10571 * -------------------------------------------------------
10600 /* TIEEM - Tunneling IPinIP Encapsulation ECN Mapping Register
10601 * -----------------------------------------------------------
10630 /* TIDEM - Tunneling IPinIP Decapsulation ECN Mapping Register
10631 * -----------------------------------------------------------
10661 * 0 - No trap due to decap ECN
10662 * 1 - Trap enable with trap_id
10686 /* SBPR - Shared Buffer Pools Register
10687 * -----------------------------------
10750 /* SBCM - Shared Buffer Class Management Register
10751 * ----------------------------------------------
10753 * and configuration according to Port-PG, including the binding to pool
10770 * PG buffer - Port PG (dir=ingress) / traffic class (dir=egress)
10771 * For PG buffer: range is 0..cap_max_pg_buffers - 1
10772 * For traffic class: range is 0..cap_max_tclass - 1
10802 * When the pool associated to the port-pg/tclass is configured to
10804 * When the pool associated to the port-pg/tclass is configured to
10808 * i: (1/128)*2^(i-1), for i=1..14
10816 * Association of the port-priority to a pool.
10836 /* SBPM - Shared Buffer Port Management Register
10837 * ---------------------------------------------
10839 * and configuration according to Port-Pool, including the definition
10895 * When the pool associated to the port-pg/tclass is configured to
10897 * When the pool associated to the port-pg/tclass is configured to
10901 * i: (1/128)*2^(i-1), for i=1..14
10927 /* SBMM - Shared Buffer Multicast Management Register
10928 * --------------------------------------------------
10930 * and configuration for MC packets according to Switch-Priority, including
10951 * When the pool associated to the port-pg/tclass is configured to
10953 * When the pool associated to the port-pg/tclass is configured to
10957 * i: (1/128)*2^(i-1), for i=1..14
10964 * Association of the port-priority to a pool.
10979 /* SBSR - Shared Buffer Status Register
10980 * ------------------------------------
10982 * Port-Pool. Note that this register enables reading a large amount of data.
11019 * Range is 0..cap_max_pg_buffers - 1
11038 * Range is 0..cap_max_tclass - 1
11074 /* SBIB - Shared Buffer Internal Buffer Register
11075 * ---------------------------------------------
11096 * Allowed range is 0 to (cap_max_headroom_size - 1)
11255 if (reg_info->id == reg_id) in mlxsw_reg_id_str()
11256 return reg_info->name; in mlxsw_reg_id_str()
11261 /* PUDE - Port Up / Down Event
11262 * ---------------------------
11281 * 1 - Up.
11282 * 2 - Down.
11283 * 3 - Up once. This means that in case of link failure, the port won't go
11284 * into polling mode, but will wait to be re-enabled by software.
11285 * 4 - Disabled by system. Can only be set by hardware.
11292 * 1 - Up.
11293 * 2 - Down.
11294 * 3 - Down by port failure. This means that the device will not let the