Lines Matching refs:descr

291 	struct spider_net_descr *descr;  in spider_net_free_chain()  local
293 descr = chain->ring; in spider_net_free_chain()
295 descr->bus_addr = 0; in spider_net_free_chain()
296 descr->hwdescr->next_descr_addr = 0; in spider_net_free_chain()
297 descr = descr->next; in spider_net_free_chain()
298 } while (descr != chain->ring); in spider_net_free_chain()
319 struct spider_net_descr *descr; in spider_net_init_chain() local
334 descr = chain->ring; in spider_net_init_chain()
337 for (i=0; i < chain->num_desc; i++, descr++, hwdescr++) { in spider_net_init_chain()
341 descr->hwdescr = hwdescr; in spider_net_init_chain()
342 descr->bus_addr = buf; in spider_net_init_chain()
343 descr->next = descr + 1; in spider_net_init_chain()
344 descr->prev = descr - 1; in spider_net_init_chain()
349 (descr-1)->next = chain->ring; in spider_net_init_chain()
350 chain->ring->prev = descr-1; in spider_net_init_chain()
367 struct spider_net_descr *descr; in spider_net_free_rx_chain_contents() local
369 descr = card->rx_chain.head; in spider_net_free_rx_chain_contents()
371 if (descr->skb) { in spider_net_free_rx_chain_contents()
372 pci_unmap_single(card->pdev, descr->hwdescr->buf_addr, in spider_net_free_rx_chain_contents()
375 dev_kfree_skb(descr->skb); in spider_net_free_rx_chain_contents()
376 descr->skb = NULL; in spider_net_free_rx_chain_contents()
378 descr = descr->next; in spider_net_free_rx_chain_contents()
379 } while (descr != card->rx_chain.head); in spider_net_free_rx_chain_contents()
394 struct spider_net_descr *descr) in spider_net_prepare_rx_descr() argument
396 struct spider_net_hw_descr *hwdescr = descr->hwdescr; in spider_net_prepare_rx_descr()
408 descr->skb = netdev_alloc_skb(card->netdev, in spider_net_prepare_rx_descr()
410 if (!descr->skb) { in spider_net_prepare_rx_descr()
423 offset = ((unsigned long)descr->skb->data) & in spider_net_prepare_rx_descr()
426 skb_reserve(descr->skb, SPIDER_NET_RXBUF_ALIGN - offset); in spider_net_prepare_rx_descr()
428 buf = pci_map_single(card->pdev, descr->skb->data, in spider_net_prepare_rx_descr()
431 dev_kfree_skb_any(descr->skb); in spider_net_prepare_rx_descr()
432 descr->skb = NULL; in spider_net_prepare_rx_descr()
532 struct spider_net_descr *descr = start; in spider_net_alloc_rx_skbs() local
536 descr->prev->hwdescr->next_descr_addr = descr->bus_addr; in spider_net_alloc_rx_skbs()
537 descr = descr->next; in spider_net_alloc_rx_skbs()
538 } while (descr != start); in spider_net_alloc_rx_skbs()
662 struct spider_net_descr *descr; in spider_net_prepare_tx_descr() local
677 descr = card->tx_chain.head; in spider_net_prepare_tx_descr()
678 if (descr->next == chain->tail->prev) { in spider_net_prepare_tx_descr()
683 hwdescr = descr->hwdescr; in spider_net_prepare_tx_descr()
684 chain->head = descr->next; in spider_net_prepare_tx_descr()
686 descr->skb = skb; in spider_net_prepare_tx_descr()
708 descr->prev->hwdescr->next_descr_addr = descr->bus_addr; in spider_net_prepare_tx_descr()
717 struct spider_net_descr *descr = card->tx_chain.tail; in spider_net_set_low_watermark() local
726 while (descr != card->tx_chain.head) { in spider_net_set_low_watermark()
727 status = descr->hwdescr->dmac_cmd_status & SPIDER_NET_DESCR_NOT_IN_USE; in spider_net_set_low_watermark()
730 descr = descr->next; in spider_net_set_low_watermark()
739 descr = card->tx_chain.tail; in spider_net_set_low_watermark()
742 descr = descr->next; in spider_net_set_low_watermark()
746 descr->hwdescr->dmac_cmd_status |= SPIDER_NET_DESCR_TXDESFLG; in spider_net_set_low_watermark()
747 if (card->low_watermark && card->low_watermark != descr) { in spider_net_set_low_watermark()
752 card->low_watermark = descr; in spider_net_set_low_watermark()
774 struct spider_net_descr *descr; in spider_net_release_tx_chain() local
787 descr = chain->tail; in spider_net_release_tx_chain()
788 hwdescr = descr->hwdescr; in spider_net_release_tx_chain()
794 dev->stats.tx_bytes += descr->skb->len; in spider_net_release_tx_chain()
824 chain->tail = descr->next; in spider_net_release_tx_chain()
826 skb = descr->skb; in spider_net_release_tx_chain()
827 descr->skb = NULL; in spider_net_release_tx_chain()
855 struct spider_net_descr *descr; in spider_net_kick_tx_dma() local
861 descr = card->tx_chain.tail; in spider_net_kick_tx_dma()
863 if (spider_net_get_descr_status(descr->hwdescr) == in spider_net_kick_tx_dma()
866 descr->bus_addr); in spider_net_kick_tx_dma()
871 if (descr == card->tx_chain.head) in spider_net_kick_tx_dma()
873 descr = descr->next; in spider_net_kick_tx_dma()
953 spider_net_pass_skb_up(struct spider_net_descr *descr, in spider_net_pass_skb_up() argument
956 struct spider_net_hw_descr *hwdescr = descr->hwdescr; in spider_net_pass_skb_up()
957 struct sk_buff *skb = descr->skb; in spider_net_pass_skb_up()
995 struct spider_net_descr *descr= start; in show_rx_chain() local
1017 hwd = descr->hwdescr; in show_rx_chain()
1018 off = descr - chain->ring; in show_rx_chain()
1021 if (descr == chain->head) in show_rx_chain()
1025 if (curr_desc == descr->bus_addr) in show_rx_chain()
1029 if (next_desc == descr->bus_addr) in show_rx_chain()
1047 descr = descr->next; in show_rx_chain()
1048 } while (descr != start); in show_rx_chain()
1055 descr = start; in show_rx_chain()
1058 struct spider_net_hw_descr *hwd = descr->hwdescr; in show_rx_chain()
1060 cnt = descr - chain->ring; in show_rx_chain()
1062 cnt, status, descr->skb); in show_rx_chain()
1064 descr->bus_addr, hwd->buf_addr, hwd->buf_size); in show_rx_chain()
1073 descr = descr->next; in show_rx_chain()
1074 } while (descr != start); in show_rx_chain()
1092 struct spider_net_descr *descr; in spider_net_resync_head_ptr() local
1096 descr = chain->head; in spider_net_resync_head_ptr()
1097 status = spider_net_get_descr_status(descr->hwdescr); in spider_net_resync_head_ptr()
1104 descr = chain->head; in spider_net_resync_head_ptr()
1105 status = spider_net_get_descr_status(descr->hwdescr); in spider_net_resync_head_ptr()
1108 descr = descr->next; in spider_net_resync_head_ptr()
1109 status = spider_net_get_descr_status(descr->hwdescr); in spider_net_resync_head_ptr()
1111 chain->head = descr; in spider_net_resync_head_ptr()
1119 struct spider_net_descr *descr; in spider_net_resync_tail_ptr() local
1123 descr = chain->tail; in spider_net_resync_tail_ptr()
1124 status = spider_net_get_descr_status(descr->hwdescr); in spider_net_resync_tail_ptr()
1129 descr = descr->next; in spider_net_resync_tail_ptr()
1130 status = spider_net_get_descr_status(descr->hwdescr); in spider_net_resync_tail_ptr()
1132 chain->tail = descr; in spider_net_resync_tail_ptr()
1155 struct spider_net_descr *descr = chain->tail; in spider_net_decode_one_descr() local
1156 struct spider_net_hw_descr *hwdescr = descr->hwdescr; in spider_net_decode_one_descr()
1168 chain->tail = descr->next; in spider_net_decode_one_descr()
1215 pr_err("which=%ld\n", descr - card->rx_chain.ring); in spider_net_decode_one_descr()
1222 spider_net_pass_skb_up(descr, card); in spider_net_decode_one_descr()
1223 descr->skb = NULL; in spider_net_decode_one_descr()
1230 dev_kfree_skb_irq(descr->skb); in spider_net_decode_one_descr()
1231 descr->skb = NULL; in spider_net_decode_one_descr()