Lines Matching refs:ring

160 unsigned int vnic_dev_desc_ring_size(struct vnic_dev_ring *ring,  in vnic_dev_desc_ring_size()  argument
173 ring->base_align = 512; in vnic_dev_desc_ring_size()
178 ring->desc_count = ALIGN(desc_count, count_align); in vnic_dev_desc_ring_size()
180 ring->desc_size = ALIGN(desc_size, desc_align); in vnic_dev_desc_ring_size()
182 ring->size = ring->desc_count * ring->desc_size; in vnic_dev_desc_ring_size()
183 ring->size_unaligned = ring->size + ring->base_align; in vnic_dev_desc_ring_size()
185 return ring->size_unaligned; in vnic_dev_desc_ring_size()
188 void vnic_dev_clear_desc_ring(struct vnic_dev_ring *ring) in vnic_dev_clear_desc_ring() argument
190 memset(ring->descs, 0, ring->size); in vnic_dev_clear_desc_ring()
193 int vnic_dev_alloc_desc_ring(struct vnic_dev *vdev, struct vnic_dev_ring *ring, in vnic_dev_alloc_desc_ring() argument
196 vnic_dev_desc_ring_size(ring, desc_count, desc_size); in vnic_dev_alloc_desc_ring()
198 ring->descs_unaligned = pci_alloc_consistent(vdev->pdev, in vnic_dev_alloc_desc_ring()
199 ring->size_unaligned, in vnic_dev_alloc_desc_ring()
200 &ring->base_addr_unaligned); in vnic_dev_alloc_desc_ring()
202 if (!ring->descs_unaligned) { in vnic_dev_alloc_desc_ring()
205 (int)ring->size); in vnic_dev_alloc_desc_ring()
209 ring->base_addr = ALIGN(ring->base_addr_unaligned, in vnic_dev_alloc_desc_ring()
210 ring->base_align); in vnic_dev_alloc_desc_ring()
211 ring->descs = (u8 *)ring->descs_unaligned + in vnic_dev_alloc_desc_ring()
212 (ring->base_addr - ring->base_addr_unaligned); in vnic_dev_alloc_desc_ring()
214 vnic_dev_clear_desc_ring(ring); in vnic_dev_alloc_desc_ring()
216 ring->desc_avail = ring->desc_count - 1; in vnic_dev_alloc_desc_ring()
221 void vnic_dev_free_desc_ring(struct vnic_dev *vdev, struct vnic_dev_ring *ring) in vnic_dev_free_desc_ring() argument
223 if (ring->descs) { in vnic_dev_free_desc_ring()
225 ring->size_unaligned, in vnic_dev_free_desc_ring()
226 ring->descs_unaligned, in vnic_dev_free_desc_ring()
227 ring->base_addr_unaligned); in vnic_dev_free_desc_ring()
228 ring->descs = NULL; in vnic_dev_free_desc_ring()