Lines Matching refs:ptp

81 	struct lan743x_ptp *ptp = &adapter->ptp;
83 spin_lock_bh(&ptp->tx_ts_lock);
84 if (ptp->tx_ts_queue_size < LAN743X_PTP_NUMBER_OF_TX_TIMESTAMPS) {
85 ptp->tx_ts_seconds_queue[ptp->tx_ts_queue_size] = seconds;
86 ptp->tx_ts_nseconds_queue[ptp->tx_ts_queue_size] = nano_seconds;
87 ptp->tx_ts_header_queue[ptp->tx_ts_queue_size] = header;
88 ptp->tx_ts_queue_size++;
93 spin_unlock_bh(&ptp->tx_ts_lock);
98 struct lan743x_ptp *ptp = &adapter->ptp;
105 spin_lock_bh(&ptp->tx_ts_lock);
106 c = ptp->tx_ts_skb_queue_size;
108 if (c > ptp->tx_ts_queue_size)
109 c = ptp->tx_ts_queue_size;
114 ignore_sync = ((ptp->tx_ts_ignore_sync_queue &
116 skb = ptp->tx_ts_skb_queue[i];
117 nseconds = ptp->tx_ts_nseconds_queue[i];
118 seconds = ptp->tx_ts_seconds_queue[i];
119 header = ptp->tx_ts_header_queue[i];
130 ptp->tx_ts_skb_queue[i] = NULL;
131 ptp->tx_ts_seconds_queue[i] = 0;
132 ptp->tx_ts_nseconds_queue[i] = 0;
133 ptp->tx_ts_header_queue[i] = 0;
137 ptp->tx_ts_ignore_sync_queue >>= c;
139 ptp->tx_ts_skb_queue[i - c] = ptp->tx_ts_skb_queue[i];
140 ptp->tx_ts_seconds_queue[i - c] = ptp->tx_ts_seconds_queue[i];
141 ptp->tx_ts_nseconds_queue[i - c] = ptp->tx_ts_nseconds_queue[i];
142 ptp->tx_ts_header_queue[i - c] = ptp->tx_ts_header_queue[i];
144 ptp->tx_ts_skb_queue[i] = NULL;
145 ptp->tx_ts_seconds_queue[i] = 0;
146 ptp->tx_ts_nseconds_queue[i] = 0;
147 ptp->tx_ts_header_queue[i] = 0;
149 ptp->tx_ts_skb_queue_size -= c;
150 ptp->tx_ts_queue_size -= c;
152 ptp->pending_tx_timestamps -= c;
153 spin_unlock_bh(&ptp->tx_ts_lock);
159 struct lan743x_ptp *ptp = &adapter->ptp;
162 mutex_lock(&ptp->command_lock);
163 if (!(test_bit(event_channel, &ptp->used_event_ch))) {
164 ptp->used_event_ch |= BIT(event_channel);
171 mutex_unlock(&ptp->command_lock);
178 struct lan743x_ptp *ptp = &adapter->ptp;
180 mutex_lock(&ptp->command_lock);
181 if (test_bit(event_channel, &ptp->used_event_ch)) {
182 ptp->used_event_ch &= ~BIT(event_channel);
188 mutex_unlock(&ptp->command_lock);
202 struct lan743x_ptp *ptp = &adapter->ptp;
204 if (ptp->leds_multiplexed &&
205 ptp->led_enabled[pin]) {
219 struct lan743x_ptp *ptp = &adapter->ptp;
229 ptp->led_enabled[i] = led_enabled;
231 ptp->leds_multiplexed = true;
233 ptp->leds_multiplexed = false;
311 /* disable ptp output */
337 struct lan743x_ptp *ptp =
340 container_of(ptp, struct lan743x_adapter, ptp);
363 struct lan743x_ptp *ptp =
366 container_of(ptp, struct lan743x_adapter, ptp);
376 struct lan743x_ptp *ptp =
379 container_of(ptp, struct lan743x_adapter, ptp);
397 struct lan743x_ptp *ptp =
400 container_of(ptp, struct lan743x_adapter, ptp);
433 struct lan743x_ptp *ptp = &adapter->ptp;
435 struct lan743x_ptp_perout *perout = &ptp->perout[index];
463 struct lan743x_ptp *ptp = &adapter->ptp;
470 struct lan743x_ptp_perout *perout = &ptp->perout[index];
478 perout_pin = ptp_find_pin(ptp->ptp_clock, PTP_PF_PEROUT,
654 struct lan743x_ptp *ptp = &adapter->ptp;
660 event_ch = ptp->ptp_io_perout[index];
683 ptp->ptp_io_perout[index] = -1;
686 perout_pin = ptp_find_pin(ptp->ptp_clock, PTP_PF_PEROUT, index);
706 struct lan743x_ptp *ptp = &adapter->ptp;
718 event_ch = ptp->ptp_io_perout[index];
721 perout_pin = ptp_find_pin(ptp->ptp_clock, PTP_PF_PEROUT, index);
741 ptp->ptp_io_perout[index] = event_ch;
863 struct lan743x_ptp *ptp = &adapter->ptp;
867 extts = &ptp->extts[index];
899 struct lan743x_ptp *ptp = &adapter->ptp;
905 mutex_lock(&ptp->command_lock);
935 mutex_unlock(&ptp->command_lock);
943 struct lan743x_ptp *ptp = &adapter->ptp;
950 extts = &ptp->extts[index];
953 extts_pin = ptp_find_pin(ptp->ptp_clock, PTP_PF_EXTTS, index);
970 struct lan743x_ptp *ptp =
973 container_of(ptp, struct lan743x_adapter, ptp);
1006 static int lan743x_ptpci_verify_pin_config(struct ptp_clock_info *ptp,
1012 container_of(ptp, struct lan743x_ptp, ptp_clock_info);
1014 container_of(lan_ptp, struct lan743x_adapter, ptp);
1040 struct lan743x_ptp *ptp = &adapter->ptp;
1044 mutex_lock(&ptp->command_lock);
1053 mutex_unlock(&ptp->command_lock);
1056 extts = &ptp->extts[channel];
1065 struct lan743x_ptp *ptp =
1068 container_of(ptp, struct lan743x_adapter, ptp);
1135 ptp_clock_event(ptp->ptp_clock,
1168 ptp_clock_event(ptp->ptp_clock,
1200 struct lan743x_ptp *ptp = &adapter->ptp;
1202 mutex_lock(&ptp->command_lock);
1217 mutex_unlock(&ptp->command_lock);
1223 struct lan743x_ptp *ptp = &adapter->ptp;
1225 mutex_lock(&ptp->command_lock);
1239 mutex_unlock(&ptp->command_lock);
1245 struct lan743x_ptp *ptp = &adapter->ptp;
1328 mutex_lock(&ptp->command_lock);
1351 mutex_unlock(&ptp->command_lock);
1354 mutex_lock(&ptp->command_lock);
1363 mutex_unlock(&ptp->command_lock);
1370 struct lan743x_ptp *ptp = NULL;
1374 ptp = &adapter->ptp;
1382 ptp_schedule_worker(ptp->ptp_clock, 0);
1412 struct lan743x_ptp *ptp = &adapter->ptp;
1414 spin_lock_bh(&ptp->tx_ts_lock);
1415 if (ptp->tx_ts_skb_queue_size < LAN743X_PTP_NUMBER_OF_TX_TIMESTAMPS) {
1416 ptp->tx_ts_skb_queue[ptp->tx_ts_skb_queue_size] = skb;
1418 ptp->tx_ts_ignore_sync_queue |=
1419 BIT(ptp->tx_ts_skb_queue_size);
1420 ptp->tx_ts_skb_queue_size++;
1430 spin_unlock_bh(&ptp->tx_ts_lock);
1466 struct lan743x_ptp *ptp = &adapter->ptp;
1469 mutex_init(&ptp->command_lock);
1470 spin_lock_init(&ptp->tx_ts_lock);
1471 ptp->used_event_ch = 0;
1474 ptp->perout[i].event_ch = -1;
1475 ptp->perout[i].gpio_pin = -1;
1485 struct lan743x_ptp *ptp = &adapter->ptp;
1500 ptp->flags |= PTP_FLAG_ISR_ENABLED;
1526 struct ptp_pin_desc *ptp_pin = &ptp->pin_config[i];
1534 ptp->ptp_clock_info.owner = THIS_MODULE;
1535 snprintf(ptp->ptp_clock_info.name, 16, "%pm",
1537 ptp->ptp_clock_info.max_adj = LAN743X_PTP_MAX_FREQ_ADJ_IN_PPB;
1538 ptp->ptp_clock_info.n_alarm = 0;
1539 ptp->ptp_clock_info.n_ext_ts = LAN743X_PTP_N_EXTTS;
1540 ptp->ptp_clock_info.n_per_out = LAN743X_PTP_N_EVENT_CHAN;
1541 ptp->ptp_clock_info.n_pins = n_pins;
1542 ptp->ptp_clock_info.pps = LAN743X_PTP_N_PPS;
1543 ptp->ptp_clock_info.pin_config = ptp->pin_config;
1544 ptp->ptp_clock_info.adjfine = lan743x_ptpci_adjfine;
1545 ptp->ptp_clock_info.adjtime = lan743x_ptpci_adjtime;
1546 ptp->ptp_clock_info.gettime64 = lan743x_ptpci_gettime64;
1547 ptp->ptp_clock_info.getcrosststamp = NULL;
1548 ptp->ptp_clock_info.settime64 = lan743x_ptpci_settime64;
1549 ptp->ptp_clock_info.enable = lan743x_ptpci_enable;
1550 ptp->ptp_clock_info.do_aux_work = lan743x_ptpci_do_aux_work;
1551 ptp->ptp_clock_info.verify = lan743x_ptpci_verify_pin_config;
1553 ptp->ptp_clock = ptp_clock_register(&ptp->ptp_clock_info,
1556 if (IS_ERR(ptp->ptp_clock)) {
1561 ptp->flags |= PTP_FLAG_PTP_CLOCK_REGISTERED;
1563 "successfully registered ptp clock\n");
1573 struct lan743x_ptp *ptp = &adapter->ptp;
1577 (ptp->flags & PTP_FLAG_PTP_CLOCK_REGISTERED)) {
1578 ptp_clock_unregister(ptp->ptp_clock);
1579 ptp->ptp_clock = NULL;
1580 ptp->flags &= ~PTP_FLAG_PTP_CLOCK_REGISTERED;
1582 "ptp clock unregister\n");
1585 if (ptp->flags & PTP_FLAG_ISR_ENABLED) {
1590 ptp->flags &= ~PTP_FLAG_ISR_ENABLED;
1595 spin_lock_bh(&ptp->tx_ts_lock);
1599 struct sk_buff *skb = ptp->tx_ts_skb_queue[index];
1602 ptp->tx_ts_skb_queue[index] = NULL;
1603 ptp->tx_ts_seconds_queue[index] = 0;
1604 ptp->tx_ts_nseconds_queue[index] = 0;
1606 ptp->tx_ts_skb_queue_size = 0;
1607 ptp->tx_ts_queue_size = 0;
1608 ptp->pending_tx_timestamps = 0;
1609 spin_unlock_bh(&ptp->tx_ts_lock);
1638 struct lan743x_ptp *ptp = &adapter->ptp;
1640 mutex_lock(&ptp->command_lock);
1649 mutex_unlock(&ptp->command_lock);
1654 struct lan743x_ptp *ptp = &adapter->ptp;
1656 mutex_lock(&ptp->command_lock);
1665 mutex_unlock(&ptp->command_lock);
1670 struct lan743x_ptp *ptp = &adapter->ptp;
1672 mutex_lock(&ptp->command_lock);
1683 mutex_unlock(&ptp->command_lock);
1690 struct lan743x_ptp *ptp = &adapter->ptp;
1692 mutex_lock(&ptp->command_lock);
1700 mutex_unlock(&ptp->command_lock);
1705 struct lan743x_ptp *ptp = &adapter->ptp;
1708 spin_lock_bh(&ptp->tx_ts_lock);
1709 if (ptp->pending_tx_timestamps < LAN743X_PTP_NUMBER_OF_TX_TIMESTAMPS) {
1711 ptp->pending_tx_timestamps++;
1714 spin_unlock_bh(&ptp->tx_ts_lock);
1720 struct lan743x_ptp *ptp = &adapter->ptp;
1722 spin_lock_bh(&ptp->tx_ts_lock);
1723 if (ptp->pending_tx_timestamps > 0)
1724 ptp->pending_tx_timestamps--;
1728 spin_unlock_bh(&ptp->tx_ts_lock);