Lines Matching defs: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);
426 struct lan743x_ptp *ptp = &adapter->ptp;
428 struct lan743x_ptp_perout *perout = &ptp->perout[index];
456 struct lan743x_ptp *ptp = &adapter->ptp;
463 struct lan743x_ptp_perout *perout = &ptp->perout[index];
467 perout_pin = ptp_find_pin(ptp->ptp_clock, PTP_PF_PEROUT,
643 struct lan743x_ptp *ptp = &adapter->ptp;
649 event_ch = ptp->ptp_io_perout[index];
672 ptp->ptp_io_perout[index] = -1;
675 perout_pin = ptp_find_pin(ptp->ptp_clock, PTP_PF_PEROUT, index);
695 struct lan743x_ptp *ptp = &adapter->ptp;
707 event_ch = ptp->ptp_io_perout[index];
710 perout_pin = ptp_find_pin(ptp->ptp_clock, PTP_PF_PEROUT, index);
730 ptp->ptp_io_perout[index] = event_ch;
852 struct lan743x_ptp *ptp = &adapter->ptp;
856 extts = &ptp->extts[index];
888 struct lan743x_ptp *ptp = &adapter->ptp;
894 mutex_lock(&ptp->command_lock);
924 mutex_unlock(&ptp->command_lock);
932 struct lan743x_ptp *ptp = &adapter->ptp;
939 extts = &ptp->extts[index];
942 extts_pin = ptp_find_pin(ptp->ptp_clock, PTP_PF_EXTTS, index);
959 struct lan743x_ptp *ptp =
962 container_of(ptp, struct lan743x_adapter, ptp);
995 static int lan743x_ptpci_verify_pin_config(struct ptp_clock_info *ptp,
1001 container_of(ptp, struct lan743x_ptp, ptp_clock_info);
1003 container_of(lan_ptp, struct lan743x_adapter, ptp);
1029 struct lan743x_ptp *ptp = &adapter->ptp;
1033 mutex_lock(&ptp->command_lock);
1042 mutex_unlock(&ptp->command_lock);
1045 extts = &ptp->extts[channel];
1054 struct lan743x_ptp *ptp =
1057 container_of(ptp, struct lan743x_adapter, ptp);
1124 ptp_clock_event(ptp->ptp_clock,
1157 ptp_clock_event(ptp->ptp_clock,
1189 struct lan743x_ptp *ptp = &adapter->ptp;
1191 mutex_lock(&ptp->command_lock);
1206 mutex_unlock(&ptp->command_lock);
1212 struct lan743x_ptp *ptp = &adapter->ptp;
1214 mutex_lock(&ptp->command_lock);
1228 mutex_unlock(&ptp->command_lock);
1234 struct lan743x_ptp *ptp = &adapter->ptp;
1317 mutex_lock(&ptp->command_lock);
1340 mutex_unlock(&ptp->command_lock);
1343 mutex_lock(&ptp->command_lock);
1352 mutex_unlock(&ptp->command_lock);
1359 struct lan743x_ptp *ptp = NULL;
1363 ptp = &adapter->ptp;
1371 ptp_schedule_worker(ptp->ptp_clock, 0);
1401 struct lan743x_ptp *ptp = &adapter->ptp;
1403 spin_lock_bh(&ptp->tx_ts_lock);
1404 if (ptp->tx_ts_skb_queue_size < LAN743X_PTP_NUMBER_OF_TX_TIMESTAMPS) {
1405 ptp->tx_ts_skb_queue[ptp->tx_ts_skb_queue_size] = skb;
1407 ptp->tx_ts_ignore_sync_queue |=
1408 BIT(ptp->tx_ts_skb_queue_size);
1409 ptp->tx_ts_skb_queue_size++;
1419 spin_unlock_bh(&ptp->tx_ts_lock);
1455 struct lan743x_ptp *ptp = &adapter->ptp;
1458 mutex_init(&ptp->command_lock);
1459 spin_lock_init(&ptp->tx_ts_lock);
1460 ptp->used_event_ch = 0;
1463 ptp->perout[i].event_ch = -1;
1464 ptp->perout[i].gpio_pin = -1;
1474 struct lan743x_ptp *ptp = &adapter->ptp;
1493 ptp->flags |= PTP_FLAG_ISR_ENABLED;
1519 struct ptp_pin_desc *ptp_pin = &ptp->pin_config[i];
1527 ptp->ptp_clock_info.owner = THIS_MODULE;
1528 snprintf(ptp->ptp_clock_info.name, 16, "%pm",
1530 ptp->ptp_clock_info.max_adj = LAN743X_PTP_MAX_FREQ_ADJ_IN_PPB;
1531 ptp->ptp_clock_info.n_alarm = 0;
1532 ptp->ptp_clock_info.n_ext_ts = LAN743X_PTP_N_EXTTS;
1533 ptp->ptp_clock_info.n_per_out = LAN743X_PTP_N_EVENT_CHAN;
1534 ptp->ptp_clock_info.n_pins = n_pins;
1535 ptp->ptp_clock_info.pps = LAN743X_PTP_N_PPS;
1536 ptp->ptp_clock_info.supported_extts_flags = PTP_RISING_EDGE |
1539 ptp->ptp_clock_info.supported_perout_flags = PTP_PEROUT_DUTY_CYCLE;
1540 ptp->ptp_clock_info.pin_config = ptp->pin_config;
1541 ptp->ptp_clock_info.adjfine = lan743x_ptpci_adjfine;
1542 ptp->ptp_clock_info.adjtime = lan743x_ptpci_adjtime;
1543 ptp->ptp_clock_info.gettime64 = lan743x_ptpci_gettime64;
1544 ptp->ptp_clock_info.getcrosststamp = NULL;
1545 ptp->ptp_clock_info.settime64 = lan743x_ptpci_settime64;
1546 ptp->ptp_clock_info.enable = lan743x_ptpci_enable;
1547 ptp->ptp_clock_info.do_aux_work = lan743x_ptpci_do_aux_work;
1548 ptp->ptp_clock_info.verify = lan743x_ptpci_verify_pin_config;
1550 ptp->ptp_clock = ptp_clock_register(&ptp->ptp_clock_info,
1553 if (IS_ERR(ptp->ptp_clock)) {
1558 ptp->flags |= PTP_FLAG_PTP_CLOCK_REGISTERED;
1560 "successfully registered ptp clock\n");
1570 struct lan743x_ptp *ptp = &adapter->ptp;
1574 (ptp->flags & PTP_FLAG_PTP_CLOCK_REGISTERED)) {
1575 ptp_clock_unregister(ptp->ptp_clock);
1576 ptp->ptp_clock = NULL;
1577 ptp->flags &= ~PTP_FLAG_PTP_CLOCK_REGISTERED;
1579 "ptp clock unregister\n");
1582 if (ptp->flags & PTP_FLAG_ISR_ENABLED) {
1587 ptp->flags &= ~PTP_FLAG_ISR_ENABLED;
1592 spin_lock_bh(&ptp->tx_ts_lock);
1596 struct sk_buff *skb = ptp->tx_ts_skb_queue[index];
1599 ptp->tx_ts_skb_queue[index] = NULL;
1600 ptp->tx_ts_seconds_queue[index] = 0;
1601 ptp->tx_ts_nseconds_queue[index] = 0;
1603 ptp->tx_ts_skb_queue_size = 0;
1604 ptp->tx_ts_queue_size = 0;
1605 ptp->pending_tx_timestamps = 0;
1606 spin_unlock_bh(&ptp->tx_ts_lock);
1635 struct lan743x_ptp *ptp = &adapter->ptp;
1637 mutex_lock(&ptp->command_lock);
1646 mutex_unlock(&ptp->command_lock);
1651 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(&ptp->tx_ts_lock);
1709 if (ptp->pending_tx_timestamps < LAN743X_PTP_NUMBER_OF_TX_TIMESTAMPS) {
1711 ptp->pending_tx_timestamps++;
1714 spin_unlock(&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);