Lines Matching refs:ptp

69 	struct lan743x_ptp *ptp = &adapter->ptp;
71 spin_lock_bh(&ptp->tx_ts_lock);
72 if (ptp->tx_ts_queue_size < LAN743X_PTP_NUMBER_OF_TX_TIMESTAMPS) {
73 ptp->tx_ts_seconds_queue[ptp->tx_ts_queue_size] = seconds;
74 ptp->tx_ts_nseconds_queue[ptp->tx_ts_queue_size] = nano_seconds;
75 ptp->tx_ts_header_queue[ptp->tx_ts_queue_size] = header;
76 ptp->tx_ts_queue_size++;
81 spin_unlock_bh(&ptp->tx_ts_lock);
86 struct lan743x_ptp *ptp = &adapter->ptp;
93 spin_lock_bh(&ptp->tx_ts_lock);
94 c = ptp->tx_ts_skb_queue_size;
96 if (c > ptp->tx_ts_queue_size)
97 c = ptp->tx_ts_queue_size;
102 ignore_sync = ((ptp->tx_ts_ignore_sync_queue &
104 skb = ptp->tx_ts_skb_queue[i];
105 nseconds = ptp->tx_ts_nseconds_queue[i];
106 seconds = ptp->tx_ts_seconds_queue[i];
107 header = ptp->tx_ts_header_queue[i];
118 ptp->tx_ts_skb_queue[i] = NULL;
119 ptp->tx_ts_seconds_queue[i] = 0;
120 ptp->tx_ts_nseconds_queue[i] = 0;
121 ptp->tx_ts_header_queue[i] = 0;
125 ptp->tx_ts_ignore_sync_queue >>= c;
127 ptp->tx_ts_skb_queue[i - c] = ptp->tx_ts_skb_queue[i];
128 ptp->tx_ts_seconds_queue[i - c] = ptp->tx_ts_seconds_queue[i];
129 ptp->tx_ts_nseconds_queue[i - c] = ptp->tx_ts_nseconds_queue[i];
130 ptp->tx_ts_header_queue[i - c] = ptp->tx_ts_header_queue[i];
132 ptp->tx_ts_skb_queue[i] = NULL;
133 ptp->tx_ts_seconds_queue[i] = 0;
134 ptp->tx_ts_nseconds_queue[i] = 0;
135 ptp->tx_ts_header_queue[i] = 0;
137 ptp->tx_ts_skb_queue_size -= c;
138 ptp->tx_ts_queue_size -= c;
140 ptp->pending_tx_timestamps -= c;
141 spin_unlock_bh(&ptp->tx_ts_lock);
147 struct lan743x_ptp *ptp = &adapter->ptp;
150 mutex_lock(&ptp->command_lock);
151 if (!(test_bit(event_channel, &ptp->used_event_ch))) {
152 ptp->used_event_ch |= BIT(event_channel);
159 mutex_unlock(&ptp->command_lock);
166 struct lan743x_ptp *ptp = &adapter->ptp;
168 mutex_lock(&ptp->command_lock);
169 if (test_bit(event_channel, &ptp->used_event_ch)) {
170 ptp->used_event_ch &= ~BIT(event_channel);
176 mutex_unlock(&ptp->command_lock);
188 struct lan743x_ptp *ptp = &adapter->ptp;
190 if (ptp->leds_multiplexed &&
191 ptp->led_enabled[pin]) {
205 struct lan743x_ptp *ptp = &adapter->ptp;
215 ptp->led_enabled[i] = led_enabled;
217 ptp->leds_multiplexed = true;
219 ptp->leds_multiplexed = false;
297 /* disable ptp output */
323 struct lan743x_ptp *ptp =
326 container_of(ptp, struct lan743x_adapter, ptp);
356 struct lan743x_ptp *ptp =
359 container_of(ptp, struct lan743x_adapter, ptp);
390 struct lan743x_ptp *ptp =
393 container_of(ptp, struct lan743x_adapter, ptp);
403 struct lan743x_ptp *ptp =
406 container_of(ptp, struct lan743x_adapter, ptp);
420 struct lan743x_ptp *ptp =
423 container_of(ptp, struct lan743x_adapter, ptp);
456 struct lan743x_ptp *ptp = &adapter->ptp;
458 struct lan743x_ptp_perout *perout = &ptp->perout[index];
486 struct lan743x_ptp *ptp = &adapter->ptp;
493 struct lan743x_ptp_perout *perout = &ptp->perout[index];
500 perout_pin = ptp_find_pin(ptp->ptp_clock, PTP_PF_PEROUT,
608 struct lan743x_ptp *ptp =
611 container_of(ptp, struct lan743x_adapter, ptp);
636 static int lan743x_ptpci_verify_pin_config(struct ptp_clock_info *ptp,
661 struct lan743x_ptp *ptp =
664 container_of(ptp, struct lan743x_adapter, ptp);
716 struct lan743x_ptp *ptp = &adapter->ptp;
718 mutex_lock(&ptp->command_lock);
733 mutex_unlock(&ptp->command_lock);
739 struct lan743x_ptp *ptp = &adapter->ptp;
813 mutex_lock(&ptp->command_lock);
836 mutex_unlock(&ptp->command_lock);
839 mutex_lock(&ptp->command_lock);
848 mutex_unlock(&ptp->command_lock);
855 struct lan743x_ptp *ptp = NULL;
859 ptp = &adapter->ptp;
867 ptp_schedule_worker(ptp->ptp_clock, 0);
897 struct lan743x_ptp *ptp = &adapter->ptp;
899 spin_lock_bh(&ptp->tx_ts_lock);
900 if (ptp->tx_ts_skb_queue_size < LAN743X_PTP_NUMBER_OF_TX_TIMESTAMPS) {
901 ptp->tx_ts_skb_queue[ptp->tx_ts_skb_queue_size] = skb;
903 ptp->tx_ts_ignore_sync_queue |=
904 BIT(ptp->tx_ts_skb_queue_size);
905 ptp->tx_ts_skb_queue_size++;
915 spin_unlock_bh(&ptp->tx_ts_lock);
951 struct lan743x_ptp *ptp = &adapter->ptp;
954 mutex_init(&ptp->command_lock);
955 spin_lock_init(&ptp->tx_ts_lock);
956 ptp->used_event_ch = 0;
959 ptp->perout[i].event_ch = -1;
960 ptp->perout[i].gpio_pin = -1;
970 struct lan743x_ptp *ptp = &adapter->ptp;
985 ptp->flags |= PTP_FLAG_ISR_ENABLED;
1009 struct ptp_pin_desc *ptp_pin = &ptp->pin_config[i];
1017 ptp->ptp_clock_info.owner = THIS_MODULE;
1018 snprintf(ptp->ptp_clock_info.name, 16, "%pm",
1020 ptp->ptp_clock_info.max_adj = LAN743X_PTP_MAX_FREQ_ADJ_IN_PPB;
1021 ptp->ptp_clock_info.n_alarm = 0;
1022 ptp->ptp_clock_info.n_ext_ts = 0;
1023 ptp->ptp_clock_info.n_per_out = LAN743X_PTP_N_EVENT_CHAN;
1024 ptp->ptp_clock_info.n_pins = n_pins;
1025 ptp->ptp_clock_info.pps = 0;
1026 ptp->ptp_clock_info.pin_config = ptp->pin_config;
1027 ptp->ptp_clock_info.adjfine = lan743x_ptpci_adjfine;
1028 ptp->ptp_clock_info.adjfreq = lan743x_ptpci_adjfreq;
1029 ptp->ptp_clock_info.adjtime = lan743x_ptpci_adjtime;
1030 ptp->ptp_clock_info.gettime64 = lan743x_ptpci_gettime64;
1031 ptp->ptp_clock_info.getcrosststamp = NULL;
1032 ptp->ptp_clock_info.settime64 = lan743x_ptpci_settime64;
1033 ptp->ptp_clock_info.enable = lan743x_ptpci_enable;
1034 ptp->ptp_clock_info.do_aux_work = lan743x_ptpci_do_aux_work;
1035 ptp->ptp_clock_info.verify = lan743x_ptpci_verify_pin_config;
1037 ptp->ptp_clock = ptp_clock_register(&ptp->ptp_clock_info,
1040 if (IS_ERR(ptp->ptp_clock)) {
1045 ptp->flags |= PTP_FLAG_PTP_CLOCK_REGISTERED;
1047 "successfully registered ptp clock\n");
1057 struct lan743x_ptp *ptp = &adapter->ptp;
1061 (ptp->flags & PTP_FLAG_PTP_CLOCK_REGISTERED)) {
1062 ptp_clock_unregister(ptp->ptp_clock);
1063 ptp->ptp_clock = NULL;
1064 ptp->flags &= ~PTP_FLAG_PTP_CLOCK_REGISTERED;
1066 "ptp clock unregister\n");
1069 if (ptp->flags & PTP_FLAG_ISR_ENABLED) {
1074 ptp->flags &= ~PTP_FLAG_ISR_ENABLED;
1079 spin_lock_bh(&ptp->tx_ts_lock);
1083 struct sk_buff *skb = ptp->tx_ts_skb_queue[index];
1086 ptp->tx_ts_skb_queue[index] = NULL;
1087 ptp->tx_ts_seconds_queue[index] = 0;
1088 ptp->tx_ts_nseconds_queue[index] = 0;
1090 ptp->tx_ts_skb_queue_size = 0;
1091 ptp->tx_ts_queue_size = 0;
1092 ptp->pending_tx_timestamps = 0;
1093 spin_unlock_bh(&ptp->tx_ts_lock);
1122 struct lan743x_ptp *ptp = &adapter->ptp;
1124 mutex_lock(&ptp->command_lock);
1133 mutex_unlock(&ptp->command_lock);
1138 struct lan743x_ptp *ptp = &adapter->ptp;
1140 mutex_lock(&ptp->command_lock);
1149 mutex_unlock(&ptp->command_lock);
1154 struct lan743x_ptp *ptp = &adapter->ptp;
1156 mutex_lock(&ptp->command_lock);
1167 mutex_unlock(&ptp->command_lock);
1174 struct lan743x_ptp *ptp = &adapter->ptp;
1176 mutex_lock(&ptp->command_lock);
1184 mutex_unlock(&ptp->command_lock);
1189 struct lan743x_ptp *ptp = &adapter->ptp;
1192 spin_lock_bh(&ptp->tx_ts_lock);
1193 if (ptp->pending_tx_timestamps < LAN743X_PTP_NUMBER_OF_TX_TIMESTAMPS) {
1195 ptp->pending_tx_timestamps++;
1198 spin_unlock_bh(&ptp->tx_ts_lock);
1204 struct lan743x_ptp *ptp = &adapter->ptp;
1206 spin_lock_bh(&ptp->tx_ts_lock);
1207 if (ptp->pending_tx_timestamps > 0)
1208 ptp->pending_tx_timestamps--;
1212 spin_unlock_bh(&ptp->tx_ts_lock);