Lines Matching refs:rxts

94 struct rxts {
120 struct list_head rxts;
122 struct rxts rx_pool_data[MAX_RXTS];
272 static void phy2rxts(struct phy_rxts *p, struct rxts *rxts)
279 rxts->ns = p->ns_lo;
280 rxts->ns |= (p->ns_hi & 0x3fff) << 16;
281 rxts->ns += ((u64)sec) * 1000000000ULL;
282 rxts->seqid = p->seqid;
283 rxts->msgtype = (p->msgtype >> 12) & 0xf;
284 rxts->hash = p->msgtype & 0x0fff;
285 rxts->tmo = jiffies + SKB_TIMESTAMP_TIMEOUT;
593 static int expired(struct rxts *rxts)
595 return time_after(jiffies, rxts->tmo);
602 struct rxts *rxts;
604 list_for_each_safe(this, next, &dp83640->rxts) {
605 rxts = list_entry(this, struct rxts, list);
606 if (expired(rxts)) {
607 list_del_init(&rxts->list);
608 list_add(&rxts->list, &dp83640->rxpool);
805 static int match(struct sk_buff *skb, unsigned int type, struct rxts *rxts)
820 if (rxts->msgtype != (msgtype & 0xf))
824 if (rxts->seqid != seqid)
829 if (rxts->hash != hash)
838 struct rxts *rxts;
856 rxts = list_first_entry(&dp83640->rxpool, struct rxts, list);
857 list_del_init(&rxts->list);
858 phy2rxts(phy_rxts, rxts);
865 if (match(skb, skb_info->ptp_type, rxts)) {
869 shhwtstamps->hwtstamp = ns_to_ktime(rxts->ns);
870 list_add(&rxts->list, &dp83640->rxpool);
877 list_add_tail(&rxts->list, &dp83640->rxts);
1328 struct rxts *rxts;
1346 list_for_each_safe(this, next, &dp83640->rxts) {
1347 rxts = list_entry(this, struct rxts, list);
1348 if (match(skb, type, rxts)) {
1351 shhwtstamps->hwtstamp = ns_to_ktime(rxts->ns);
1352 list_del_init(&rxts->list);
1353 list_add(&rxts->list, &dp83640->rxpool);
1447 INIT_LIST_HEAD(&dp83640->rxts);