Lines Matching refs:buffer_info
822 struct atl1c_buffer *buffer_info) in atl1c_clean_buffer() argument
825 if (buffer_info->flags & ATL1C_BUFFER_FREE) in atl1c_clean_buffer()
827 if (buffer_info->dma) { in atl1c_clean_buffer()
828 if (buffer_info->flags & ATL1C_PCIMAP_FROMDEVICE) in atl1c_clean_buffer()
833 if (buffer_info->flags & ATL1C_PCIMAP_SINGLE) in atl1c_clean_buffer()
834 dma_unmap_single(&pdev->dev, buffer_info->dma, in atl1c_clean_buffer()
835 buffer_info->length, pci_driection); in atl1c_clean_buffer()
836 else if (buffer_info->flags & ATL1C_PCIMAP_PAGE) in atl1c_clean_buffer()
837 dma_unmap_page(&pdev->dev, buffer_info->dma, in atl1c_clean_buffer()
838 buffer_info->length, pci_driection); in atl1c_clean_buffer()
840 if (buffer_info->skb) in atl1c_clean_buffer()
841 dev_consume_skb_any(buffer_info->skb); in atl1c_clean_buffer()
842 buffer_info->dma = 0; in atl1c_clean_buffer()
843 buffer_info->skb = NULL; in atl1c_clean_buffer()
844 ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_FREE); in atl1c_clean_buffer()
855 struct atl1c_buffer *buffer_info; in atl1c_clean_tx_ring() local
861 buffer_info = &tpd_ring->buffer_info[index]; in atl1c_clean_tx_ring()
862 atl1c_clean_buffer(pdev, buffer_info); in atl1c_clean_tx_ring()
882 struct atl1c_buffer *buffer_info; in atl1c_clean_rx_ring() local
887 buffer_info = &rfd_ring->buffer_info[j]; in atl1c_clean_rx_ring()
888 atl1c_clean_buffer(pdev, buffer_info); in atl1c_clean_rx_ring()
906 struct atl1c_buffer *buffer_info; in atl1c_init_ring_ptrs() local
912 buffer_info = tpd_ring[i].buffer_info; in atl1c_init_ring_ptrs()
914 ATL1C_SET_BUFFER_STATE(&buffer_info[i], in atl1c_init_ring_ptrs()
922 buffer_info = &rfd_ring->buffer_info[j]; in atl1c_init_ring_ptrs()
923 ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_FREE); in atl1c_init_ring_ptrs()
943 if (adapter->tpd_ring[0].buffer_info) { in atl1c_free_ring_resources()
944 kfree(adapter->tpd_ring[0].buffer_info); in atl1c_free_ring_resources()
945 adapter->tpd_ring[0].buffer_info = NULL; in atl1c_free_ring_resources()
980 tpd_ring->buffer_info = kzalloc(size, GFP_KERNEL); in atl1c_setup_ring_resources()
981 if (unlikely(!tpd_ring->buffer_info)) in atl1c_setup_ring_resources()
985 tpd_ring[i].buffer_info = in atl1c_setup_ring_resources()
986 (tpd_ring->buffer_info + count); in atl1c_setup_ring_resources()
990 rfd_ring->buffer_info = in atl1c_setup_ring_resources()
991 (tpd_ring->buffer_info + count); in atl1c_setup_ring_resources()
1039 kfree(tpd_ring->buffer_info); in atl1c_setup_ring_resources()
1537 struct atl1c_buffer *buffer_info; in atl1c_clean_tx_irq() local
1549 buffer_info = &tpd_ring->buffer_info[next_to_clean]; in atl1c_clean_tx_irq()
1550 if (buffer_info->skb) { in atl1c_clean_tx_irq()
1551 total_bytes += buffer_info->skb->len; in atl1c_clean_tx_irq()
1554 atl1c_clean_buffer(pdev, buffer_info); in atl1c_clean_tx_irq()
1687 struct atl1c_buffer *buffer_info, *next_info; in atl1c_alloc_rx_buffer() local
1698 buffer_info = &rfd_ring->buffer_info[rfd_next_to_use]; in atl1c_alloc_rx_buffer()
1699 next_info = &rfd_ring->buffer_info[next_next]; in atl1c_alloc_rx_buffer()
1717 ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_BUSY); in atl1c_alloc_rx_buffer()
1718 buffer_info->skb = skb; in atl1c_alloc_rx_buffer()
1719 buffer_info->length = adapter->rx_buffer_len; in atl1c_alloc_rx_buffer()
1721 buffer_info->length, DMA_FROM_DEVICE); in atl1c_alloc_rx_buffer()
1724 buffer_info->skb = NULL; in atl1c_alloc_rx_buffer()
1725 buffer_info->length = 0; in atl1c_alloc_rx_buffer()
1726 ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_FREE); in atl1c_alloc_rx_buffer()
1730 buffer_info->dma = mapping; in atl1c_alloc_rx_buffer()
1731 ATL1C_SET_PCIMAP_TYPE(buffer_info, ATL1C_PCIMAP_SINGLE, in atl1c_alloc_rx_buffer()
1733 rfd_desc->buffer_addr = cpu_to_le64(buffer_info->dma); in atl1c_alloc_rx_buffer()
1737 buffer_info = &rfd_ring->buffer_info[rfd_next_to_use]; in atl1c_alloc_rx_buffer()
1738 next_info = &rfd_ring->buffer_info[next_next]; in atl1c_alloc_rx_buffer()
1771 struct atl1c_buffer *buffer_info = rfd_ring->buffer_info; in atl1c_clean_rfd() local
1776 buffer_info[rfd_index].skb = NULL; in atl1c_clean_rfd()
1777 ATL1C_SET_BUFFER_STATE(&buffer_info[rfd_index], in atl1c_clean_rfd()
1797 struct atl1c_buffer *buffer_info; in atl1c_clean_rx_irq() local
1832 buffer_info = &rfd_ring->buffer_info[rfd_index]; in atl1c_clean_rx_irq()
1833 dma_unmap_single(&pdev->dev, buffer_info->dma, in atl1c_clean_rx_irq()
1834 buffer_info->length, DMA_FROM_DEVICE); in atl1c_clean_rx_irq()
1835 skb = buffer_info->skb; in atl1c_clean_rx_irq()
1945 return &tpd_ring->buffer_info[tpd - in atl1c_get_tx_buffer()
2070 struct atl1c_buffer *buffer_info; in atl1c_tx_rollback() local
2078 buffer_info = &tpd_ring->buffer_info[index]; in atl1c_tx_rollback()
2079 atl1c_clean_buffer(adpt->pdev, buffer_info); in atl1c_tx_rollback()
2092 struct atl1c_buffer *buffer_info = NULL; in atl1c_tx_map() local
2108 buffer_info = atl1c_get_tx_buffer(adapter, use_tpd); in atl1c_tx_map()
2109 buffer_info->length = map_len; in atl1c_tx_map()
2110 buffer_info->dma = dma_map_single(&adapter->pdev->dev, in atl1c_tx_map()
2113 if (unlikely(dma_mapping_error(&adapter->pdev->dev, buffer_info->dma))) in atl1c_tx_map()
2115 ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_BUSY); in atl1c_tx_map()
2116 ATL1C_SET_PCIMAP_TYPE(buffer_info, ATL1C_PCIMAP_SINGLE, in atl1c_tx_map()
2119 use_tpd->buffer_addr = cpu_to_le64(buffer_info->dma); in atl1c_tx_map()
2120 use_tpd->buffer_len = cpu_to_le16(buffer_info->length); in atl1c_tx_map()
2132 buffer_info = atl1c_get_tx_buffer(adapter, use_tpd); in atl1c_tx_map()
2133 buffer_info->length = buf_len - mapped_len; in atl1c_tx_map()
2134 buffer_info->dma = in atl1c_tx_map()
2137 buffer_info->length, DMA_TO_DEVICE); in atl1c_tx_map()
2138 if (unlikely(dma_mapping_error(&adapter->pdev->dev, buffer_info->dma))) in atl1c_tx_map()
2141 ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_BUSY); in atl1c_tx_map()
2142 ATL1C_SET_PCIMAP_TYPE(buffer_info, ATL1C_PCIMAP_SINGLE, in atl1c_tx_map()
2144 use_tpd->buffer_addr = cpu_to_le64(buffer_info->dma); in atl1c_tx_map()
2145 use_tpd->buffer_len = cpu_to_le16(buffer_info->length); in atl1c_tx_map()
2154 buffer_info = atl1c_get_tx_buffer(adapter, use_tpd); in atl1c_tx_map()
2155 buffer_info->length = skb_frag_size(frag); in atl1c_tx_map()
2156 buffer_info->dma = skb_frag_dma_map(&adapter->pdev->dev, in atl1c_tx_map()
2158 buffer_info->length, in atl1c_tx_map()
2160 if (dma_mapping_error(&adapter->pdev->dev, buffer_info->dma)) in atl1c_tx_map()
2163 ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_BUSY); in atl1c_tx_map()
2164 ATL1C_SET_PCIMAP_TYPE(buffer_info, ATL1C_PCIMAP_PAGE, in atl1c_tx_map()
2166 use_tpd->buffer_addr = cpu_to_le64(buffer_info->dma); in atl1c_tx_map()
2167 use_tpd->buffer_len = cpu_to_le16(buffer_info->length); in atl1c_tx_map()
2174 buffer_info->skb = skb; in atl1c_tx_map()
2179 buffer_info->dma = 0; in atl1c_tx_map()
2180 buffer_info->length = 0; in atl1c_tx_map()