Lines Matching refs:ring

79 static void xhci_ring_free(struct xhci_ring *ring)  in xhci_ring_free()  argument
84 BUG_ON(!ring); in xhci_ring_free()
86 first_seg = ring->first_seg; in xhci_ring_free()
95 free(ring); in xhci_ring_free()
153 if (virt_dev->eps[i].ring) in xhci_free_virt_devices()
154 xhci_ring_free(virt_dev->eps[i].ring); in xhci_free_virt_devices()
246 static void xhci_initialize_ring_info(struct xhci_ring *ring) in xhci_initialize_ring_info() argument
251 ring->enqueue = ring->first_seg->trbs; in xhci_initialize_ring_info()
252 ring->enq_seg = ring->first_seg; in xhci_initialize_ring_info()
253 ring->dequeue = ring->enqueue; in xhci_initialize_ring_info()
254 ring->deq_seg = ring->first_seg; in xhci_initialize_ring_info()
262 ring->cycle_state = 1; in xhci_initialize_ring_info()
305 struct xhci_ring *ring; in xhci_ring_alloc() local
308 ring = (struct xhci_ring *)malloc(sizeof(struct xhci_ring)); in xhci_ring_alloc()
309 BUG_ON(!ring); in xhci_ring_alloc()
312 return ring; in xhci_ring_alloc()
314 ring->first_seg = xhci_segment_alloc(); in xhci_ring_alloc()
315 BUG_ON(!ring->first_seg); in xhci_ring_alloc()
319 prev = ring->first_seg; in xhci_ring_alloc()
331 xhci_link_segments(prev, ring->first_seg, link_trbs); in xhci_ring_alloc()
337 xhci_initialize_ring_info(ring); in xhci_ring_alloc()
339 return ring; in xhci_ring_alloc()
482 virt_dev->eps[0].ring = xhci_ring_alloc(1, true); in xhci_alloc_virt_device()
853 trb_64 = (uintptr_t)virt_dev->eps[0].ring->first_seg->trbs; in xhci_setup_addressable_virt_dev()
854 ep0_ctx->deq = cpu_to_le64(trb_64 | virt_dev->eps[0].ring->cycle_state); in xhci_setup_addressable_virt_dev()