diff options
author | David S. Miller <davem@davemloft.net> | 2019-06-13 22:34:55 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-06-13 22:34:55 -0700 |
commit | 11817aa69bf32410ab014f77f7ed1fd307aa26c4 (patch) | |
tree | f51a5ff1187fb0b241be9862156dc63ffd8fc30d /drivers/net/ethernet/mellanox/mlxsw/spectrum.h | |
parent | 514fcaac371e31fe5bc6280d15f2903c37b015b8 (diff) | |
parent | 9366211f32076a6f3265f65a4851af9af22e4403 (diff) |
Merge branch 'mlxsw-Add-support-for-physical-hardware-clock'
Ido Schimmel says:
====================
mlxsw: Add support for physical hardware clock
Shalom says:
This patchset adds support for physical hardware clock for Spectrum-1
ASIC only.
Patches #1, #2 and #3 add the ability to query the free running clock
PCI address.
Patches #4 and #5 add two new register, the Management UTC Register and
the Management Pulse Per Second Register.
Patch #6 publishes scaled_ppm_to_ppb() to allow drivers to use it.
Patch #7 adds the physical hardware clock operations.
Patch #8 initializes the physical hardware clock.
Patch #9 adds a selftest for testing the PTP physical hardware clock.
v2 (Richard):
* s/ptp_clock_scaled_ppm_to_ppb/scaled_ppm_to_ppb/
* imply PTP_1588_CLOCK in mlxsw Kconfig
* s/mlxsw_sp1_ptp_update_phc_settime/mlxsw_sp1_ptp_phc_settime/
* s/mlxsw_sp1_ptp_update_phc_adjfreq/mlxsw_sp1_ptp_phc_adjfreq/
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw/spectrum.h')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h index 8601b3041acd..ea4d56486ea3 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h @@ -136,6 +136,7 @@ struct mlxsw_sp_acl_tcam_ops; struct mlxsw_sp_nve_ops; struct mlxsw_sp_sb_vals; struct mlxsw_sp_port_type_speed_ops; +struct mlxsw_sp_ptp_ops; struct mlxsw_sp { struct mlxsw_sp_port **ports; @@ -155,6 +156,7 @@ struct mlxsw_sp { struct mlxsw_sp_kvdl *kvdl; struct mlxsw_sp_nve *nve; struct notifier_block netdevice_nb; + struct mlxsw_sp_ptp_clock *clock; struct mlxsw_sp_counter_pool *counter_pool; struct { @@ -172,6 +174,7 @@ struct mlxsw_sp { const struct mlxsw_sp_rif_ops **rif_ops_arr; const struct mlxsw_sp_sb_vals *sb_vals; const struct mlxsw_sp_port_type_speed_ops *port_type_speed_ops; + const struct mlxsw_sp_ptp_ops *ptp_ops; }; static inline struct mlxsw_sp_upper * |