Lines Matching refs:ds

83 int sja1105_hwtstamp_set(struct dsa_switch *ds, int port, struct ifreq *ifr)  in sja1105_hwtstamp_set()  argument
85 struct sja1105_tagger_data *tagger_data = sja1105_tagger_data(ds); in sja1105_hwtstamp_set()
86 struct sja1105_private *priv = ds->priv; in sja1105_hwtstamp_set()
114 if (rx_on != tagger_data->rxtstamp_get_state(ds)) { in sja1105_hwtstamp_set()
115 tagger_data->rxtstamp_set_state(ds, false); in sja1105_hwtstamp_set()
119 dev_err(ds->dev, in sja1105_hwtstamp_set()
124 tagger_data->rxtstamp_set_state(ds, true); in sja1105_hwtstamp_set()
132 int sja1105_hwtstamp_get(struct dsa_switch *ds, int port, struct ifreq *ifr) in sja1105_hwtstamp_get() argument
134 struct sja1105_tagger_data *tagger_data = sja1105_tagger_data(ds); in sja1105_hwtstamp_get()
135 struct sja1105_private *priv = ds->priv; in sja1105_hwtstamp_get()
143 if (tagger_data->rxtstamp_get_state(ds)) in sja1105_hwtstamp_get()
152 int sja1105_get_ts_info(struct dsa_switch *ds, int port, in sja1105_get_ts_info() argument
155 struct sja1105_private *priv = ds->priv; in sja1105_get_ts_info()
207 int sja1105_ptp_commit(struct dsa_switch *ds, struct sja1105_ptp_cmd *cmd, in sja1105_ptp_commit() argument
210 const struct sja1105_private *priv = ds->priv; in sja1105_ptp_commit()
241 static u64 sja1105_tstamp_reconstruct(struct dsa_switch *ds, u64 now, in sja1105_tstamp_reconstruct() argument
244 struct sja1105_private *priv = ds->priv; in sja1105_tstamp_reconstruct()
286 static int sja1105_ptpegr_ts_poll(struct dsa_switch *ds, int port, u64 *ts) in sja1105_ptpegr_ts_poll() argument
288 struct sja1105_private *priv = ds->priv; in sja1105_ptpegr_ts_poll()
362 dev_err_ratelimited(priv->ds->dev, in sja1105_extts_poll()
379 struct dsa_switch *ds = priv->ds; in sja1105_rxtstamp_work() local
391 dev_err(ds->dev, "Failed to read PTP clock: %d\n", rc); in sja1105_rxtstamp_work()
399 ts = sja1105_tstamp_reconstruct(ds, ticks, ts); in sja1105_rxtstamp_work()
414 bool sja1105_rxtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb) in sja1105_rxtstamp() argument
416 struct sja1105_tagger_data *tagger_data = sja1105_tagger_data(ds); in sja1105_rxtstamp()
417 struct sja1105_private *priv = ds->priv; in sja1105_rxtstamp()
420 if (!tagger_data->rxtstamp_get_state(ds)) in sja1105_rxtstamp()
431 bool sja1110_rxtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb) in sja1110_rxtstamp() argument
445 bool sja1105_port_rxtstamp(struct dsa_switch *ds, int port, in sja1105_port_rxtstamp() argument
448 struct sja1105_private *priv = ds->priv; in sja1105_port_rxtstamp()
450 return priv->info->rxtstamp(ds, port, skb); in sja1105_port_rxtstamp()
453 void sja1110_process_meta_tstamp(struct dsa_switch *ds, int port, u8 ts_id, in sja1110_process_meta_tstamp() argument
456 struct sja1105_private *priv = ds->priv; in sja1110_process_meta_tstamp()
490 void sja1110_txtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb) in sja1110_txtstamp() argument
493 struct sja1105_private *priv = ds->priv; in sja1110_txtstamp()
516 void sja1105_port_txtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb) in sja1105_port_txtstamp() argument
518 struct sja1105_private *priv = ds->priv; in sja1105_port_txtstamp()
531 priv->info->txtstamp(ds, port, skb); in sja1105_port_txtstamp()
534 static int sja1105_ptp_reset(struct dsa_switch *ds) in sja1105_ptp_reset() argument
536 struct sja1105_private *priv = ds->priv; in sja1105_ptp_reset()
545 dev_dbg(ds->dev, "Resetting PTP clock\n"); in sja1105_ptp_reset()
546 rc = sja1105_ptp_commit(ds, &cmd, SPI_WRITE); in sja1105_ptp_reset()
548 sja1105_tas_clockstep(priv->ds); in sja1105_ptp_reset()
556 int __sja1105_ptp_gettimex(struct dsa_switch *ds, u64 *ns, in __sja1105_ptp_gettimex() argument
559 struct sja1105_private *priv = ds->priv; in __sja1105_ptp_gettimex()
565 dev_err(ds->dev, "Failed to read PTP clock: %d\n", rc); in __sja1105_ptp_gettimex()
585 rc = __sja1105_ptp_gettimex(priv->ds, &now, ptp_sts); in sja1105_ptp_gettimex()
604 return sja1105_ptp_commit(priv->ds, &ptp_data->cmd, SPI_WRITE); in sja1105_ptp_mode_set()
608 int __sja1105_ptp_settime(struct dsa_switch *ds, u64 ns, in __sja1105_ptp_settime() argument
611 struct sja1105_private *priv = ds->priv; in __sja1105_ptp_settime()
617 dev_err(priv->ds->dev, "Failed to put PTPCLK in set mode\n"); in __sja1105_ptp_settime()
623 sja1105_tas_clockstep(priv->ds); in __sja1105_ptp_settime()
638 rc = __sja1105_ptp_settime(priv->ds, ns, NULL); in sja1105_ptp_settime()
667 sja1105_tas_adjfreq(priv->ds); in sja1105_ptp_adjfine()
675 int __sja1105_ptp_adjtime(struct dsa_switch *ds, s64 delta) in __sja1105_ptp_adjtime() argument
677 struct sja1105_private *priv = ds->priv; in __sja1105_ptp_adjtime()
683 dev_err(priv->ds->dev, "Failed to put PTPCLK in add mode\n"); in __sja1105_ptp_adjtime()
689 sja1105_tas_clockstep(priv->ds); in __sja1105_ptp_adjtime()
702 rc = __sja1105_ptp_adjtime(priv->ds, delta); in sja1105_ptp_adjtime()
811 rc = __sja1105_ptp_gettimex(priv->ds, &now, NULL); in sja1105_per_out_enable()
835 rc = sja1105_ptp_commit(priv->ds, &cmd, SPI_WRITE); in sja1105_per_out_enable()
925 int sja1105_ptp_clock_register(struct dsa_switch *ds) in sja1105_ptp_clock_register() argument
927 struct sja1105_private *priv = ds->priv; in sja1105_ptp_clock_register()
952 ptp_data->clock = ptp_clock_register(&ptp_data->caps, ds->dev); in sja1105_ptp_clock_register()
961 return sja1105_ptp_reset(ds); in sja1105_ptp_clock_register()
964 void sja1105_ptp_clock_unregister(struct dsa_switch *ds) in sja1105_ptp_clock_unregister() argument
966 struct sja1105_private *priv = ds->priv; in sja1105_ptp_clock_unregister()
980 void sja1105_ptp_txtstamp_skb(struct dsa_switch *ds, int port, in sja1105_ptp_txtstamp_skb() argument
983 struct sja1105_private *priv = ds->priv; in sja1105_ptp_txtstamp_skb()
993 rc = sja1105_ptpegr_ts_poll(ds, port, &ts); in sja1105_ptp_txtstamp_skb()
995 dev_err(ds->dev, "timed out polling for tstamp\n"); in sja1105_ptp_txtstamp_skb()
1002 dev_err(ds->dev, "Failed to read PTP clock: %d\n", rc); in sja1105_ptp_txtstamp_skb()
1007 ts = sja1105_tstamp_reconstruct(ds, ticks, ts); in sja1105_ptp_txtstamp_skb()