Lines Matching refs:ring
159 static unsigned int vnic_dev_desc_ring_size(struct vnic_dev_ring *ring, in vnic_dev_desc_ring_size() argument
171 ring->base_align = 512; in vnic_dev_desc_ring_size()
176 ring->desc_count = ALIGN(desc_count, count_align); in vnic_dev_desc_ring_size()
178 ring->desc_size = ALIGN(desc_size, desc_align); in vnic_dev_desc_ring_size()
180 ring->size = ring->desc_count * ring->desc_size; in vnic_dev_desc_ring_size()
181 ring->size_unaligned = ring->size + ring->base_align; in vnic_dev_desc_ring_size()
183 return ring->size_unaligned; in vnic_dev_desc_ring_size()
186 void vnic_dev_clear_desc_ring(struct vnic_dev_ring *ring) in vnic_dev_clear_desc_ring() argument
188 memset(ring->descs, 0, ring->size); in vnic_dev_clear_desc_ring()
191 int vnic_dev_alloc_desc_ring(struct vnic_dev *vdev, struct vnic_dev_ring *ring, in vnic_dev_alloc_desc_ring() argument
194 vnic_dev_desc_ring_size(ring, desc_count, desc_size); in vnic_dev_alloc_desc_ring()
196 ring->descs_unaligned = pci_alloc_consistent(vdev->pdev, in vnic_dev_alloc_desc_ring()
197 ring->size_unaligned, in vnic_dev_alloc_desc_ring()
198 &ring->base_addr_unaligned); in vnic_dev_alloc_desc_ring()
200 if (!ring->descs_unaligned) { in vnic_dev_alloc_desc_ring()
202 (int)ring->size); in vnic_dev_alloc_desc_ring()
206 ring->base_addr = ALIGN(ring->base_addr_unaligned, in vnic_dev_alloc_desc_ring()
207 ring->base_align); in vnic_dev_alloc_desc_ring()
208 ring->descs = (u8 *)ring->descs_unaligned + in vnic_dev_alloc_desc_ring()
209 (ring->base_addr - ring->base_addr_unaligned); in vnic_dev_alloc_desc_ring()
211 vnic_dev_clear_desc_ring(ring); in vnic_dev_alloc_desc_ring()
213 ring->desc_avail = ring->desc_count - 1; in vnic_dev_alloc_desc_ring()
218 void vnic_dev_free_desc_ring(struct vnic_dev *vdev, struct vnic_dev_ring *ring) in vnic_dev_free_desc_ring() argument
220 if (ring->descs) { in vnic_dev_free_desc_ring()
222 ring->size_unaligned, in vnic_dev_free_desc_ring()
223 ring->descs_unaligned, in vnic_dev_free_desc_ring()
224 ring->base_addr_unaligned); in vnic_dev_free_desc_ring()
225 ring->descs = NULL; in vnic_dev_free_desc_ring()
420 vdev->devcmd2->cmd_ring = vdev->devcmd2->wq.ring.descs; in vnic_dev_init_devcmd2()