• Home
  • Raw
  • Download

Lines Matching refs:tpd

1610 	struct he_tpd *tpd;  in __alloc_tpd()  local
1613 tpd = pci_pool_alloc(he_dev->tpd_pool, GFP_ATOMIC|GFP_DMA, &mapping); in __alloc_tpd()
1614 if (tpd == NULL) in __alloc_tpd()
1617 tpd->status = TPD_ADDR(mapping); in __alloc_tpd()
1618 tpd->reserved = 0; in __alloc_tpd()
1619 tpd->iovec[0].addr = 0; tpd->iovec[0].len = 0; in __alloc_tpd()
1620 tpd->iovec[1].addr = 0; tpd->iovec[1].len = 0; in __alloc_tpd()
1621 tpd->iovec[2].addr = 0; tpd->iovec[2].len = 0; in __alloc_tpd()
1623 return tpd; in __alloc_tpd()
1806 struct he_tpd *tpd; in he_service_tbrq() local
1820 tpd = NULL; in he_service_tbrq()
1823 tpd = __tpd; in he_service_tbrq()
1829 if (tpd == NULL) { in he_service_tbrq()
1837 he_mkcid(he_dev, tpd->vcc->vpi, tpd->vcc->vci)); in he_service_tbrq()
1838 if (tpd->vcc) in he_service_tbrq()
1839 wake_up(&HE_VCC(tpd->vcc)->tx_waitq); in he_service_tbrq()
1845 if (tpd->iovec[slot].addr) in he_service_tbrq()
1847 tpd->iovec[slot].addr, in he_service_tbrq()
1848 tpd->iovec[slot].len & TPD_LEN_MASK, in he_service_tbrq()
1850 if (tpd->iovec[slot].len & TPD_LST) in he_service_tbrq()
1855 if (tpd->skb) { /* && !TBRQ_MULTIPLE(he_dev->tbrq_head) */ in he_service_tbrq()
1856 if (tpd->vcc && tpd->vcc->pop) in he_service_tbrq()
1857 tpd->vcc->pop(tpd->vcc, tpd->skb); in he_service_tbrq()
1859 dev_kfree_skb_any(tpd->skb); in he_service_tbrq()
1863 if (tpd) in he_service_tbrq()
1864 pci_pool_free(he_dev->tpd_pool, tpd, TPD_ADDR(tpd->status)); in he_service_tbrq()
2052 __enqueue_tpd(struct he_dev *he_dev, struct he_tpd *tpd, unsigned cid) in __enqueue_tpd() argument
2057 tpd, cid, he_dev->tpdrq_tail); in __enqueue_tpd()
2086 if (tpd->iovec[slot].addr) in __enqueue_tpd()
2088 tpd->iovec[slot].addr, in __enqueue_tpd()
2089 tpd->iovec[slot].len & TPD_LEN_MASK, in __enqueue_tpd()
2092 if (tpd->skb) { in __enqueue_tpd()
2093 if (tpd->vcc->pop) in __enqueue_tpd()
2094 tpd->vcc->pop(tpd->vcc, tpd->skb); in __enqueue_tpd()
2096 dev_kfree_skb_any(tpd->skb); in __enqueue_tpd()
2097 atomic_inc(&tpd->vcc->stats->tx_err); in __enqueue_tpd()
2099 pci_pool_free(he_dev->tpd_pool, tpd, TPD_ADDR(tpd->status)); in __enqueue_tpd()
2105 list_add_tail(&tpd->entry, &he_dev->outstanding_tpds); in __enqueue_tpd()
2106 he_dev->tpdrq_tail->tpd = TPD_ADDR(tpd->status); in __enqueue_tpd()
2335 struct he_tpd *tpd; in he_close() local
2426 tpd = __alloc_tpd(he_dev); in he_close()
2427 if (tpd == NULL) { in he_close()
2431 tpd->status |= TPD_EOS | TPD_INT; in he_close()
2432 tpd->skb = NULL; in he_close()
2433 tpd->vcc = vcc; in he_close()
2438 __enqueue_tpd(he_dev, tpd, cid); in he_close()
2493 struct he_tpd *tpd; in he_send() local
2526 tpd = __alloc_tpd(he_dev); in he_send()
2527 if (tpd == NULL) { in he_send()
2538 tpd->status |= TPD_CELLTYPE(TPD_USERCELL); in he_send()
2545 tpd->status |= TPD_CELLTYPE(pti); in he_send()
2547 tpd->status |= TPD_CLP; in he_send()
2553 tpd->iovec[slot].addr = pci_map_single(he_dev->pci_dev, skb->data, in he_send()
2555 tpd->iovec[slot].len = skb_headlen(skb); in he_send()
2562 tpd->vcc = vcc; in he_send()
2563 tpd->skb = NULL; /* not the last fragment in he_send()
2567 __enqueue_tpd(he_dev, tpd, cid); in he_send()
2568 tpd = __alloc_tpd(he_dev); in he_send()
2569 if (tpd == NULL) { in he_send()
2578 tpd->status |= TPD_USERCELL; in he_send()
2582 tpd->iovec[slot].addr = pci_map_single(he_dev->pci_dev, in he_send()
2585 tpd->iovec[slot].len = frag->size; in he_send()
2590 tpd->iovec[slot - 1].len |= TPD_LST; in he_send()
2592 tpd->address0 = pci_map_single(he_dev->pci_dev, skb->data, skb->len, PCI_DMA_TODEVICE); in he_send()
2593 tpd->length0 = skb->len | TPD_LST; in he_send()
2595 tpd->status |= TPD_INT; in he_send()
2597 tpd->vcc = vcc; in he_send()
2598 tpd->skb = skb; in he_send()
2602 __enqueue_tpd(he_dev, tpd, cid); in he_send()