| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* Marvell RVU Ethernet driver |
| * |
| * Copyright (C) 2020 Marvell. |
| * |
| */ |
| |
| #ifndef OTX2_PTP_H |
| #define OTX2_PTP_H |
| |
| static inline u64 otx2_ptp_convert_rx_timestamp(u64 timestamp) |
| { |
| return be64_to_cpu(*(__be64 *)×tamp); |
| } |
| |
| static inline u64 otx2_ptp_convert_tx_timestamp(u64 timestamp) |
| { |
| return timestamp; |
| } |
| |
| static inline u64 cn10k_ptp_convert_timestamp(u64 timestamp) |
| { |
| return ((timestamp >> 32) * NSEC_PER_SEC) + (timestamp & 0xFFFFFFFFUL); |
| } |
| |
| int otx2_ptp_init(struct otx2_nic *pfvf); |
| void otx2_ptp_destroy(struct otx2_nic *pfvf); |
| |
| int otx2_ptp_clock_index(struct otx2_nic *pfvf); |
| int otx2_ptp_tstamp2time(struct otx2_nic *pfvf, u64 tstamp, u64 *tsns); |
| |
| #endif |