Lines Matching refs:ptp_data

59 		container_of((d), struct sja1105_private, ptp_data)
68 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_change_rxtstamping() local
82 ptp_cancel_worker_sync(ptp_data->clock); in sja1105_change_rxtstamping()
84 skb_queue_purge(&ptp_data->skb_rxtstamp_queue); in sja1105_change_rxtstamping()
160 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_get_ts_info() local
163 if (!ptp_data->clock) in sja1105_get_ts_info()
173 info->phc_index = ptp_clock_index(ptp_data->clock); in sja1105_get_ts_info()
357 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_extts_poll() local
369 if (ptpsyncts && ptp_data->ptpsyncts != ptpsyncts) { in sja1105_extts_poll()
373 ptp_clock_event(ptp_data->clock, &event); in sja1105_extts_poll()
375 ptp_data->ptpsyncts = ptpsyncts; in sja1105_extts_poll()
381 struct sja1105_ptp_data *ptp_data = ptp_caps_to_data(ptp); in sja1105_rxtstamp_work() local
382 struct sja1105_private *priv = ptp_data_to_sja1105(ptp_data); in sja1105_rxtstamp_work()
386 mutex_lock(&ptp_data->lock); in sja1105_rxtstamp_work()
388 while ((skb = skb_dequeue(&ptp_data->skb_rxtstamp_queue)) != NULL) { in sja1105_rxtstamp_work()
409 if (ptp_data->extts_enabled) in sja1105_rxtstamp_work()
412 mutex_unlock(&ptp_data->lock); in sja1105_rxtstamp_work()
421 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_rxtstamp() local
429 skb_queue_tail(&ptp_data->skb_rxtstamp_queue, skb); in sja1105_rxtstamp()
430 ptp_schedule_worker(ptp_data->clock, 0); in sja1105_rxtstamp()
508 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_ptp_reset() local
509 struct sja1105_ptp_cmd cmd = ptp_data->cmd; in sja1105_ptp_reset()
512 mutex_lock(&ptp_data->lock); in sja1105_ptp_reset()
521 mutex_unlock(&ptp_data->lock); in sja1105_ptp_reset()
549 struct sja1105_ptp_data *ptp_data = ptp_caps_to_data(ptp); in sja1105_ptp_gettimex() local
550 struct sja1105_private *priv = ptp_data_to_sja1105(ptp_data); in sja1105_ptp_gettimex()
554 mutex_lock(&ptp_data->lock); in sja1105_ptp_gettimex()
559 mutex_unlock(&ptp_data->lock); in sja1105_ptp_gettimex()
568 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_ptp_mode_set() local
570 if (ptp_data->cmd.ptpclkadd == mode) in sja1105_ptp_mode_set()
573 ptp_data->cmd.ptpclkadd = mode; in sja1105_ptp_mode_set()
575 return sja1105_ptp_commit(priv->ds, &ptp_data->cmd, SPI_WRITE); in sja1105_ptp_mode_set()
602 struct sja1105_ptp_data *ptp_data = ptp_caps_to_data(ptp); in sja1105_ptp_settime() local
603 struct sja1105_private *priv = ptp_data_to_sja1105(ptp_data); in sja1105_ptp_settime()
607 mutex_lock(&ptp_data->lock); in sja1105_ptp_settime()
611 mutex_unlock(&ptp_data->lock); in sja1105_ptp_settime()
618 struct sja1105_ptp_data *ptp_data = ptp_caps_to_data(ptp); in sja1105_ptp_adjfine() local
619 struct sja1105_private *priv = ptp_data_to_sja1105(ptp_data); in sja1105_ptp_adjfine()
633 mutex_lock(&ptp_data->lock); in sja1105_ptp_adjfine()
640 mutex_unlock(&ptp_data->lock); in sja1105_ptp_adjfine()
667 struct sja1105_ptp_data *ptp_data = ptp_caps_to_data(ptp); in sja1105_ptp_adjtime() local
668 struct sja1105_private *priv = ptp_data_to_sja1105(ptp_data); in sja1105_ptp_adjtime()
671 mutex_lock(&ptp_data->lock); in sja1105_ptp_adjtime()
675 mutex_unlock(&ptp_data->lock); in sja1105_ptp_adjtime()
680 static void sja1105_ptp_extts_setup_timer(struct sja1105_ptp_data *ptp_data) in sja1105_ptp_extts_setup_timer() argument
685 mod_timer(&ptp_data->extts_timer, expires); in sja1105_ptp_extts_setup_timer()
690 struct sja1105_ptp_data *ptp_data = extts_to_data(t); in sja1105_ptp_extts_timer() local
692 ptp_schedule_worker(ptp_data->clock, 0); in sja1105_ptp_extts_timer()
694 sja1105_ptp_extts_setup_timer(ptp_data); in sja1105_ptp_extts_timer()
732 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_per_out_enable() local
734 struct sja1105_ptp_cmd cmd = ptp_data->cmd; in sja1105_per_out_enable()
745 mutex_lock(&ptp_data->lock); in sja1105_per_out_enable()
809 mutex_unlock(&ptp_data->lock); in sja1105_per_out_enable()
841 priv->ptp_data.extts_enabled = on; in sja1105_extts_enable()
844 sja1105_ptp_extts_setup_timer(&priv->ptp_data); in sja1105_extts_enable()
846 del_timer_sync(&priv->ptp_data.extts_timer); in sja1105_extts_enable()
854 struct sja1105_ptp_data *ptp_data = ptp_caps_to_data(ptp); in sja1105_ptp_enable() local
855 struct sja1105_private *priv = ptp_data_to_sja1105(ptp_data); in sja1105_ptp_enable()
869 struct sja1105_ptp_data *ptp_data = ptp_caps_to_data(ptp); in sja1105_ptp_verify_pin() local
870 struct sja1105_private *priv = ptp_data_to_sja1105(ptp_data); in sja1105_ptp_verify_pin()
900 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_ptp_clock_register() local
902 ptp_data->caps = (struct ptp_clock_info) { in sja1105_ptp_clock_register()
920 skb_queue_head_init(&ptp_data->skb_rxtstamp_queue); in sja1105_ptp_clock_register()
925 ptp_data->clock = ptp_clock_register(&ptp_data->caps, ds->dev); in sja1105_ptp_clock_register()
926 if (IS_ERR_OR_NULL(ptp_data->clock)) in sja1105_ptp_clock_register()
927 return PTR_ERR(ptp_data->clock); in sja1105_ptp_clock_register()
929 ptp_data->cmd.corrclk4ts = true; in sja1105_ptp_clock_register()
930 ptp_data->cmd.ptpclkadd = PTP_SET_MODE; in sja1105_ptp_clock_register()
932 timer_setup(&ptp_data->extts_timer, sja1105_ptp_extts_timer, 0); in sja1105_ptp_clock_register()
941 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_ptp_clock_unregister() local
943 if (IS_ERR_OR_NULL(ptp_data->clock)) in sja1105_ptp_clock_unregister()
946 del_timer_sync(&ptp_data->extts_timer); in sja1105_ptp_clock_unregister()
947 ptp_cancel_worker_sync(ptp_data->clock); in sja1105_ptp_clock_unregister()
949 skb_queue_purge(&ptp_data->skb_rxtstamp_queue); in sja1105_ptp_clock_unregister()
950 ptp_clock_unregister(ptp_data->clock); in sja1105_ptp_clock_unregister()
951 ptp_data->clock = NULL; in sja1105_ptp_clock_unregister()
958 struct sja1105_ptp_data *ptp_data = &priv->ptp_data; in sja1105_ptp_txtstamp_skb() local
965 mutex_lock(&ptp_data->lock); in sja1105_ptp_txtstamp_skb()
987 mutex_unlock(&ptp_data->lock); in sja1105_ptp_txtstamp_skb()