Lines Matching defs:descr

271  * @descr: descriptor to look at
291 struct spider_net_descr *descr;
293 descr = chain->ring;
295 descr->bus_addr = 0;
296 descr->hwdescr->next_descr_addr = 0;
297 descr = descr->next;
298 } while (descr != chain->ring);
319 struct spider_net_descr *descr;
334 descr = chain->ring;
337 for (i=0; i < chain->num_desc; i++, descr++, hwdescr++) {
341 descr->hwdescr = hwdescr;
342 descr->bus_addr = buf;
343 descr->next = descr + 1;
344 descr->prev = descr - 1;
349 (descr-1)->next = chain->ring;
350 chain->ring->prev = descr-1;
359 * spider_net_free_rx_chain_contents - frees descr contents in rx chain
367 struct spider_net_descr *descr;
369 descr = card->rx_chain.head;
371 if (descr->skb) {
372 pci_unmap_single(card->pdev, descr->hwdescr->buf_addr,
375 dev_kfree_skb(descr->skb);
376 descr->skb = NULL;
378 descr = descr->next;
379 } while (descr != card->rx_chain.head);
385 * @descr: descriptor to re-init
394 struct spider_net_descr *descr)
396 struct spider_net_hw_descr *hwdescr = descr->hwdescr;
408 descr->skb = netdev_alloc_skb(card->netdev,
410 if (!descr->skb) {
423 offset = ((unsigned long)descr->skb->data) &
426 skb_reserve(descr->skb, SPIDER_NET_RXBUF_ALIGN - offset);
428 buf = pci_map_single(card->pdev, descr->skb->data,
431 dev_kfree_skb_any(descr->skb);
432 descr->skb = NULL;
532 struct spider_net_descr *descr = start;
536 descr->prev->hwdescr->next_descr_addr = descr->bus_addr;
537 descr = descr->next;
538 } while (descr != start);
662 struct spider_net_descr *descr;
677 descr = card->tx_chain.head;
678 if (descr->next == chain->tail->prev) {
683 hwdescr = descr->hwdescr;
684 chain->head = descr->next;
686 descr->skb = skb;
706 /* Chain the bus address, so that the DMA engine finds this descr. */
708 descr->prev->hwdescr->next_descr_addr = descr->bus_addr;
717 struct spider_net_descr *descr = card->tx_chain.tail;
726 while (descr != card->tx_chain.head) {
727 status = descr->hwdescr->dmac_cmd_status & SPIDER_NET_DESCR_NOT_IN_USE;
730 descr = descr->next;
739 descr = card->tx_chain.tail;
742 descr = descr->next;
746 descr->hwdescr->dmac_cmd_status |= SPIDER_NET_DESCR_TXDESFLG;
747 if (card->low_watermark && card->low_watermark != descr) {
752 card->low_watermark = descr;
774 struct spider_net_descr *descr;
787 descr = chain->tail;
788 hwdescr = descr->hwdescr;
794 dev->stats.tx_bytes += descr->skb->len;
824 chain->tail = descr->next;
826 skb = descr->skb;
827 descr->skb = NULL;
855 struct spider_net_descr *descr;
861 descr = card->tx_chain.tail;
863 if (spider_net_get_descr_status(descr->hwdescr) ==
866 descr->bus_addr);
871 if (descr == card->tx_chain.head)
873 descr = descr->next;
946 * @descr: descriptor to process
953 spider_net_pass_skb_up(struct spider_net_descr *descr,
956 struct spider_net_hw_descr *hwdescr = descr->hwdescr;
957 struct sk_buff *skb = descr->skb;
995 struct spider_net_descr *descr= start;
1008 dev_info(dev, "Chain tail located at descr=%d, status=0x%x\n",
1017 hwd = descr->hwdescr;
1018 off = descr - chain->ring;
1021 if (descr == chain->head)
1025 if (curr_desc == descr->bus_addr)
1029 if (next_desc == descr->bus_addr)
1047 descr = descr->next;
1048 } while (descr != start);
1055 descr = start;
1058 struct spider_net_hw_descr *hwd = descr->hwdescr;
1060 cnt = descr - chain->ring;
1062 cnt, status, descr->skb);
1064 descr->bus_addr, hwd->buf_addr, hwd->buf_size);
1073 descr = descr->next;
1074 } while (descr != start);
1092 struct spider_net_descr *descr;
1096 descr = chain->head;
1097 status = spider_net_get_descr_status(descr->hwdescr);
1104 descr = chain->head;
1105 status = spider_net_get_descr_status(descr->hwdescr);
1108 descr = descr->next;
1109 status = spider_net_get_descr_status(descr->hwdescr);
1111 chain->head = descr;
1119 struct spider_net_descr *descr;
1123 descr = chain->tail;
1124 status = spider_net_get_descr_status(descr->hwdescr);
1129 descr = descr->next;
1130 status = spider_net_get_descr_status(descr->hwdescr);
1132 chain->tail = descr;
1155 struct spider_net_descr *descr = chain->tail;
1156 struct spider_net_hw_descr *hwdescr = descr->hwdescr;
1168 chain->tail = descr->next;
1215 pr_err("which=%ld\n", descr - card->rx_chain.ring);
1221 /* Ok, we've got a packet in descr */
1222 spider_net_pass_skb_up(descr, card);
1223 descr->skb = NULL;
1230 dev_kfree_skb_irq(descr->skb);
1231 descr->skb = NULL;
1505 /* allrighty. tx from previous descr ok */