Lines Matching refs:buffer_info

140 	struct igbvf_buffer *buffer_info;  in igbvf_alloc_rx_buffers()  local
146 buffer_info = &rx_ring->buffer_info[i]; in igbvf_alloc_rx_buffers()
156 if (adapter->rx_ps_hdr_size && !buffer_info->page_dma) { in igbvf_alloc_rx_buffers()
157 if (!buffer_info->page) { in igbvf_alloc_rx_buffers()
158 buffer_info->page = alloc_page(GFP_ATOMIC); in igbvf_alloc_rx_buffers()
159 if (!buffer_info->page) { in igbvf_alloc_rx_buffers()
163 buffer_info->page_offset = 0; in igbvf_alloc_rx_buffers()
165 buffer_info->page_offset ^= PAGE_SIZE / 2; in igbvf_alloc_rx_buffers()
167 buffer_info->page_dma = in igbvf_alloc_rx_buffers()
168 dma_map_page(&pdev->dev, buffer_info->page, in igbvf_alloc_rx_buffers()
169 buffer_info->page_offset, in igbvf_alloc_rx_buffers()
173 buffer_info->page_dma)) { in igbvf_alloc_rx_buffers()
174 __free_page(buffer_info->page); in igbvf_alloc_rx_buffers()
175 buffer_info->page = NULL; in igbvf_alloc_rx_buffers()
181 if (!buffer_info->skb) { in igbvf_alloc_rx_buffers()
188 buffer_info->skb = skb; in igbvf_alloc_rx_buffers()
189 buffer_info->dma = dma_map_single(&pdev->dev, skb->data, in igbvf_alloc_rx_buffers()
192 if (dma_mapping_error(&pdev->dev, buffer_info->dma)) { in igbvf_alloc_rx_buffers()
193 dev_kfree_skb(buffer_info->skb); in igbvf_alloc_rx_buffers()
194 buffer_info->skb = NULL; in igbvf_alloc_rx_buffers()
204 cpu_to_le64(buffer_info->page_dma); in igbvf_alloc_rx_buffers()
205 rx_desc->read.hdr_addr = cpu_to_le64(buffer_info->dma); in igbvf_alloc_rx_buffers()
207 rx_desc->read.pkt_addr = cpu_to_le64(buffer_info->dma); in igbvf_alloc_rx_buffers()
214 buffer_info = &rx_ring->buffer_info[i]; in igbvf_alloc_rx_buffers()
251 struct igbvf_buffer *buffer_info, *next_buffer; in igbvf_clean_rx_irq() local
269 buffer_info = &rx_ring->buffer_info[i]; in igbvf_clean_rx_irq()
285 skb = buffer_info->skb; in igbvf_clean_rx_irq()
287 buffer_info->skb = NULL; in igbvf_clean_rx_irq()
289 dma_unmap_single(&pdev->dev, buffer_info->dma, in igbvf_clean_rx_irq()
292 buffer_info->dma = 0; in igbvf_clean_rx_irq()
298 dma_unmap_single(&pdev->dev, buffer_info->dma, in igbvf_clean_rx_irq()
301 buffer_info->dma = 0; in igbvf_clean_rx_irq()
306 dma_unmap_page(&pdev->dev, buffer_info->page_dma, in igbvf_clean_rx_irq()
309 buffer_info->page_dma = 0; in igbvf_clean_rx_irq()
312 buffer_info->page, in igbvf_clean_rx_irq()
313 buffer_info->page_offset, in igbvf_clean_rx_irq()
317 (page_count(buffer_info->page) != 1)) in igbvf_clean_rx_irq()
318 buffer_info->page = NULL; in igbvf_clean_rx_irq()
320 get_page(buffer_info->page); in igbvf_clean_rx_irq()
332 next_buffer = &rx_ring->buffer_info[i]; in igbvf_clean_rx_irq()
335 buffer_info->skb = next_buffer->skb; in igbvf_clean_rx_irq()
336 buffer_info->dma = next_buffer->dma; in igbvf_clean_rx_irq()
368 buffer_info = next_buffer; in igbvf_clean_rx_irq()
387 struct igbvf_buffer *buffer_info) in igbvf_put_txbuf() argument
389 if (buffer_info->dma) { in igbvf_put_txbuf()
390 if (buffer_info->mapped_as_page) in igbvf_put_txbuf()
392 buffer_info->dma, in igbvf_put_txbuf()
393 buffer_info->length, in igbvf_put_txbuf()
397 buffer_info->dma, in igbvf_put_txbuf()
398 buffer_info->length, in igbvf_put_txbuf()
400 buffer_info->dma = 0; in igbvf_put_txbuf()
402 if (buffer_info->skb) { in igbvf_put_txbuf()
403 dev_kfree_skb_any(buffer_info->skb); in igbvf_put_txbuf()
404 buffer_info->skb = NULL; in igbvf_put_txbuf()
406 buffer_info->time_stamp = 0; in igbvf_put_txbuf()
423 tx_ring->buffer_info = vzalloc(size); in igbvf_setup_tx_resources()
424 if (!tx_ring->buffer_info) in igbvf_setup_tx_resources()
442 vfree(tx_ring->buffer_info); in igbvf_setup_tx_resources()
462 rx_ring->buffer_info = vzalloc(size); in igbvf_setup_rx_resources()
463 if (!rx_ring->buffer_info) in igbvf_setup_rx_resources()
485 vfree(rx_ring->buffer_info); in igbvf_setup_rx_resources()
486 rx_ring->buffer_info = NULL; in igbvf_setup_rx_resources()
499 struct igbvf_buffer *buffer_info; in igbvf_clean_tx_ring() local
503 if (!tx_ring->buffer_info) in igbvf_clean_tx_ring()
508 buffer_info = &tx_ring->buffer_info[i]; in igbvf_clean_tx_ring()
509 igbvf_put_txbuf(adapter, buffer_info); in igbvf_clean_tx_ring()
513 memset(tx_ring->buffer_info, 0, size); in igbvf_clean_tx_ring()
537 vfree(tx_ring->buffer_info); in igbvf_free_tx_resources()
538 tx_ring->buffer_info = NULL; in igbvf_free_tx_resources()
553 struct igbvf_buffer *buffer_info; in igbvf_clean_rx_ring() local
558 if (!rx_ring->buffer_info) in igbvf_clean_rx_ring()
563 buffer_info = &rx_ring->buffer_info[i]; in igbvf_clean_rx_ring()
564 if (buffer_info->dma) { in igbvf_clean_rx_ring()
566 dma_unmap_single(&pdev->dev, buffer_info->dma, in igbvf_clean_rx_ring()
570 dma_unmap_single(&pdev->dev, buffer_info->dma, in igbvf_clean_rx_ring()
574 buffer_info->dma = 0; in igbvf_clean_rx_ring()
577 if (buffer_info->skb) { in igbvf_clean_rx_ring()
578 dev_kfree_skb(buffer_info->skb); in igbvf_clean_rx_ring()
579 buffer_info->skb = NULL; in igbvf_clean_rx_ring()
582 if (buffer_info->page) { in igbvf_clean_rx_ring()
583 if (buffer_info->page_dma) in igbvf_clean_rx_ring()
585 buffer_info->page_dma, in igbvf_clean_rx_ring()
588 put_page(buffer_info->page); in igbvf_clean_rx_ring()
589 buffer_info->page = NULL; in igbvf_clean_rx_ring()
590 buffer_info->page_dma = 0; in igbvf_clean_rx_ring()
591 buffer_info->page_offset = 0; in igbvf_clean_rx_ring()
596 memset(rx_ring->buffer_info, 0, size); in igbvf_clean_rx_ring()
621 vfree(rx_ring->buffer_info); in igbvf_free_rx_resources()
622 rx_ring->buffer_info = NULL; in igbvf_free_rx_resources()
776 struct igbvf_buffer *buffer_info; in igbvf_clean_tx_irq() local
784 buffer_info = &tx_ring->buffer_info[i]; in igbvf_clean_tx_irq()
785 eop_desc = buffer_info->next_to_watch; in igbvf_clean_tx_irq()
800 buffer_info->next_to_watch = NULL; in igbvf_clean_tx_irq()
805 skb = buffer_info->skb; in igbvf_clean_tx_irq()
819 igbvf_put_txbuf(adapter, buffer_info); in igbvf_clean_tx_irq()
826 buffer_info = &tx_ring->buffer_info[i]; in igbvf_clean_tx_irq()
829 eop_desc = buffer_info->next_to_watch; in igbvf_clean_tx_irq()
1982 struct igbvf_buffer *buffer_info; in igbvf_tx_ctxtdesc() local
1986 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_ctxtdesc()
1999 buffer_info->time_stamp = jiffies; in igbvf_tx_ctxtdesc()
2000 buffer_info->dma = 0; in igbvf_tx_ctxtdesc()
2151 struct igbvf_buffer *buffer_info; in igbvf_tx_map_adv() local
2159 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_map_adv()
2161 buffer_info->length = len; in igbvf_tx_map_adv()
2163 buffer_info->time_stamp = jiffies; in igbvf_tx_map_adv()
2164 buffer_info->mapped_as_page = false; in igbvf_tx_map_adv()
2165 buffer_info->dma = dma_map_single(&pdev->dev, skb->data, len, in igbvf_tx_map_adv()
2167 if (dma_mapping_error(&pdev->dev, buffer_info->dma)) in igbvf_tx_map_adv()
2181 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_map_adv()
2183 buffer_info->length = len; in igbvf_tx_map_adv()
2184 buffer_info->time_stamp = jiffies; in igbvf_tx_map_adv()
2185 buffer_info->mapped_as_page = true; in igbvf_tx_map_adv()
2186 buffer_info->dma = skb_frag_dma_map(&pdev->dev, frag, 0, len, in igbvf_tx_map_adv()
2188 if (dma_mapping_error(&pdev->dev, buffer_info->dma)) in igbvf_tx_map_adv()
2192 tx_ring->buffer_info[i].skb = skb; in igbvf_tx_map_adv()
2200 buffer_info->dma = 0; in igbvf_tx_map_adv()
2201 buffer_info->time_stamp = 0; in igbvf_tx_map_adv()
2202 buffer_info->length = 0; in igbvf_tx_map_adv()
2203 buffer_info->mapped_as_page = false; in igbvf_tx_map_adv()
2212 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_map_adv()
2213 igbvf_put_txbuf(adapter, buffer_info); in igbvf_tx_map_adv()
2226 struct igbvf_buffer *buffer_info; in igbvf_tx_queue_adv() local
2254 buffer_info = &tx_ring->buffer_info[i]; in igbvf_tx_queue_adv()
2256 tx_desc->read.buffer_addr = cpu_to_le64(buffer_info->dma); in igbvf_tx_queue_adv()
2258 cpu_to_le32(cmd_type_len | buffer_info->length); in igbvf_tx_queue_adv()
2273 tx_ring->buffer_info[first].next_to_watch = tx_desc; in igbvf_tx_queue_adv()
2345 tx_ring->buffer_info[first].time_stamp = 0; in igbvf_xmit_frame_ring_adv()