Lines Matching refs:stream_info

590 		return radix_tree_lookup(&ep->stream_info->trb_address_map,  in xhci_dma_to_transfer_ring()
609 struct xhci_stream_info *stream_info; in xhci_alloc_stream_info() local
625 stream_info = kzalloc_node(sizeof(*stream_info), mem_flags, in xhci_alloc_stream_info()
627 if (!stream_info) in xhci_alloc_stream_info()
630 stream_info->num_streams = num_streams; in xhci_alloc_stream_info()
631 stream_info->num_stream_ctxs = num_stream_ctxs; in xhci_alloc_stream_info()
634 stream_info->stream_rings = kcalloc_node( in xhci_alloc_stream_info()
637 if (!stream_info->stream_rings) in xhci_alloc_stream_info()
641 stream_info->stream_ctx_array = xhci_alloc_stream_ctx(xhci, in xhci_alloc_stream_info()
642 num_stream_ctxs, &stream_info->ctx_array_dma, in xhci_alloc_stream_info()
644 if (!stream_info->stream_ctx_array) in xhci_alloc_stream_info()
646 memset(stream_info->stream_ctx_array, 0, in xhci_alloc_stream_info()
650 stream_info->free_streams_command = in xhci_alloc_stream_info()
652 if (!stream_info->free_streams_command) in xhci_alloc_stream_info()
655 INIT_RADIX_TREE(&stream_info->trb_address_map, GFP_ATOMIC); in xhci_alloc_stream_info()
663 stream_info->stream_rings[cur_stream] = in xhci_alloc_stream_info()
666 cur_ring = stream_info->stream_rings[cur_stream]; in xhci_alloc_stream_info()
670 cur_ring->trb_address_map = &stream_info->trb_address_map; in xhci_alloc_stream_info()
675 stream_info->stream_ctx_array[cur_stream].stream_ring = in xhci_alloc_stream_info()
683 stream_info->stream_rings[cur_stream] = NULL; in xhci_alloc_stream_info()
694 return stream_info; in xhci_alloc_stream_info()
698 cur_ring = stream_info->stream_rings[cur_stream]; in xhci_alloc_stream_info()
701 stream_info->stream_rings[cur_stream] = NULL; in xhci_alloc_stream_info()
704 xhci_free_command(xhci, stream_info->free_streams_command); in xhci_alloc_stream_info()
706 kfree(stream_info->stream_rings); in xhci_alloc_stream_info()
708 kfree(stream_info); in xhci_alloc_stream_info()
719 struct xhci_stream_info *stream_info) in xhci_setup_streams_ep_input_ctx() argument
726 max_primary_streams = fls(stream_info->num_stream_ctxs) - 2; in xhci_setup_streams_ep_input_ctx()
733 ep_ctx->deq = cpu_to_le64(stream_info->ctx_array_dma); in xhci_setup_streams_ep_input_ctx()
755 struct xhci_stream_info *stream_info) in xhci_free_stream_info() argument
760 if (!stream_info) in xhci_free_stream_info()
763 for (cur_stream = 1; cur_stream < stream_info->num_streams; in xhci_free_stream_info()
765 cur_ring = stream_info->stream_rings[cur_stream]; in xhci_free_stream_info()
768 stream_info->stream_rings[cur_stream] = NULL; in xhci_free_stream_info()
771 xhci_free_command(xhci, stream_info->free_streams_command); in xhci_free_stream_info()
773 if (stream_info->stream_ctx_array) in xhci_free_stream_info()
775 stream_info->num_stream_ctxs, in xhci_free_stream_info()
776 stream_info->stream_ctx_array, in xhci_free_stream_info()
777 stream_info->ctx_array_dma); in xhci_free_stream_info()
779 kfree(stream_info->stream_rings); in xhci_free_stream_info()
780 kfree(stream_info); in xhci_free_stream_info()
893 if (dev->eps[i].stream_info) in xhci_free_virt_device()
895 dev->eps[i].stream_info); in xhci_free_virt_device()