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()
326 dma_unmap_page(&pdev->dev, buffer_info->page_dma, in igbvf_clean_rx_irq()
329 buffer_info->page_dma = 0; in igbvf_clean_rx_irq()
332 buffer_info->page, in igbvf_clean_rx_irq()
333 buffer_info->page_offset, in igbvf_clean_rx_irq()
337 (page_count(buffer_info->page) != 1)) in igbvf_clean_rx_irq()
338 buffer_info->page = NULL; in igbvf_clean_rx_irq()
340 get_page(buffer_info->page); in igbvf_clean_rx_irq()
352 next_buffer = &rx_ring->buffer_info[i]; in igbvf_clean_rx_irq()
355 buffer_info->skb = next_buffer->skb; in igbvf_clean_rx_irq()
356 buffer_info->dma = next_buffer->dma; in igbvf_clean_rx_irq()
388 buffer_info = next_buffer; in igbvf_clean_rx_irq()
407 struct igbvf_buffer *buffer_info) in igbvf_put_txbuf() argument
409 if (buffer_info->dma) { in igbvf_put_txbuf()
410 if (buffer_info->mapped_as_page) in igbvf_put_txbuf()
412 buffer_info->dma, in igbvf_put_txbuf()
413 buffer_info->length, in igbvf_put_txbuf()
417 buffer_info->dma, in igbvf_put_txbuf()
418 buffer_info->length, in igbvf_put_txbuf()
420 buffer_info->dma = 0; in igbvf_put_txbuf()
422 if (buffer_info->skb) { in igbvf_put_txbuf()
423 dev_kfree_skb_any(buffer_info->skb); in igbvf_put_txbuf()
424 buffer_info->skb = NULL; in igbvf_put_txbuf()
426 buffer_info->time_stamp = 0; in igbvf_put_txbuf()
442 tx_ring->buffer_info = vzalloc(size); in igbvf_setup_tx_resources()
443 if (!tx_ring->buffer_info) in igbvf_setup_tx_resources()
461 vfree(tx_ring->buffer_info); in igbvf_setup_tx_resources()
480 rx_ring->buffer_info = vzalloc(size); in igbvf_setup_rx_resources()
481 if (!rx_ring->buffer_info) in igbvf_setup_rx_resources()
503 vfree(rx_ring->buffer_info); in igbvf_setup_rx_resources()
504 rx_ring->buffer_info = NULL; in igbvf_setup_rx_resources()
517 struct igbvf_buffer *buffer_info; in igbvf_clean_tx_ring() local
521 if (!tx_ring->buffer_info) in igbvf_clean_tx_ring()
526 buffer_info = &tx_ring->buffer_info[i]; in igbvf_clean_tx_ring()
527 igbvf_put_txbuf(adapter, buffer_info); in igbvf_clean_tx_ring()
531 memset(tx_ring->buffer_info, 0, size); in igbvf_clean_tx_ring()
555 vfree(tx_ring->buffer_info); in igbvf_free_tx_resources()
556 tx_ring->buffer_info = NULL; in igbvf_free_tx_resources()
571 struct igbvf_buffer *buffer_info; in igbvf_clean_rx_ring() local
576 if (!rx_ring->buffer_info) in igbvf_clean_rx_ring()
581 buffer_info = &rx_ring->buffer_info[i]; in igbvf_clean_rx_ring()
582 if (buffer_info->dma) { in igbvf_clean_rx_ring()
584 dma_unmap_single(&pdev->dev, buffer_info->dma, in igbvf_clean_rx_ring()
588 dma_unmap_single(&pdev->dev, buffer_info->dma, in igbvf_clean_rx_ring()
592 buffer_info->dma = 0; in igbvf_clean_rx_ring()
595 if (buffer_info->skb) { in igbvf_clean_rx_ring()
596 dev_kfree_skb(buffer_info->skb); in igbvf_clean_rx_ring()
597 buffer_info->skb = NULL; in igbvf_clean_rx_ring()
600 if (buffer_info->page) { in igbvf_clean_rx_ring()
601 if (buffer_info->page_dma) in igbvf_clean_rx_ring()
603 buffer_info->page_dma, in igbvf_clean_rx_ring()
606 put_page(buffer_info->page); in igbvf_clean_rx_ring()
607 buffer_info->page = NULL; in igbvf_clean_rx_ring()
608 buffer_info->page_dma = 0; in igbvf_clean_rx_ring()
609 buffer_info->page_offset = 0; in igbvf_clean_rx_ring()
614 memset(rx_ring->buffer_info, 0, size); in igbvf_clean_rx_ring()
639 vfree(rx_ring->buffer_info); in igbvf_free_rx_resources()
640 rx_ring->buffer_info = NULL; in igbvf_free_rx_resources()
794 struct igbvf_buffer *buffer_info; in igbvf_clean_tx_irq() local
802 buffer_info = &tx_ring->buffer_info[i]; in igbvf_clean_tx_irq()
803 eop_desc = buffer_info->next_to_watch; in igbvf_clean_tx_irq()
818 buffer_info->next_to_watch = NULL; in igbvf_clean_tx_irq()
823 skb = buffer_info->skb; in igbvf_clean_tx_irq()
837 igbvf_put_txbuf(adapter, buffer_info); in igbvf_clean_tx_irq()
844 buffer_info = &tx_ring->buffer_info[i]; in igbvf_clean_tx_irq()
847 eop_desc = buffer_info->next_to_watch; in igbvf_clean_tx_irq()
1916 struct igbvf_buffer *buffer_info; in igbvf_tso() local
1951 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tso()
1978 buffer_info->time_stamp = jiffies; in igbvf_tso()
1979 buffer_info->dma = 0; in igbvf_tso()
1996 struct igbvf_buffer *buffer_info; in igbvf_tx_csum() local
2002 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_csum()
2037 buffer_info->time_stamp = jiffies; in igbvf_tx_csum()
2038 buffer_info->dma = 0; in igbvf_tx_csum()
2083 struct igbvf_buffer *buffer_info; in igbvf_tx_map_adv() local
2091 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_map_adv()
2093 buffer_info->length = len; in igbvf_tx_map_adv()
2095 buffer_info->time_stamp = jiffies; in igbvf_tx_map_adv()
2096 buffer_info->mapped_as_page = false; in igbvf_tx_map_adv()
2097 buffer_info->dma = dma_map_single(&pdev->dev, skb->data, len, in igbvf_tx_map_adv()
2099 if (dma_mapping_error(&pdev->dev, buffer_info->dma)) in igbvf_tx_map_adv()
2113 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_map_adv()
2115 buffer_info->length = len; in igbvf_tx_map_adv()
2116 buffer_info->time_stamp = jiffies; in igbvf_tx_map_adv()
2117 buffer_info->mapped_as_page = true; in igbvf_tx_map_adv()
2118 buffer_info->dma = skb_frag_dma_map(&pdev->dev, frag, 0, len, in igbvf_tx_map_adv()
2120 if (dma_mapping_error(&pdev->dev, buffer_info->dma)) in igbvf_tx_map_adv()
2124 tx_ring->buffer_info[i].skb = skb; in igbvf_tx_map_adv()
2132 buffer_info->dma = 0; in igbvf_tx_map_adv()
2133 buffer_info->time_stamp = 0; in igbvf_tx_map_adv()
2134 buffer_info->length = 0; in igbvf_tx_map_adv()
2135 buffer_info->mapped_as_page = false; in igbvf_tx_map_adv()
2144 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_map_adv()
2145 igbvf_put_txbuf(adapter, buffer_info); in igbvf_tx_map_adv()
2158 struct igbvf_buffer *buffer_info; in igbvf_tx_queue_adv() local
2186 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_queue_adv()
2188 tx_desc->read.buffer_addr = cpu_to_le64(buffer_info->dma); in igbvf_tx_queue_adv()
2190 cpu_to_le32(cmd_type_len | buffer_info->length); in igbvf_tx_queue_adv()
2205 tx_ring->buffer_info[first].next_to_watch = tx_desc; in igbvf_tx_queue_adv()
2282 tx_ring->buffer_info[first].time_stamp = 0; in igbvf_xmit_frame_ring_adv()