1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* Marvell RVU Ethernet driver |
3 | * |
4 | * Copyright (C) 2020 Marvell. |
5 | * |
6 | */ |
7 | |
8 | #ifndef OTX2_PTP_H |
9 | #define OTX2_PTP_H |
10 | |
11 | static inline u64 otx2_ptp_convert_rx_timestamp(u64 timestamp) |
12 | { |
13 | return be64_to_cpu(*(__be64 *)×tamp); |
14 | } |
15 | |
16 | static inline u64 otx2_ptp_convert_tx_timestamp(u64 timestamp) |
17 | { |
18 | return timestamp; |
19 | } |
20 | |
21 | static inline u64 cn10k_ptp_convert_timestamp(u64 timestamp) |
22 | { |
23 | return ((timestamp >> 32) * NSEC_PER_SEC) + (timestamp & 0xFFFFFFFFUL); |
24 | } |
25 | |
26 | int otx2_ptp_init(struct otx2_nic *pfvf); |
27 | void otx2_ptp_destroy(struct otx2_nic *pfvf); |
28 | |
29 | int otx2_ptp_clock_index(struct otx2_nic *pfvf); |
30 | int otx2_ptp_tstamp2time(struct otx2_nic *pfvf, u64 tstamp, u64 *tsns); |
31 | |
32 | #endif |
33 | |