Lines Matching refs:ds

61 int sja1105_hwtstamp_set(struct dsa_switch *ds, int port,
65 struct sja1105_private *priv = ds->priv;
99 int sja1105_hwtstamp_get(struct dsa_switch *ds, int port,
102 struct sja1105_private *priv = ds->priv;
117 int sja1105_get_ts_info(struct dsa_switch *ds, int port,
120 struct sja1105_private *priv = ds->priv;
172 int sja1105_ptp_commit(struct dsa_switch *ds, struct sja1105_ptp_cmd *cmd,
175 const struct sja1105_private *priv = ds->priv;
206 static u64 sja1105_tstamp_reconstruct(struct dsa_switch *ds, u64 now,
209 struct sja1105_private *priv = ds->priv;
251 static int sja1105_ptpegr_ts_poll(struct dsa_switch *ds, int port, u64 *ts)
253 struct sja1105_private *priv = ds->priv;
327 dev_err_ratelimited(priv->ds->dev,
344 struct dsa_switch *ds = priv->ds;
356 dev_err(ds->dev, "Failed to read PTP clock: %d\n", rc);
364 ts = sja1105_tstamp_reconstruct(ds, ticks, ts);
379 bool sja1105_rxtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb)
381 struct sja1105_private *priv = ds->priv;
395 bool sja1110_rxtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb)
409 bool sja1105_port_rxtstamp(struct dsa_switch *ds, int port,
412 struct sja1105_private *priv = ds->priv;
414 return priv->info->rxtstamp(ds, port, skb);
417 void sja1110_process_meta_tstamp(struct dsa_switch *ds, int port, u8 ts_id,
420 struct sja1105_private *priv = ds->priv;
454 void sja1110_txtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb)
457 struct sja1105_private *priv = ds->priv;
480 void sja1105_port_txtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb)
482 struct sja1105_private *priv = ds->priv;
495 priv->info->txtstamp(ds, port, skb);
498 static int sja1105_ptp_reset(struct dsa_switch *ds)
500 struct sja1105_private *priv = ds->priv;
509 dev_dbg(ds->dev, "Resetting PTP clock\n");
510 rc = sja1105_ptp_commit(ds, &cmd, SPI_WRITE);
512 sja1105_tas_clockstep(priv->ds);
520 int __sja1105_ptp_gettimex(struct dsa_switch *ds, u64 *ns,
523 struct sja1105_private *priv = ds->priv;
529 dev_err(ds->dev, "Failed to read PTP clock: %d\n", rc);
549 rc = __sja1105_ptp_gettimex(priv->ds, &now, ptp_sts);
568 return sja1105_ptp_commit(priv->ds, &ptp_data->cmd, SPI_WRITE);
572 int __sja1105_ptp_settime(struct dsa_switch *ds, u64 ns,
575 struct sja1105_private *priv = ds->priv;
581 dev_err(priv->ds->dev, "Failed to put PTPCLK in set mode\n");
587 sja1105_tas_clockstep(priv->ds);
602 rc = __sja1105_ptp_settime(priv->ds, ns, NULL);
631 sja1105_tas_adjfreq(priv->ds);
639 int __sja1105_ptp_adjtime(struct dsa_switch *ds, s64 delta)
641 struct sja1105_private *priv = ds->priv;
647 dev_err(priv->ds->dev, "Failed to put PTPCLK in add mode\n");
653 sja1105_tas_clockstep(priv->ds);
666 rc = __sja1105_ptp_adjtime(priv->ds, delta);
771 rc = __sja1105_ptp_gettimex(priv->ds, &now, NULL);
795 rc = sja1105_ptp_commit(priv->ds, &cmd, SPI_WRITE);
878 int sja1105_ptp_clock_register(struct dsa_switch *ds)
880 struct sja1105_private *priv = ds->priv;
908 ptp_data->clock = ptp_clock_register(&ptp_data->caps, ds->dev);
917 return sja1105_ptp_reset(ds);
920 void sja1105_ptp_clock_unregister(struct dsa_switch *ds)
922 struct sja1105_private *priv = ds->priv;
936 void sja1105_ptp_txtstamp_skb(struct dsa_switch *ds, int port,
939 struct sja1105_private *priv = ds->priv;
949 rc = sja1105_ptpegr_ts_poll(ds, port, &ts);
951 dev_err(ds->dev, "timed out polling for tstamp\n");
958 dev_err(ds->dev, "Failed to read PTP clock: %d\n", rc);
963 ts = sja1105_tstamp_reconstruct(ds, ticks, ts);