Lines Matching refs:ptp_data

398 	if (!efx->ptp_data)  in efx_siena_ptp_describe_stats()
412 if (!efx->ptp_data) in efx_siena_ptp_update_stats()
419 stats[i] = *(unsigned int *)((char *)efx->ptp_data + in efx_siena_ptp_update_stats()
541 return efx->ptp_data ? efx->ptp_data->channel : NULL; in efx_siena_ptp_channel()
612 struct efx_ptp_data *ptp = efx->ptp_data; in efx_siena_ptp_nic_to_kernel_time()
633 struct efx_ptp_data *ptp = efx->ptp_data; in efx_ptp_get_attributes()
745 efx->ptp_data->ts_corrections.ptp_tx = MCDI_DWORD(outbuf, in efx_ptp_get_timestamp_corrections()
747 efx->ptp_data->ts_corrections.ptp_rx = MCDI_DWORD(outbuf, in efx_ptp_get_timestamp_corrections()
749 efx->ptp_data->ts_corrections.pps_out = MCDI_DWORD(outbuf, in efx_ptp_get_timestamp_corrections()
751 efx->ptp_data->ts_corrections.pps_in = MCDI_DWORD(outbuf, in efx_ptp_get_timestamp_corrections()
755 efx->ptp_data->ts_corrections.general_tx = MCDI_DWORD( in efx_ptp_get_timestamp_corrections()
758 efx->ptp_data->ts_corrections.general_rx = MCDI_DWORD( in efx_ptp_get_timestamp_corrections()
762 efx->ptp_data->ts_corrections.general_tx = in efx_ptp_get_timestamp_corrections()
763 efx->ptp_data->ts_corrections.ptp_tx; in efx_ptp_get_timestamp_corrections()
764 efx->ptp_data->ts_corrections.general_rx = in efx_ptp_get_timestamp_corrections()
765 efx->ptp_data->ts_corrections.ptp_rx; in efx_ptp_get_timestamp_corrections()
768 efx->ptp_data->ts_corrections.ptp_tx = 0; in efx_ptp_get_timestamp_corrections()
769 efx->ptp_data->ts_corrections.ptp_rx = 0; in efx_ptp_get_timestamp_corrections()
770 efx->ptp_data->ts_corrections.pps_out = 0; in efx_ptp_get_timestamp_corrections()
771 efx->ptp_data->ts_corrections.pps_in = 0; in efx_ptp_get_timestamp_corrections()
772 efx->ptp_data->ts_corrections.general_tx = 0; in efx_ptp_get_timestamp_corrections()
773 efx->ptp_data->ts_corrections.general_rx = 0; in efx_ptp_get_timestamp_corrections()
793 efx->ptp_data->channel ? in efx_ptp_enable()
794 efx->ptp_data->channel->channel : 0); in efx_ptp_enable()
795 MCDI_SET_DWORD(inbuf, PTP_IN_ENABLE_MODE, efx->ptp_data->mode); in efx_ptp_enable()
861 struct efx_ptp_data *ptp = efx->ptp_data; in efx_ptp_send_times()
932 struct efx_ptp_data *ptp = efx->ptp_data; in efx_ptp_process_times()
1027 struct efx_ptp_data *ptp = efx->ptp_data; in efx_ptp_synchronize()
1090 struct efx_ptp_data *ptp_data = efx->ptp_data; in efx_ptp_xmit_skb_queue() local
1094 tx_queue = efx_channel_get_tx_queue(ptp_data->channel, type); in efx_ptp_xmit_skb_queue()
1106 struct efx_ptp_data *ptp_data = efx->ptp_data; in efx_ptp_xmit_skb_mc() local
1112 MCDI_SET_DWORD(ptp_data->txbuf, PTP_IN_OP, MC_CMD_PTP_OP_TRANSMIT); in efx_ptp_xmit_skb_mc()
1113 MCDI_SET_DWORD(ptp_data->txbuf, PTP_IN_PERIPH_ID, 0); in efx_ptp_xmit_skb_mc()
1114 MCDI_SET_DWORD(ptp_data->txbuf, PTP_IN_TRANSMIT_LENGTH, skb->len); in efx_ptp_xmit_skb_mc()
1127 MCDI_PTR(ptp_data->txbuf, in efx_ptp_xmit_skb_mc()
1130 rc = efx_siena_mcdi_rpc(efx, MC_CMD_PTP, ptp_data->txbuf, in efx_ptp_xmit_skb_mc()
1137 timestamps.hwtstamp = ptp_data->nic_to_kernel_time( in efx_ptp_xmit_skb_mc()
1140 ptp_data->ts_corrections.ptp_tx); in efx_ptp_xmit_skb_mc()
1154 struct efx_ptp_data *ptp = efx->ptp_data; in efx_ptp_drop_time_expired_events()
1180 struct efx_ptp_data *ptp = efx->ptp_data; in efx_ptp_match_rx()
1228 struct efx_ptp_data *ptp = efx->ptp_data; in efx_ptp_process_events()
1262 struct efx_ptp_data *ptp = efx->ptp_data; in efx_ptp_remove_multicast_filters()
1275 struct efx_ptp_data *ptp = efx->ptp_data; in efx_ptp_insert_multicast_filters()
1324 struct efx_ptp_data *ptp = efx->ptp_data; in efx_ptp_start()
1349 struct efx_ptp_data *ptp = efx->ptp_data; in efx_ptp_stop()
1362 efx_ptp_deliver_rx_queue(&efx->ptp_data->rxq); in efx_ptp_stop()
1363 skb_queue_purge(&efx->ptp_data->txq); in efx_ptp_stop()
1366 spin_lock_bh(&efx->ptp_data->evt_lock); in efx_ptp_stop()
1367 list_for_each_safe(cursor, next, &efx->ptp_data->evt_list) { in efx_ptp_stop()
1368 list_move(cursor, &efx->ptp_data->evt_free_list); in efx_ptp_stop()
1370 spin_unlock_bh(&efx->ptp_data->evt_lock); in efx_ptp_stop()
1377 if (efx->ptp_data && efx->ptp_data->enabled) in efx_ptp_restart()
1399 struct efx_ptp_data *ptp_data = in efx_ptp_worker() local
1401 struct efx_nic *efx = ptp_data->efx; in efx_ptp_worker()
1405 if (ptp_data->reset_required) { in efx_ptp_worker()
1416 while ((skb = skb_dequeue(&ptp_data->txq))) in efx_ptp_worker()
1417 ptp_data->xmit_skb(efx, skb); in efx_ptp_worker()
1447 efx->ptp_data = ptp; in efx_ptp_probe()
1448 if (!efx->ptp_data) in efx_ptp_probe()
1517 ptp_clock_unregister(efx->ptp_data->phc_clock); in efx_ptp_probe()
1520 destroy_workqueue(efx->ptp_data->workwq); in efx_ptp_probe()
1526 kfree(efx->ptp_data); in efx_ptp_probe()
1527 efx->ptp_data = NULL; in efx_ptp_probe()
1559 if (!efx->ptp_data) in efx_ptp_remove()
1564 cancel_work_sync(&efx->ptp_data->work); in efx_ptp_remove()
1565 if (efx->ptp_data->pps_workwq) in efx_ptp_remove()
1566 cancel_work_sync(&efx->ptp_data->pps_work); in efx_ptp_remove()
1568 skb_queue_purge(&efx->ptp_data->rxq); in efx_ptp_remove()
1569 skb_queue_purge(&efx->ptp_data->txq); in efx_ptp_remove()
1571 if (efx->ptp_data->phc_clock) { in efx_ptp_remove()
1572 destroy_workqueue(efx->ptp_data->pps_workwq); in efx_ptp_remove()
1573 ptp_clock_unregister(efx->ptp_data->phc_clock); in efx_ptp_remove()
1576 destroy_workqueue(efx->ptp_data->workwq); in efx_ptp_remove()
1578 efx_siena_free_buffer(efx, &efx->ptp_data->start); in efx_ptp_remove()
1579 kfree(efx->ptp_data); in efx_ptp_remove()
1580 efx->ptp_data = NULL; in efx_ptp_remove()
1599 return efx->ptp_data && in efx_siena_ptp_is_ptp_tx()
1600 efx->ptp_data->enabled && in efx_siena_ptp_is_ptp_tx()
1619 struct efx_ptp_data *ptp = efx->ptp_data; in efx_ptp_rx()
1705 struct efx_ptp_data *ptp = efx->ptp_data; in efx_siena_ptp_tx()
1719 return efx->ptp_data->mode; in efx_siena_ptp_get_mode()
1725 if ((enable_wanted != efx->ptp_data->enabled) || in efx_siena_ptp_change_mode()
1726 (enable_wanted && (efx->ptp_data->mode != new_mode))) { in efx_siena_ptp_change_mode()
1731 if (efx->ptp_data->enabled && in efx_siena_ptp_change_mode()
1732 (efx->ptp_data->mode != new_mode)) { in efx_siena_ptp_change_mode()
1733 efx->ptp_data->enabled = false; in efx_siena_ptp_change_mode()
1743 efx->ptp_data->mode = new_mode; in efx_siena_ptp_change_mode()
1759 efx->ptp_data->enabled = enable_wanted; in efx_siena_ptp_change_mode()
1777 efx->ptp_data->config = *init; in efx_ptp_ts_init()
1784 struct efx_ptp_data *ptp = efx->ptp_data; in efx_siena_ptp_get_ts_info()
1795 if (primary && primary->ptp_data && primary->ptp_data->phc_clock) in efx_siena_ptp_get_ts_info()
1797 ptp_clock_index(primary->ptp_data->phc_clock); in efx_siena_ptp_get_ts_info()
1808 if (!efx->ptp_data) in efx_siena_ptp_set_ts_config()
1824 if (!efx->ptp_data) in efx_siena_ptp_get_ts_config()
1827 return copy_to_user(ifr->ifr_data, &efx->ptp_data->config, in efx_siena_ptp_get_ts_config()
1828 sizeof(efx->ptp_data->config)) ? -EFAULT : 0; in efx_siena_ptp_get_ts_config()
1833 struct efx_ptp_data *ptp = efx->ptp_data; in ptp_event_failure()
1871 evt->hwtimestamp = efx->ptp_data->nic_to_kernel_time( in ptp_event_rx()
1905 struct efx_ptp_data *ptp = efx->ptp_data; in efx_siena_ptp_event()
1957 struct efx_ptp_data *ptp = efx->ptp_data; in efx_siena_time_sync_event()
1994 struct efx_ptp_data *ptp = efx->ptp_data; in __efx_siena_rx_skb_attach_timestamp()
2049 struct efx_ptp_data *ptp_data = container_of(ptp, in efx_phc_adjfine() local
2053 struct efx_nic *efx = ptp_data->efx; in efx_phc_adjfine()
2065 (1 << (ptp_data->adjfreq_ppb_shift - 1))) >> in efx_phc_adjfine()
2066 ptp_data->adjfreq_ppb_shift; in efx_phc_adjfine()
2078 ptp_data->current_adjfreq = adjustment_ns; in efx_phc_adjfine()
2085 struct efx_ptp_data *ptp_data = container_of(ptp, in efx_phc_adjtime() local
2088 struct efx_nic *efx = ptp_data->efx; in efx_phc_adjtime()
2091 efx->ptp_data->ns_to_nic_time(delta, &nic_major, &nic_minor); in efx_phc_adjtime()
2095 MCDI_SET_QWORD(inbuf, PTP_IN_ADJUST_FREQ, ptp_data->current_adjfreq); in efx_phc_adjtime()
2104 struct efx_ptp_data *ptp_data = container_of(ptp, in efx_phc_gettime() local
2107 struct efx_nic *efx = ptp_data->efx; in efx_phc_gettime()
2121 kt = ptp_data->nic_to_kernel_time( in efx_phc_gettime()
2156 struct efx_ptp_data *ptp_data = container_of(ptp, in efx_phc_enable() local
2162 ptp_data->nic_ts_enabled = !!enable; in efx_phc_enable()