mirror of
https://github.com/torvalds/linux.git
synced 2026-10-07 05:31:08 -04:00
mlxsw: reg: Add Monitoring Time Precision Packet Port Configuration Register
This register serves for configuration of which PTP messages should be timestamped. This is a global configuration, despite the register name. Signed-off-by: Petr Machata <[email protected]> Acked-by: Jiri Pirko <[email protected]> Signed-off-by: Ido Schimmel <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
1 parent
6e32a74a6f
commit
da28e87847
1 file changed
+38
@@ -9148,6 +9148,43 @@ static inline void mlxsw_reg_mprs_pack(char *payload, u16 parsing_depth,
|
||||
mlxsw_reg_mprs_vxlan_udp_dport_set(payload, vxlan_udp_dport);
|
||||
}
|
||||
|
||||
/* MTPPPC - Time Precision Packet Port Configuration
|
||||
* -------------------------------------------------
|
||||
* This register serves for configuration of which PTP messages should be
|
||||
* timestamped. This is a global configuration, despite the register name.
|
||||
*
|
||||
* Reserved when Spectrum-2.
|
||||
*/
|
||||
#define MLXSW_REG_MTPPPC_ID 0x9090
|
||||
#define MLXSW_REG_MTPPPC_LEN 0x28
|
||||
|
||||
MLXSW_REG_DEFINE(mtpppc, MLXSW_REG_MTPPPC_ID, MLXSW_REG_MTPPPC_LEN);
|
||||
|
||||
/* reg_mtpppc_ing_timestamp_message_type
|
||||
* Bitwise vector of PTP message types to timestamp at ingress.
|
||||
* MessageType field as defined by IEEE 1588
|
||||
* Each bit corresponds to a value (e.g. Bit0: Sync, Bit1: Delay_Req)
|
||||
* Default all 0
|
||||
* Access: RW
|
||||
*/
|
||||
MLXSW_ITEM32(reg, mtpppc, ing_timestamp_message_type, 0x08, 0, 16);
|
||||
|
||||
/* reg_mtpppc_egr_timestamp_message_type
|
||||
* Bitwise vector of PTP message types to timestamp at egress.
|
||||
* MessageType field as defined by IEEE 1588
|
||||
* Each bit corresponds to a value (e.g. Bit0: Sync, Bit1: Delay_Req)
|
||||
* Default all 0
|
||||
* Access: RW
|
||||
*/
|
||||
MLXSW_ITEM32(reg, mtpppc, egr_timestamp_message_type, 0x0C, 0, 16);
|
||||
|
||||
static inline void mlxsw_reg_mtpppc_pack(char *payload, u16 ing, u16 egr)
|
||||
{
|
||||
MLXSW_REG_ZERO(mtpppc, payload);
|
||||
mlxsw_reg_mtpppc_ing_timestamp_message_type_set(payload, ing);
|
||||
mlxsw_reg_mtpppc_egr_timestamp_message_type_set(payload, egr);
|
||||
}
|
||||
|
||||
/* MGPIR - Management General Peripheral Information Register
|
||||
* ----------------------------------------------------------
|
||||
* MGPIR register allows software to query the hardware and
|
||||
@@ -10216,6 +10253,7 @@ static const struct mlxsw_reg_info *mlxsw_reg_infos[] = {
|
||||
MLXSW_REG(mcda),
|
||||
MLXSW_REG(mgpc),
|
||||
MLXSW_REG(mprs),
|
||||
MLXSW_REG(mtpppc),
|
||||
MLXSW_REG(mgpir),
|
||||
MLXSW_REG(tngcr),
|
||||
MLXSW_REG(tnumt),
|
||||
|
||||
Reference in new issue
Block a user