Lines Matching full:ds

89 int sja1105_hwtstamp_set(struct dsa_switch *ds, int port, struct ifreq *ifr)  in sja1105_hwtstamp_set()  argument
91 struct sja1105_private *priv = ds->priv; in sja1105_hwtstamp_set()
124 dev_err(ds->dev, in sja1105_hwtstamp_set()
137 int sja1105_hwtstamp_get(struct dsa_switch *ds, int port, struct ifreq *ifr) in sja1105_hwtstamp_get() argument
139 struct sja1105_private *priv = ds->priv; in sja1105_hwtstamp_get()
156 int sja1105_get_ts_info(struct dsa_switch *ds, int port, in sja1105_get_ts_info() argument
159 struct sja1105_private *priv = ds->priv; in sja1105_get_ts_info()
211 int sja1105_ptp_commit(struct dsa_switch *ds, struct sja1105_ptp_cmd *cmd, in sja1105_ptp_commit() argument
214 const struct sja1105_private *priv = ds->priv; in sja1105_ptp_commit()
245 static u64 sja1105_tstamp_reconstruct(struct dsa_switch *ds, u64 now, in sja1105_tstamp_reconstruct() argument
248 struct sja1105_private *priv = ds->priv; in sja1105_tstamp_reconstruct()
290 static int sja1105_ptpegr_ts_poll(struct dsa_switch *ds, int port, u64 *ts) in sja1105_ptpegr_ts_poll() argument
292 struct sja1105_private *priv = ds->priv; in sja1105_ptpegr_ts_poll()
366 dev_err_ratelimited(priv->ds->dev, in sja1105_extts_poll()
383 struct dsa_switch *ds = priv->ds; in sja1105_rxtstamp_work() local
395 dev_err(ds->dev, "Failed to read PTP clock: %d\n", rc); in sja1105_rxtstamp_work()
403 ts = sja1105_tstamp_reconstruct(ds, ticks, ts); in sja1105_rxtstamp_work()
418 bool sja1105_rxtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb) in sja1105_rxtstamp() argument
420 struct sja1105_private *priv = ds->priv; in sja1105_rxtstamp()
434 bool sja1110_rxtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb) in sja1110_rxtstamp() argument
448 bool sja1105_port_rxtstamp(struct dsa_switch *ds, int port, in sja1105_port_rxtstamp() argument
451 struct sja1105_private *priv = ds->priv; in sja1105_port_rxtstamp()
453 return priv->info->rxtstamp(ds, port, skb); in sja1105_port_rxtstamp()
460 void sja1110_txtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb) in sja1110_txtstamp() argument
463 struct sja1105_private *priv = ds->priv; in sja1110_txtstamp()
486 void sja1105_port_txtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb) in sja1105_port_txtstamp() argument
488 struct sja1105_private *priv = ds->priv; in sja1105_port_txtstamp()
502 priv->info->txtstamp(ds, port, skb); in sja1105_port_txtstamp()
505 static int sja1105_ptp_reset(struct dsa_switch *ds) in sja1105_ptp_reset() argument
507 struct sja1105_private *priv = ds->priv; in sja1105_ptp_reset()
516 dev_dbg(ds->dev, "Resetting PTP clock\n"); in sja1105_ptp_reset()
517 rc = sja1105_ptp_commit(ds, &cmd, SPI_WRITE); in sja1105_ptp_reset()
519 sja1105_tas_clockstep(priv->ds); in sja1105_ptp_reset()
527 int __sja1105_ptp_gettimex(struct dsa_switch *ds, u64 *ns, in __sja1105_ptp_gettimex() argument
530 struct sja1105_private *priv = ds->priv; in __sja1105_ptp_gettimex()
536 dev_err(ds->dev, "Failed to read PTP clock: %d\n", rc); in __sja1105_ptp_gettimex()
556 rc = __sja1105_ptp_gettimex(priv->ds, &now, ptp_sts); in sja1105_ptp_gettimex()
575 return sja1105_ptp_commit(priv->ds, &ptp_data->cmd, SPI_WRITE); in sja1105_ptp_mode_set()
579 int __sja1105_ptp_settime(struct dsa_switch *ds, u64 ns, in __sja1105_ptp_settime() argument
582 struct sja1105_private *priv = ds->priv; in __sja1105_ptp_settime()
588 dev_err(priv->ds->dev, "Failed to put PTPCLK in set mode\n"); in __sja1105_ptp_settime()
594 sja1105_tas_clockstep(priv->ds); in __sja1105_ptp_settime()
609 rc = __sja1105_ptp_settime(priv->ds, ns, NULL); in sja1105_ptp_settime()
638 sja1105_tas_adjfreq(priv->ds); in sja1105_ptp_adjfine()
646 int __sja1105_ptp_adjtime(struct dsa_switch *ds, s64 delta) in __sja1105_ptp_adjtime() argument
648 struct sja1105_private *priv = ds->priv; in __sja1105_ptp_adjtime()
654 dev_err(priv->ds->dev, "Failed to put PTPCLK in add mode\n"); in __sja1105_ptp_adjtime()
660 sja1105_tas_clockstep(priv->ds); in __sja1105_ptp_adjtime()
673 rc = __sja1105_ptp_adjtime(priv->ds, delta); in sja1105_ptp_adjtime()
782 rc = __sja1105_ptp_gettimex(priv->ds, &now, NULL); in sja1105_per_out_enable()
806 rc = sja1105_ptp_commit(priv->ds, &cmd, SPI_WRITE); in sja1105_per_out_enable()
896 int sja1105_ptp_clock_register(struct dsa_switch *ds) in sja1105_ptp_clock_register() argument
898 struct sja1105_private *priv = ds->priv; in sja1105_ptp_clock_register()
925 ptp_data->clock = ptp_clock_register(&ptp_data->caps, ds->dev); in sja1105_ptp_clock_register()
934 return sja1105_ptp_reset(ds); in sja1105_ptp_clock_register()
937 void sja1105_ptp_clock_unregister(struct dsa_switch *ds) in sja1105_ptp_clock_unregister() argument
939 struct sja1105_private *priv = ds->priv; in sja1105_ptp_clock_unregister()
954 void sja1105_ptp_txtstamp_skb(struct dsa_switch *ds, int port, in sja1105_ptp_txtstamp_skb() argument
957 struct sja1105_private *priv = ds->priv; in sja1105_ptp_txtstamp_skb()
967 rc = sja1105_ptpegr_ts_poll(ds, port, &ts); in sja1105_ptp_txtstamp_skb()
969 dev_err(ds->dev, "timed out polling for tstamp\n"); in sja1105_ptp_txtstamp_skb()
976 dev_err(ds->dev, "Failed to read PTP clock: %d\n", rc); in sja1105_ptp_txtstamp_skb()
981 ts = sja1105_tstamp_reconstruct(ds, ticks, ts); in sja1105_ptp_txtstamp_skb()