Lines Matching refs:buffer_info
162 struct igbvf_buffer *buffer_info; in igbvf_alloc_rx_buffers() local
168 buffer_info = &rx_ring->buffer_info[i]; in igbvf_alloc_rx_buffers()
178 if (adapter->rx_ps_hdr_size && !buffer_info->page_dma) { in igbvf_alloc_rx_buffers()
179 if (!buffer_info->page) { in igbvf_alloc_rx_buffers()
180 buffer_info->page = alloc_page(GFP_ATOMIC); in igbvf_alloc_rx_buffers()
181 if (!buffer_info->page) { in igbvf_alloc_rx_buffers()
185 buffer_info->page_offset = 0; in igbvf_alloc_rx_buffers()
187 buffer_info->page_offset ^= PAGE_SIZE / 2; in igbvf_alloc_rx_buffers()
189 buffer_info->page_dma = in igbvf_alloc_rx_buffers()
190 dma_map_page(&pdev->dev, buffer_info->page, in igbvf_alloc_rx_buffers()
191 buffer_info->page_offset, in igbvf_alloc_rx_buffers()
195 buffer_info->page_dma)) { in igbvf_alloc_rx_buffers()
196 __free_page(buffer_info->page); in igbvf_alloc_rx_buffers()
197 buffer_info->page = NULL; in igbvf_alloc_rx_buffers()
203 if (!buffer_info->skb) { in igbvf_alloc_rx_buffers()
210 buffer_info->skb = skb; in igbvf_alloc_rx_buffers()
211 buffer_info->dma = dma_map_single(&pdev->dev, skb->data, in igbvf_alloc_rx_buffers()
214 if (dma_mapping_error(&pdev->dev, buffer_info->dma)) { in igbvf_alloc_rx_buffers()
215 dev_kfree_skb(buffer_info->skb); in igbvf_alloc_rx_buffers()
216 buffer_info->skb = NULL; in igbvf_alloc_rx_buffers()
226 cpu_to_le64(buffer_info->page_dma); in igbvf_alloc_rx_buffers()
227 rx_desc->read.hdr_addr = cpu_to_le64(buffer_info->dma); in igbvf_alloc_rx_buffers()
229 rx_desc->read.pkt_addr = cpu_to_le64(buffer_info->dma); in igbvf_alloc_rx_buffers()
236 buffer_info = &rx_ring->buffer_info[i]; in igbvf_alloc_rx_buffers()
271 struct igbvf_buffer *buffer_info, *next_buffer; in igbvf_clean_rx_irq() local
289 buffer_info = &rx_ring->buffer_info[i]; in igbvf_clean_rx_irq()
306 skb = buffer_info->skb; in igbvf_clean_rx_irq()
308 buffer_info->skb = NULL; in igbvf_clean_rx_irq()
310 dma_unmap_single(&pdev->dev, buffer_info->dma, in igbvf_clean_rx_irq()
313 buffer_info->dma = 0; in igbvf_clean_rx_irq()
319 dma_unmap_single(&pdev->dev, buffer_info->dma, in igbvf_clean_rx_irq()
322 buffer_info->dma = 0; in igbvf_clean_rx_irq()
327 dma_unmap_page(&pdev->dev, buffer_info->page_dma, in igbvf_clean_rx_irq()
330 buffer_info->page_dma = 0; in igbvf_clean_rx_irq()
333 buffer_info->page, in igbvf_clean_rx_irq()
334 buffer_info->page_offset, in igbvf_clean_rx_irq()
338 (page_count(buffer_info->page) != 1)) in igbvf_clean_rx_irq()
339 buffer_info->page = NULL; in igbvf_clean_rx_irq()
341 get_page(buffer_info->page); in igbvf_clean_rx_irq()
353 next_buffer = &rx_ring->buffer_info[i]; in igbvf_clean_rx_irq()
356 buffer_info->skb = next_buffer->skb; in igbvf_clean_rx_irq()
357 buffer_info->dma = next_buffer->dma; in igbvf_clean_rx_irq()
389 buffer_info = next_buffer; in igbvf_clean_rx_irq()
408 struct igbvf_buffer *buffer_info) in igbvf_put_txbuf() argument
410 if (buffer_info->dma) { in igbvf_put_txbuf()
411 if (buffer_info->mapped_as_page) in igbvf_put_txbuf()
413 buffer_info->dma, in igbvf_put_txbuf()
414 buffer_info->length, in igbvf_put_txbuf()
418 buffer_info->dma, in igbvf_put_txbuf()
419 buffer_info->length, in igbvf_put_txbuf()
421 buffer_info->dma = 0; in igbvf_put_txbuf()
423 if (buffer_info->skb) { in igbvf_put_txbuf()
424 dev_kfree_skb_any(buffer_info->skb); in igbvf_put_txbuf()
425 buffer_info->skb = NULL; in igbvf_put_txbuf()
427 buffer_info->time_stamp = 0; in igbvf_put_txbuf()
443 tx_ring->buffer_info = vzalloc(size); in igbvf_setup_tx_resources()
444 if (!tx_ring->buffer_info) in igbvf_setup_tx_resources()
462 vfree(tx_ring->buffer_info); in igbvf_setup_tx_resources()
481 rx_ring->buffer_info = vzalloc(size); in igbvf_setup_rx_resources()
482 if (!rx_ring->buffer_info) in igbvf_setup_rx_resources()
504 vfree(rx_ring->buffer_info); in igbvf_setup_rx_resources()
505 rx_ring->buffer_info = NULL; in igbvf_setup_rx_resources()
518 struct igbvf_buffer *buffer_info; in igbvf_clean_tx_ring() local
522 if (!tx_ring->buffer_info) in igbvf_clean_tx_ring()
527 buffer_info = &tx_ring->buffer_info[i]; in igbvf_clean_tx_ring()
528 igbvf_put_txbuf(adapter, buffer_info); in igbvf_clean_tx_ring()
532 memset(tx_ring->buffer_info, 0, size); in igbvf_clean_tx_ring()
556 vfree(tx_ring->buffer_info); in igbvf_free_tx_resources()
557 tx_ring->buffer_info = NULL; in igbvf_free_tx_resources()
572 struct igbvf_buffer *buffer_info; in igbvf_clean_rx_ring() local
577 if (!rx_ring->buffer_info) in igbvf_clean_rx_ring()
582 buffer_info = &rx_ring->buffer_info[i]; in igbvf_clean_rx_ring()
583 if (buffer_info->dma) { in igbvf_clean_rx_ring()
585 dma_unmap_single(&pdev->dev, buffer_info->dma, in igbvf_clean_rx_ring()
589 dma_unmap_single(&pdev->dev, buffer_info->dma, in igbvf_clean_rx_ring()
593 buffer_info->dma = 0; in igbvf_clean_rx_ring()
596 if (buffer_info->skb) { in igbvf_clean_rx_ring()
597 dev_kfree_skb(buffer_info->skb); in igbvf_clean_rx_ring()
598 buffer_info->skb = NULL; in igbvf_clean_rx_ring()
601 if (buffer_info->page) { in igbvf_clean_rx_ring()
602 if (buffer_info->page_dma) in igbvf_clean_rx_ring()
604 buffer_info->page_dma, in igbvf_clean_rx_ring()
607 put_page(buffer_info->page); in igbvf_clean_rx_ring()
608 buffer_info->page = NULL; in igbvf_clean_rx_ring()
609 buffer_info->page_dma = 0; in igbvf_clean_rx_ring()
610 buffer_info->page_offset = 0; in igbvf_clean_rx_ring()
615 memset(rx_ring->buffer_info, 0, size); in igbvf_clean_rx_ring()
640 vfree(rx_ring->buffer_info); in igbvf_free_rx_resources()
641 rx_ring->buffer_info = NULL; in igbvf_free_rx_resources()
795 struct igbvf_buffer *buffer_info; in igbvf_clean_tx_irq() local
803 buffer_info = &tx_ring->buffer_info[i]; in igbvf_clean_tx_irq()
804 eop_desc = buffer_info->next_to_watch; in igbvf_clean_tx_irq()
819 buffer_info->next_to_watch = NULL; in igbvf_clean_tx_irq()
824 skb = buffer_info->skb; in igbvf_clean_tx_irq()
838 igbvf_put_txbuf(adapter, buffer_info); in igbvf_clean_tx_irq()
845 buffer_info = &tx_ring->buffer_info[i]; in igbvf_clean_tx_irq()
848 eop_desc = buffer_info->next_to_watch; in igbvf_clean_tx_irq()
1917 struct igbvf_buffer *buffer_info; in igbvf_tso() local
1952 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tso()
1979 buffer_info->time_stamp = jiffies; in igbvf_tso()
1980 buffer_info->dma = 0; in igbvf_tso()
1997 struct igbvf_buffer *buffer_info; in igbvf_tx_csum() local
2003 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_csum()
2038 buffer_info->time_stamp = jiffies; in igbvf_tx_csum()
2039 buffer_info->dma = 0; in igbvf_tx_csum()
2084 struct igbvf_buffer *buffer_info; in igbvf_tx_map_adv() local
2092 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_map_adv()
2094 buffer_info->length = len; in igbvf_tx_map_adv()
2096 buffer_info->time_stamp = jiffies; in igbvf_tx_map_adv()
2097 buffer_info->mapped_as_page = false; in igbvf_tx_map_adv()
2098 buffer_info->dma = dma_map_single(&pdev->dev, skb->data, len, in igbvf_tx_map_adv()
2100 if (dma_mapping_error(&pdev->dev, buffer_info->dma)) in igbvf_tx_map_adv()
2114 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_map_adv()
2116 buffer_info->length = len; in igbvf_tx_map_adv()
2117 buffer_info->time_stamp = jiffies; in igbvf_tx_map_adv()
2118 buffer_info->mapped_as_page = true; in igbvf_tx_map_adv()
2119 buffer_info->dma = skb_frag_dma_map(&pdev->dev, frag, 0, len, in igbvf_tx_map_adv()
2121 if (dma_mapping_error(&pdev->dev, buffer_info->dma)) in igbvf_tx_map_adv()
2125 tx_ring->buffer_info[i].skb = skb; in igbvf_tx_map_adv()
2133 buffer_info->dma = 0; in igbvf_tx_map_adv()
2134 buffer_info->time_stamp = 0; in igbvf_tx_map_adv()
2135 buffer_info->length = 0; in igbvf_tx_map_adv()
2136 buffer_info->mapped_as_page = false; in igbvf_tx_map_adv()
2145 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_map_adv()
2146 igbvf_put_txbuf(adapter, buffer_info); in igbvf_tx_map_adv()
2159 struct igbvf_buffer *buffer_info; in igbvf_tx_queue_adv() local
2187 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_queue_adv()
2189 tx_desc->read.buffer_addr = cpu_to_le64(buffer_info->dma); in igbvf_tx_queue_adv()
2191 cpu_to_le32(cmd_type_len | buffer_info->length); in igbvf_tx_queue_adv()
2206 tx_ring->buffer_info[first].next_to_watch = tx_desc; in igbvf_tx_queue_adv()
2283 tx_ring->buffer_info[first].time_stamp = 0; in igbvf_xmit_frame_ring_adv()