Lines Matching refs:td
562 struct t3c_data *td = container_of(work, struct t3c_data, in t3_process_tid_release_list() local
565 struct t3cdev *tdev = td->dev; in t3_process_tid_release_list()
568 spin_lock_bh(&td->tid_release_lock); in t3_process_tid_release_list()
569 while (td->tid_release_list) { in t3_process_tid_release_list()
570 struct t3c_tid_entry *p = td->tid_release_list; in t3_process_tid_release_list()
572 td->tid_release_list = p->ctx; in t3_process_tid_release_list()
573 spin_unlock_bh(&td->tid_release_lock); in t3_process_tid_release_list()
578 skb = td->nofail_skb; in t3_process_tid_release_list()
580 spin_lock_bh(&td->tid_release_lock); in t3_process_tid_release_list()
581 p->ctx = (void *)td->tid_release_list; in t3_process_tid_release_list()
582 td->tid_release_list = p; in t3_process_tid_release_list()
585 mk_tid_release(skb, p - td->tid_maps.tid_tab); in t3_process_tid_release_list()
588 if (skb == td->nofail_skb) in t3_process_tid_release_list()
589 td->nofail_skb = in t3_process_tid_release_list()
592 spin_lock_bh(&td->tid_release_lock); in t3_process_tid_release_list()
594 td->release_list_incomplete = (td->tid_release_list == NULL) ? 0 : 1; in t3_process_tid_release_list()
595 spin_unlock_bh(&td->tid_release_lock); in t3_process_tid_release_list()
597 if (!td->nofail_skb) in t3_process_tid_release_list()
598 td->nofail_skb = in t3_process_tid_release_list()
606 struct t3c_data *td = T3C_DATA(tdev); in cxgb3_queue_tid_release() local
607 struct t3c_tid_entry *p = &td->tid_maps.tid_tab[tid]; in cxgb3_queue_tid_release()
609 spin_lock_bh(&td->tid_release_lock); in cxgb3_queue_tid_release()
610 p->ctx = (void *)td->tid_release_list; in cxgb3_queue_tid_release()
612 td->tid_release_list = p; in cxgb3_queue_tid_release()
613 if (!p->ctx || td->release_list_incomplete) in cxgb3_queue_tid_release()
614 schedule_work(&td->tid_release_task); in cxgb3_queue_tid_release()
615 spin_unlock_bh(&td->tid_release_lock); in cxgb3_queue_tid_release()