Lines Matching refs:descr

279 	struct spider_net_descr *descr;
281 descr = chain->ring;
283 descr->bus_addr = 0;
284 descr->hwdescr->next_descr_addr = 0;
285 descr = descr->next;
286 } while (descr != chain->ring);
307 struct spider_net_descr *descr;
320 descr = chain->ring;
323 for (i=0; i < chain->num_desc; i++, descr++, hwdescr++) {
327 descr->hwdescr = hwdescr;
328 descr->bus_addr = buf;
329 descr->next = descr + 1;
330 descr->prev = descr - 1;
335 (descr-1)->next = chain->ring;
336 chain->ring->prev = descr-1;
345 * spider_net_free_rx_chain_contents - frees descr contents in rx chain
353 struct spider_net_descr *descr;
355 descr = card->rx_chain.head;
357 if (descr->skb) {
359 descr->hwdescr->buf_addr,
362 dev_kfree_skb(descr->skb);
363 descr->skb = NULL;
365 descr = descr->next;
366 } while (descr != card->rx_chain.head);
372 * @descr: descriptor to re-init
381 struct spider_net_descr *descr)
383 struct spider_net_hw_descr *hwdescr = descr->hwdescr;
396 descr->skb = netdev_alloc_skb(card->netdev,
398 if (!descr->skb) {
411 offset = ((unsigned long)descr->skb->data) &
414 skb_reserve(descr->skb, SPIDER_NET_RXBUF_ALIGN - offset);
416 buf = dma_map_single(&card->pdev->dev, descr->skb->data,
419 dev_kfree_skb_any(descr->skb);
420 descr->skb = NULL;
521 struct spider_net_descr *descr = start;
525 descr->prev->hwdescr->next_descr_addr = descr->bus_addr;
526 descr = descr->next;
527 } while (descr != start);
653 struct spider_net_descr *descr;
669 descr = card->tx_chain.head;
670 if (descr->next == chain->tail->prev) {
676 hwdescr = descr->hwdescr;
677 chain->head = descr->next;
679 descr->skb = skb;
699 /* Chain the bus address, so that the DMA engine finds this descr. */
701 descr->prev->hwdescr->next_descr_addr = descr->bus_addr;
710 struct spider_net_descr *descr = card->tx_chain.tail;
720 while (descr != card->tx_chain.head) {
721 status = descr->hwdescr->dmac_cmd_status & SPIDER_NET_DESCR_NOT_IN_USE;
724 descr = descr->next;
733 descr = card->tx_chain.tail;
736 descr = descr->next;
740 descr->hwdescr->dmac_cmd_status |= SPIDER_NET_DESCR_TXDESFLG;
741 if (card->low_watermark && card->low_watermark != descr) {
746 card->low_watermark = descr;
768 struct spider_net_descr *descr;
781 descr = chain->tail;
782 hwdescr = descr->hwdescr;
788 dev->stats.tx_bytes += descr->skb->len;
820 chain->tail = descr->next;
822 skb = descr->skb;
823 descr->skb = NULL;
851 struct spider_net_descr *descr;
857 descr = card->tx_chain.tail;
859 if (spider_net_get_descr_status(descr->hwdescr) ==
862 descr->bus_addr);
867 if (descr == card->tx_chain.head)
869 descr = descr->next;
943 * @descr: descriptor to process
950 spider_net_pass_skb_up(struct spider_net_descr *descr,
953 struct spider_net_hw_descr *hwdescr = descr->hwdescr;
954 struct sk_buff *skb = descr->skb;
993 struct spider_net_descr *descr= start;
1006 dev_info(dev, "Chain tail located at descr=%d, status=0x%x\n",
1015 hwd = descr->hwdescr;
1016 off = descr - chain->ring;
1019 if (descr == chain->head)
1023 if (curr_desc == descr->bus_addr)
1027 if (next_desc == descr->bus_addr)
1045 descr = descr->next;
1046 } while (descr != start);
1053 descr = start;
1056 struct spider_net_hw_descr *hwd = descr->hwdescr;
1058 cnt = descr - chain->ring;
1060 cnt, status, descr->skb);
1062 descr->bus_addr, hwd->buf_addr, hwd->buf_size);
1071 descr = descr->next;
1072 } while (descr != start);
1091 struct spider_net_descr *descr;
1095 descr = chain->head;
1096 status = spider_net_get_descr_status(descr->hwdescr);
1103 descr = chain->head;
1104 status = spider_net_get_descr_status(descr->hwdescr);
1107 descr = descr->next;
1108 status = spider_net_get_descr_status(descr->hwdescr);
1110 chain->head = descr;
1118 struct spider_net_descr *descr;
1122 descr = chain->tail;
1123 status = spider_net_get_descr_status(descr->hwdescr);
1128 descr = descr->next;
1129 status = spider_net_get_descr_status(descr->hwdescr);
1131 chain->tail = descr;
1154 struct spider_net_descr *descr = chain->tail;
1155 struct spider_net_hw_descr *hwdescr = descr->hwdescr;
1167 chain->tail = descr->next;
1214 pr_err("which=%ld\n", descr - card->rx_chain.ring);
1220 /* Ok, we've got a packet in descr */
1221 spider_net_pass_skb_up(descr, card);
1222 descr->skb = NULL;
1229 dev_kfree_skb_irq(descr->skb);
1230 descr->skb = NULL;
1489 /* allrighty. tx from previous descr ok */