Lines Matching refs:rxts
86 struct rxts {
112 struct list_head rxts;
114 struct rxts rx_pool_data[MAX_RXTS];
264 static void phy2rxts(struct phy_rxts *p, struct rxts *rxts)
271 rxts->ns = p->ns_lo;
272 rxts->ns |= (p->ns_hi & 0x3fff) << 16;
273 rxts->ns += ((u64)sec) * 1000000000ULL;
274 rxts->seqid = p->seqid;
275 rxts->msgtype = (p->msgtype >> 12) & 0xf;
276 rxts->hash = p->msgtype & 0x0fff;
277 rxts->tmo = jiffies + SKB_TIMESTAMP_TIMEOUT;
585 static int expired(struct rxts *rxts)
587 return time_after(jiffies, rxts->tmo);
594 struct rxts *rxts;
596 list_for_each_safe(this, next, &dp83640->rxts) {
597 rxts = list_entry(this, struct rxts, list);
598 if (expired(rxts)) {
599 list_del_init(&rxts->list);
600 list_add(&rxts->list, &dp83640->rxpool);
803 static int match(struct sk_buff *skb, unsigned int type, struct rxts *rxts)
818 if (rxts->msgtype != (msgtype & 0xf))
822 if (rxts->seqid != seqid)
827 if (rxts->hash != hash)
836 struct rxts *rxts;
854 rxts = list_first_entry(&dp83640->rxpool, struct rxts, list);
855 list_del_init(&rxts->list);
856 phy2rxts(phy_rxts, rxts);
863 if (match(skb, skb_info->ptp_type, rxts)) {
867 shhwtstamps->hwtstamp = ns_to_ktime(rxts->ns);
868 list_add(&rxts->list, &dp83640->rxpool);
875 list_add_tail(&rxts->list, &dp83640->rxts);
1317 struct rxts *rxts;
1335 list_for_each_safe(this, next, &dp83640->rxts) {
1336 rxts = list_entry(this, struct rxts, list);
1337 if (match(skb, type, rxts)) {
1340 shhwtstamps->hwtstamp = ns_to_ktime(rxts->ns);
1341 list_del_init(&rxts->list);
1342 list_add(&rxts->list, &dp83640->rxpool);
1436 INIT_LIST_HEAD(&dp83640->rxts);