Lines Matching refs:ptp_data
59 container_of((d), struct sja1105_private, ptp_data)
67 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_change_rxtstamping() local
81 ptp_cancel_worker_sync(ptp_data->clock); in sja1105_change_rxtstamping()
82 skb_queue_purge(&ptp_data->skb_rxtstamp_queue); in sja1105_change_rxtstamping()
158 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_get_ts_info() local
161 if (!ptp_data->clock) in sja1105_get_ts_info()
171 info->phc_index = ptp_clock_index(ptp_data->clock); in sja1105_get_ts_info()
355 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_extts_poll() local
367 if (ptpsyncts && ptp_data->ptpsyncts != ptpsyncts) { in sja1105_extts_poll()
371 ptp_clock_event(ptp_data->clock, &event); in sja1105_extts_poll()
373 ptp_data->ptpsyncts = ptpsyncts; in sja1105_extts_poll()
379 struct sja1105_ptp_data *ptp_data = ptp_caps_to_data(ptp); in sja1105_rxtstamp_work() local
380 struct sja1105_private *priv = ptp_data_to_sja1105(ptp_data); in sja1105_rxtstamp_work()
384 mutex_lock(&ptp_data->lock); in sja1105_rxtstamp_work()
386 while ((skb = skb_dequeue(&ptp_data->skb_rxtstamp_queue)) != NULL) { in sja1105_rxtstamp_work()
407 if (ptp_data->extts_enabled) in sja1105_rxtstamp_work()
410 mutex_unlock(&ptp_data->lock); in sja1105_rxtstamp_work()
421 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_port_rxtstamp() local
429 skb_queue_tail(&ptp_data->skb_rxtstamp_queue, skb); in sja1105_port_rxtstamp()
430 ptp_schedule_worker(ptp_data->clock, 0); in sja1105_port_rxtstamp()
453 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_ptp_reset() local
454 struct sja1105_ptp_cmd cmd = ptp_data->cmd; in sja1105_ptp_reset()
457 mutex_lock(&ptp_data->lock); in sja1105_ptp_reset()
466 mutex_unlock(&ptp_data->lock); in sja1105_ptp_reset()
494 struct sja1105_ptp_data *ptp_data = ptp_caps_to_data(ptp); in sja1105_ptp_gettimex() local
495 struct sja1105_private *priv = ptp_data_to_sja1105(ptp_data); in sja1105_ptp_gettimex()
499 mutex_lock(&ptp_data->lock); in sja1105_ptp_gettimex()
504 mutex_unlock(&ptp_data->lock); in sja1105_ptp_gettimex()
513 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_ptp_mode_set() local
515 if (ptp_data->cmd.ptpclkadd == mode) in sja1105_ptp_mode_set()
518 ptp_data->cmd.ptpclkadd = mode; in sja1105_ptp_mode_set()
520 return sja1105_ptp_commit(priv->ds, &ptp_data->cmd, SPI_WRITE); in sja1105_ptp_mode_set()
547 struct sja1105_ptp_data *ptp_data = ptp_caps_to_data(ptp); in sja1105_ptp_settime() local
548 struct sja1105_private *priv = ptp_data_to_sja1105(ptp_data); in sja1105_ptp_settime()
552 mutex_lock(&ptp_data->lock); in sja1105_ptp_settime()
556 mutex_unlock(&ptp_data->lock); in sja1105_ptp_settime()
563 struct sja1105_ptp_data *ptp_data = ptp_caps_to_data(ptp); in sja1105_ptp_adjfine() local
564 struct sja1105_private *priv = ptp_data_to_sja1105(ptp_data); in sja1105_ptp_adjfine()
578 mutex_lock(&ptp_data->lock); in sja1105_ptp_adjfine()
585 mutex_unlock(&ptp_data->lock); in sja1105_ptp_adjfine()
612 struct sja1105_ptp_data *ptp_data = ptp_caps_to_data(ptp); in sja1105_ptp_adjtime() local
613 struct sja1105_private *priv = ptp_data_to_sja1105(ptp_data); in sja1105_ptp_adjtime()
616 mutex_lock(&ptp_data->lock); in sja1105_ptp_adjtime()
620 mutex_unlock(&ptp_data->lock); in sja1105_ptp_adjtime()
625 static void sja1105_ptp_extts_setup_timer(struct sja1105_ptp_data *ptp_data) in sja1105_ptp_extts_setup_timer() argument
630 mod_timer(&ptp_data->extts_timer, expires); in sja1105_ptp_extts_setup_timer()
635 struct sja1105_ptp_data *ptp_data = extts_to_data(t); in sja1105_ptp_extts_timer() local
637 ptp_schedule_worker(ptp_data->clock, 0); in sja1105_ptp_extts_timer()
639 sja1105_ptp_extts_setup_timer(ptp_data); in sja1105_ptp_extts_timer()
677 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_per_out_enable() local
679 struct sja1105_ptp_cmd cmd = ptp_data->cmd; in sja1105_per_out_enable()
690 mutex_lock(&ptp_data->lock); in sja1105_per_out_enable()
754 mutex_unlock(&ptp_data->lock); in sja1105_per_out_enable()
786 priv->ptp_data.extts_enabled = on; in sja1105_extts_enable()
789 sja1105_ptp_extts_setup_timer(&priv->ptp_data); in sja1105_extts_enable()
791 del_timer_sync(&priv->ptp_data.extts_timer); in sja1105_extts_enable()
799 struct sja1105_ptp_data *ptp_data = ptp_caps_to_data(ptp); in sja1105_ptp_enable() local
800 struct sja1105_private *priv = ptp_data_to_sja1105(ptp_data); in sja1105_ptp_enable()
814 struct sja1105_ptp_data *ptp_data = ptp_caps_to_data(ptp); in sja1105_ptp_verify_pin() local
815 struct sja1105_private *priv = ptp_data_to_sja1105(ptp_data); in sja1105_ptp_verify_pin()
845 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_ptp_clock_register() local
847 ptp_data->caps = (struct ptp_clock_info) { in sja1105_ptp_clock_register()
864 skb_queue_head_init(&ptp_data->skb_rxtstamp_queue); in sja1105_ptp_clock_register()
867 ptp_data->clock = ptp_clock_register(&ptp_data->caps, ds->dev); in sja1105_ptp_clock_register()
868 if (IS_ERR_OR_NULL(ptp_data->clock)) in sja1105_ptp_clock_register()
869 return PTR_ERR(ptp_data->clock); in sja1105_ptp_clock_register()
871 ptp_data->cmd.corrclk4ts = true; in sja1105_ptp_clock_register()
872 ptp_data->cmd.ptpclkadd = PTP_SET_MODE; in sja1105_ptp_clock_register()
874 timer_setup(&ptp_data->extts_timer, sja1105_ptp_extts_timer, 0); in sja1105_ptp_clock_register()
882 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_ptp_clock_unregister() local
884 if (IS_ERR_OR_NULL(ptp_data->clock)) in sja1105_ptp_clock_unregister()
887 del_timer_sync(&ptp_data->extts_timer); in sja1105_ptp_clock_unregister()
888 ptp_cancel_worker_sync(ptp_data->clock); in sja1105_ptp_clock_unregister()
889 skb_queue_purge(&ptp_data->skb_rxtstamp_queue); in sja1105_ptp_clock_unregister()
890 ptp_clock_unregister(ptp_data->clock); in sja1105_ptp_clock_unregister()
891 ptp_data->clock = NULL; in sja1105_ptp_clock_unregister()
898 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_ptp_txtstamp_skb() local
905 mutex_lock(&ptp_data->lock); in sja1105_ptp_txtstamp_skb()
927 mutex_unlock(&ptp_data->lock); in sja1105_ptp_txtstamp_skb()