From: Ido Schimmel <ido...@mellanox.com> Shalom says:
In order to get more accurate hardware time stamping in Spectrum-1, the driver needs to apply a shaper on the port for speeds lower than 40Gbps. This shaper is called a PTP shaper and it is applied on hierarchy 0, which is the port hierarchy. This shaper may affect the shaper rates of all hierarchies. This patchset adds the ability to enable or disable the PTP shaper on the port in two scenarios: 1. When the user wants to enable/disable the hardware time stamping 2. When the port is brought up or down (including port speed change) Patch #1 adds the QEEC.ptps field that is used for enabling or disabling the PTP shaper on a port. Patch #2 adds a note about disabling the PTP shaper when calling to mlxsw_sp_port_ets_maxrate_set(). Patch #3 adds the QPSC register that is responsible for configuring the PTP shaper parameters per speed. Patch #4 sets the PTP shaper parameters during the ptp_init(). Patch #5 adds new operation for getting the port's speed. Patch #6 enables/disables the PTP shaper when turning on or off the hardware time stamping. Patch #7 enables/disables the PTP shaper when the port's status has changed (including port speed change). Patch #8 applies the PTP shaper enable/disable logic by filling the PTP shaper parameters array. Shalom Toledo (8): mlxsw: reg: Add ptps field in QoS ETS Element Configuration Register mlxsw: spectrum: Add note about the PTP shaper mlxsw: reg: Add QoS PTP Shaper Configuration Register mlxsw: spectrum_ptp: Set the PTP shaper parameters mlxsw: spectrum: Add new operation for getting the port's speed mlxsw: spectrum_ptp: Enable/disable PTP shaper on a port when getting HWTSTAMP on/off mlxsw: spectrum: Set up PTP shaper when port status has changed mlxsw: spectrum_ptp: Apply the PTP shaper enable/disable logic drivers/net/ethernet/mellanox/mlxsw/reg.h | 129 ++++++++++++++ .../net/ethernet/mellanox/mlxsw/spectrum.c | 81 +++++---- .../net/ethernet/mellanox/mlxsw/spectrum.h | 2 + .../ethernet/mellanox/mlxsw/spectrum_ptp.c | 158 ++++++++++++++++++ .../ethernet/mellanox/mlxsw/spectrum_ptp.h | 10 ++ 5 files changed, 350 insertions(+), 30 deletions(-) -- 2.20.1