Merge branch 'mlxsw-Enable-disable-PTP-shapers'
authorDavid S. Miller <davem@davemloft.net>
Fri, 5 Jul 2019 22:28:57 +0000 (15:28 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 5 Jul 2019 22:28:57 +0000 (15:28 -0700)
commit60a6127c5e4888aa701744d9b9dbd8a94cec35c7
tree8bdce3e267f616d9a7b1edf04509135b7581c7cd
parentcfe261c24e553d322ef3fc5ae96667767d80142a
parent72458e2794884a75808b646fd6f085385046f681
Merge branch 'mlxsw-Enable-disable-PTP-shapers'

Ido Schimmel says:

====================
mlxsw: Enable/disable PTP shapers

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.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>