Lines Matching refs:e

911 	struct skge_element *e;  in skge_ring_alloc()  local
914 ring->start = kcalloc(ring->count, sizeof(*e), GFP_KERNEL); in skge_ring_alloc()
918 for (i = 0, e = ring->start, d = vaddr; i < ring->count; i++, e++, d++) { in skge_ring_alloc()
919 e->desc = d; in skge_ring_alloc()
921 e->next = ring->start; in skge_ring_alloc()
924 e->next = e + 1; in skge_ring_alloc()
934 static int skge_rx_setup(struct skge_port *skge, struct skge_element *e, in skge_rx_setup() argument
937 struct skge_rx_desc *rd = e->desc; in skge_rx_setup()
948 e->skb = skb; in skge_rx_setup()
957 dma_unmap_addr_set(e, mapaddr, map); in skge_rx_setup()
958 dma_unmap_len_set(e, maplen, bufsize); in skge_rx_setup()
966 static inline void skge_rx_reuse(struct skge_element *e, unsigned int size) in skge_rx_reuse() argument
968 struct skge_rx_desc *rd = e->desc; in skge_rx_reuse()
984 struct skge_element *e; in skge_rx_clean() local
986 e = ring->start; in skge_rx_clean()
988 struct skge_rx_desc *rd = e->desc; in skge_rx_clean()
990 if (e->skb) { in skge_rx_clean()
992 dma_unmap_addr(e, mapaddr), in skge_rx_clean()
993 dma_unmap_len(e, maplen), in skge_rx_clean()
995 dev_kfree_skb(e->skb); in skge_rx_clean()
996 e->skb = NULL; in skge_rx_clean()
998 } while ((e = e->next) != ring->start); in skge_rx_clean()
1009 struct skge_element *e; in skge_rx_fill() local
1011 e = ring->start; in skge_rx_fill()
1021 if (skge_rx_setup(skge, e, skb, skge->rx_buf_size) < 0) { in skge_rx_fill()
1025 } while ((e = e->next) != ring->start); in skge_rx_fill()
2509 const struct skge_element *e) in skge_qset() argument
2513 u64 base = skge->dma + (e->desc - skge->mem); in skge_qset()
2735 struct skge_element *e; in skge_xmit_frame() local
2747 e = skge->tx_ring.to_use; in skge_xmit_frame()
2748 td = e->desc; in skge_xmit_frame()
2750 e->skb = skb; in skge_xmit_frame()
2756 dma_unmap_addr_set(e, mapaddr, map); in skge_xmit_frame()
2757 dma_unmap_len_set(e, maplen, len); in skge_xmit_frame()
2794 e = e->next; in skge_xmit_frame()
2795 e->skb = skb; in skge_xmit_frame()
2796 tf = e->desc; in skge_xmit_frame()
2801 dma_unmap_addr_set(e, mapaddr, map); in skge_xmit_frame()
2802 dma_unmap_len_set(e, maplen, skb_frag_size(frag)); in skge_xmit_frame()
2819 e - skge->tx_ring.start, skb->len); in skge_xmit_frame()
2821 skge->tx_ring.to_use = e->next; in skge_xmit_frame()
2832 e = skge->tx_ring.to_use; in skge_xmit_frame()
2834 dma_unmap_addr(e, mapaddr), in skge_xmit_frame()
2835 dma_unmap_len(e, maplen), in skge_xmit_frame()
2838 e = e->next; in skge_xmit_frame()
2840 dma_unmap_addr(e, mapaddr), in skge_xmit_frame()
2841 dma_unmap_len(e, maplen), in skge_xmit_frame()
2854 static inline void skge_tx_unmap(struct pci_dev *pdev, struct skge_element *e, in skge_tx_unmap() argument
2859 pci_unmap_single(pdev, dma_unmap_addr(e, mapaddr), in skge_tx_unmap()
2860 dma_unmap_len(e, maplen), in skge_tx_unmap()
2863 pci_unmap_page(pdev, dma_unmap_addr(e, mapaddr), in skge_tx_unmap()
2864 dma_unmap_len(e, maplen), in skge_tx_unmap()
2872 struct skge_element *e; in skge_tx_clean() local
2874 for (e = skge->tx_ring.to_clean; e != skge->tx_ring.to_use; e = e->next) { in skge_tx_clean()
2875 struct skge_tx_desc *td = e->desc; in skge_tx_clean()
2877 skge_tx_unmap(skge->hw->pdev, e, td->control); in skge_tx_clean()
2880 dev_kfree_skb(e->skb); in skge_tx_clean()
2885 skge->tx_ring.to_clean = e; in skge_tx_clean()
3050 struct skge_element *e, in skge_rx_get() argument
3059 e - skge->rx_ring.start, status, len); in skge_rx_get()
3079 dma_unmap_addr(e, mapaddr), in skge_rx_get()
3080 dma_unmap_len(e, maplen), in skge_rx_get()
3082 skb_copy_from_linear_data(e->skb, skb->data, len); in skge_rx_get()
3084 dma_unmap_addr(e, mapaddr), in skge_rx_get()
3085 dma_unmap_len(e, maplen), in skge_rx_get()
3087 skge_rx_reuse(e, skge->rx_buf_size); in skge_rx_get()
3096 ee = *e; in skge_rx_get()
3101 if (skge_rx_setup(skge, e, nskb, skge->rx_buf_size) < 0) { in skge_rx_get()
3126 e - skge->rx_ring.start, control, status); in skge_rx_get()
3145 skge_rx_reuse(e, skge->rx_buf_size); in skge_rx_get()
3154 struct skge_element *e; in skge_tx_done() local
3159 for (e = ring->to_clean; e != ring->to_use; e = e->next) { in skge_tx_done()
3160 u32 control = ((const struct skge_tx_desc *) e->desc)->control; in skge_tx_done()
3165 skge_tx_unmap(skge->hw->pdev, e, control); in skge_tx_done()
3170 e - skge->tx_ring.start); in skge_tx_done()
3173 bytes_compl += e->skb->len; in skge_tx_done()
3175 dev_consume_skb_any(e->skb); in skge_tx_done()
3179 skge->tx_ring.to_clean = e; in skge_tx_done()
3202 struct skge_element *e; in skge_poll() local
3209 for (e = ring->to_clean; prefetch(e->next), work_done < to_do; e = e->next) { in skge_poll()
3210 struct skge_rx_desc *rd = e->desc; in skge_poll()
3219 skb = skge_rx_get(dev, e, control, rd->status, rd->csum2); in skge_poll()
3225 ring->to_clean = e; in skge_poll()
3699 const struct skge_element *e; in skge_debug_show() local
3708 for (e = skge->tx_ring.to_clean; e != skge->tx_ring.to_use; e = e->next) { in skge_debug_show()
3709 const struct skge_tx_desc *t = e->desc; in skge_debug_show()
3716 for (e = skge->rx_ring.to_clean; ; e = e->next) { in skge_debug_show()
3717 const struct skge_rx_desc *r = e->desc; in skge_debug_show()