otx2_ptp.h (707B)
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 11static inline u64 otx2_ptp_convert_rx_timestamp(u64 timestamp) 12{ 13 return be64_to_cpu(*(__be64 *)×tamp); 14} 15 16static inline u64 otx2_ptp_convert_tx_timestamp(u64 timestamp) 17{ 18 return timestamp; 19} 20 21static inline u64 cn10k_ptp_convert_timestamp(u64 timestamp) 22{ 23 return ((timestamp >> 32) * NSEC_PER_SEC) + (timestamp & 0xFFFFFFFFUL); 24} 25 26int otx2_ptp_init(struct otx2_nic *pfvf); 27void otx2_ptp_destroy(struct otx2_nic *pfvf); 28 29int otx2_ptp_clock_index(struct otx2_nic *pfvf); 30int otx2_ptp_tstamp2time(struct otx2_nic *pfvf, u64 tstamp, u64 *tsns); 31 32#endif