#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include "ionic.h"
#include "ionic_bus.h"
#include "ionic_lif.h"
#include "ionic_ethtool.h"
static int ionic_hwstamp_tx_mode(int config_tx_type)
{ … }
static u64 ionic_hwstamp_rx_filt(int config_rx_filter)
{ … }
static int ionic_lif_hwstamp_set_ts_config(struct ionic_lif *lif,
struct hwtstamp_config *new_ts)
{ … }
int ionic_lif_hwstamp_set(struct ionic_lif *lif, struct ifreq *ifr)
{ … }
void ionic_lif_hwstamp_replay(struct ionic_lif *lif)
{ … }
void ionic_lif_hwstamp_recreate_queues(struct ionic_lif *lif)
{ … }
int ionic_lif_hwstamp_get(struct ionic_lif *lif, struct ifreq *ifr)
{ … }
static u64 ionic_hwstamp_read(struct ionic *ionic,
struct ptp_system_timestamp *sts)
{ … }
static u64 ionic_cc_read(const struct cyclecounter *cc)
{ … }
static int ionic_setphc_cmd(struct ionic_phc *phc, struct ionic_admin_ctx *ctx)
{ … }
static int ionic_phc_adjfine(struct ptp_clock_info *info, long scaled_ppm)
{ … }
static int ionic_phc_adjtime(struct ptp_clock_info *info, s64 delta)
{ … }
static int ionic_phc_settime64(struct ptp_clock_info *info,
const struct timespec64 *ts)
{ … }
static int ionic_phc_gettimex64(struct ptp_clock_info *info,
struct timespec64 *ts,
struct ptp_system_timestamp *sts)
{ … }
static long ionic_phc_aux_work(struct ptp_clock_info *info)
{ … }
ktime_t ionic_lif_phc_ktime(struct ionic_lif *lif, u64 tick)
{ … }
static const struct ptp_clock_info ionic_ptp_info = …;
void ionic_lif_register_phc(struct ionic_lif *lif)
{ … }
void ionic_lif_unregister_phc(struct ionic_lif *lif)
{ … }
void ionic_lif_alloc_phc(struct ionic_lif *lif)
{ … }
void ionic_lif_free_phc(struct ionic_lif *lif)
{ … }