Home
last modified time | relevance | path

Searched refs:trbs (Results 1 - 25 of 25) sorted by relevance

/kernel/linux/linux-6.6/drivers/usb/gadget/udc/cdns2/
H A Dcdns2-ep0.c48 ring->trbs[0].buffer = cpu_to_le32(TRB_BUFFER(dma_addr)); in cdns2_ep0_enqueue()
49 ring->trbs[0].length = cpu_to_le32(TRB_LEN(length)); in cdns2_ep0_enqueue()
52 ring->trbs[0].control = cpu_to_le32(TRB_CYCLE | in cdns2_ep0_enqueue()
54 ring->trbs[1].buffer = cpu_to_le32(TRB_BUFFER(dma_addr)); in cdns2_ep0_enqueue()
55 ring->trbs[1].length = cpu_to_le32(TRB_LEN(0)); in cdns2_ep0_enqueue()
56 ring->trbs[1].control = cpu_to_le32(TRB_CYCLE | TRB_IOC | in cdns2_ep0_enqueue()
59 ring->trbs[0].control = cpu_to_le32(TRB_CYCLE | TRB_IOC | in cdns2_ep0_enqueue()
61 ring->trbs[1].control = 0; in cdns2_ep0_enqueue()
64 trace_cdns2_queue_trb(pep, ring->trbs); in cdns2_ep0_enqueue()
466 trace_cdns2_complete_trb(pep, pep->ring.trbs); in cdns2_transfer_completed()
[all...]
H A Dcdns2-debug.h99 struct cdns2_trb *trbs, in cdns2_raw_ring()
110 trb = &trbs[ring->dequeue]; in cdns2_raw_ring()
116 trb = &trbs[ring->enqueue]; in cdns2_raw_ring()
123 "\t\tfree trbs: %d, CCS=%d, PCS=%d\n", in cdns2_raw_ring()
134 trb = &trbs[i]; in cdns2_raw_ring()
98 cdns2_raw_ring(struct cdns2_endpoint *pep, struct cdns2_trb *trbs, char *str, size_t size) cdns2_raw_ring() argument
H A Dcdns2-gadget.c102 u32 offset = (char *)trb - (char *)pep->ring.trbs; in cdns2_trb_virt_to_dma()
112 if (pep->ring.trbs) { in cdns2_free_tr_segment()
113 dma_pool_free(pdev->eps_dma_pool, ring->trbs, ring->dma); in cdns2_free_tr_segment()
127 if (!ring->trbs) { in cdns2_alloc_tr_segment()
128 ring->trbs = dma_pool_alloc(pdev->eps_dma_pool, in cdns2_alloc_tr_segment()
131 if (!ring->trbs) in cdns2_alloc_tr_segment()
135 memset(ring->trbs, 0, TR_SEG_SIZE); in cdns2_alloc_tr_segment()
141 link_trb = (ring->trbs + (TRBS_PER_SEGMENT - 1)); in cdns2_alloc_tr_segment()
230 if (trb == (pep->ring.trbs + (TRBS_PER_SEGMENT - 1))) in cdns2_next_trb()
231 return pep->ring.trbs; in cdns2_next_trb()
[all...]
H A Dcdns2-gadget.h498 * @trbs: pointer to transfer ring.
507 struct cdns2_trb *trbs; member
587 * @num_of_trb: how many trbs are associated with request.
H A Dcdns2-trace.h450 memcpy(__get_dynamic_array(tr_seg), pep->ring.trbs,
/kernel/linux/linux-5.10/drivers/usb/host/
H A Dxhci-mem.c42 seg->trbs = dma_pool_zalloc(xhci->segment_pool, flags, &dma); in xhci_segment_alloc()
43 if (!seg->trbs) { in xhci_segment_alloc()
52 dma_pool_free(xhci->segment_pool, seg->trbs, dma); in xhci_segment_alloc()
60 seg->trbs[i].link.control |= cpu_to_le32(TRB_CYCLE); in xhci_segment_alloc()
70 if (seg->trbs) { in xhci_segment_free()
71 dma_pool_free(xhci->segment_pool, seg->trbs, seg->dma); in xhci_segment_free()
72 seg->trbs = NULL; in xhci_segment_free()
109 prev->trbs[TRBS_PER_SEGMENT-1].link.segment_ptr = in xhci_link_segments()
113 val = le32_to_cpu(prev->trbs[TRBS_PER_SEGMENT-1].link.control); in xhci_link_segments()
118 prev->trbs[TRBS_PER_SEGMEN in xhci_link_segments()
[all...]
H A Dxhci-dbgcap.c31 if (ring->first_seg && ring->first_seg->trbs) { in dbc_ring_free()
33 ring->first_seg->trbs, in dbc_ring_free()
240 ring->enqueue = ring->enq_seg->trbs; in xhci_dbc_queue_trb()
319 dev_err(dbc->dev, "failed to queue trbs\n"); in dbc_ep_do_queue()
444 seg->trbs = dma_alloc_coherent(dev, TRB_SEGMENT_SIZE, &dma, flags); in xhci_dbc_ring_alloc()
445 if (!seg->trbs) in xhci_dbc_ring_alloc()
452 union xhci_trb *trb = &seg->trbs[TRBS_PER_SEGMENT - 1]; in xhci_dbc_ring_alloc()
742 if (ring->dequeue == &ring->deq_seg->trbs[TRBS_PER_SEGMENT - 1]) { in inc_evt_deq()
744 ring->dequeue = ring->deq_seg->trbs; in inc_evt_deq()
H A Dxhci-ring.c71 if (!seg || !trb || trb < seg->trbs) in xhci_trb_virt_to_dma()
74 segment_offset = trb - seg->trbs; in xhci_trb_virt_to_dma()
92 return trb == &seg->trbs[TRBS_PER_SEGMENT - 1]; in last_trb_on_seg()
146 *trb = ((*seg)->trbs); in next_trb()
158 /* event ring doesn't have link trbs, check for last trb */ in inc_deq()
167 ring->dequeue = ring->deq_seg->trbs; in inc_deq()
171 /* All other rings have link trbs */ in inc_deq()
178 ring->dequeue = ring->deq_seg->trbs; in inc_deq()
248 ring->enqueue = ring->enq_seg->trbs; in inc_enq()
268 num_trbs_in_deq_seg = ring->dequeue - ring->deq_seg->trbs; in room_on_ring()
[all...]
H A Dxhci-debugfs.c205 trb = &seg->trbs[i]; in xhci_ring_dump_segment()
233 {"trbs", xhci_ring_trb_show, },
H A Dxhci.c883 memset(seg->trbs, 0, in xhci_clear_command_ring()
885 seg->trbs[TRBS_PER_SEGMENT - 1].link.control &= in xhci_clear_command_ring()
892 ring->dequeue = ring->first_seg->trbs; in xhci_clear_command_ring()
3236 /* block queuing new trbs and ringing ep doorbell */ in xhci_endpoint_reset()
H A Dxhci.h1534 union xhci_trb *trbs; member
/kernel/linux/linux-5.10/drivers/usb/early/
H A Dxhci-dbc.c179 seg->trbs = xdbc_get_page(&seg->dma); in xdbc_alloc_ring()
180 if (!seg->trbs) in xdbc_alloc_ring()
204 memset(seg->trbs, 0, PAGE_SIZE); in xdbc_reset_ring()
206 ring->enqueue = seg->trbs; in xdbc_reset_ring()
207 ring->dequeue = seg->trbs; in xdbc_reset_ring()
211 link_trb = &seg->trbs[XDBC_TRBS_PER_SEGMENT - 1]; in xdbc_reset_ring()
401 if (ring->enqueue >= &ring->segment->trbs[TRBS_PER_SEGMENT - 1]) { in xdbc_queue_trb()
408 ring->enqueue = ring->segment->trbs; in xdbc_queue_trb()
822 if (xdbc.evt_ring.dequeue == &xdbc.evt_seg.trbs[TRBS_PER_SEGMENT]) { in xdbc_handle_events()
823 xdbc.evt_ring.dequeue = xdbc.evt_seg.trbs; in xdbc_handle_events()
[all...]
H A Dxhci-dbc.h110 struct xdbc_trb *trbs; member
/kernel/linux/linux-6.6/drivers/usb/early/
H A Dxhci-dbc.c179 seg->trbs = xdbc_get_page(&seg->dma); in xdbc_alloc_ring()
180 if (!seg->trbs) in xdbc_alloc_ring()
204 memset(seg->trbs, 0, PAGE_SIZE); in xdbc_reset_ring()
206 ring->enqueue = seg->trbs; in xdbc_reset_ring()
207 ring->dequeue = seg->trbs; in xdbc_reset_ring()
211 link_trb = &seg->trbs[XDBC_TRBS_PER_SEGMENT - 1]; in xdbc_reset_ring()
401 if (ring->enqueue >= &ring->segment->trbs[TRBS_PER_SEGMENT - 1]) { in xdbc_queue_trb()
408 ring->enqueue = ring->segment->trbs; in xdbc_queue_trb()
824 if (xdbc.evt_ring.dequeue == &xdbc.evt_seg.trbs[TRBS_PER_SEGMENT]) { in xdbc_handle_events()
825 xdbc.evt_ring.dequeue = xdbc.evt_seg.trbs; in xdbc_handle_events()
[all...]
H A Dxhci-dbc.h110 struct xdbc_trb *trbs; member
/kernel/linux/linux-6.6/drivers/usb/cdns3/
H A Dcdnsp-mem.c42 seg->trbs = dma_pool_zalloc(pdev->segment_pool, flags, &dma); in cdnsp_segment_alloc()
43 if (!seg->trbs) { in cdnsp_segment_alloc()
57 seg->trbs[i].link.control |= cpu_to_le32(TRB_CYCLE); in cdnsp_segment_alloc()
65 dma_pool_free(pdev->segment_pool, seg->trbs, dma); in cdnsp_segment_alloc()
74 if (seg->trbs) in cdnsp_segment_free()
75 dma_pool_free(pdev->segment_pool, seg->trbs, seg->dma); in cdnsp_segment_free()
118 link = &prev->trbs[TRBS_PER_SEGMENT - 1].link; in cdnsp_link_segments()
154 ring->last_seg->trbs[TRBS_PER_SEGMENT - 1].link.control &= in cdnsp_link_rings()
156 last->trbs[TRBS_PER_SEGMENT - 1].link.control |= in cdnsp_link_rings()
299 ring->enqueue = ring->first_seg->trbs; in cdnsp_initialize_ring_info()
[all...]
H A Dcdnsp-ring.c74 unsigned long segment_offset = trb - seg->trbs; in cdnsp_trb_virt_to_dma()
76 if (trb < seg->trbs || segment_offset >= TRBS_PER_SEGMENT) in cdnsp_trb_virt_to_dma()
94 return trb == &seg->trbs[TRBS_PER_SEGMENT - 1]; in cdnsp_last_trb_on_seg()
136 *trb = ((*seg)->trbs); in cdnsp_next_trb()
148 /* event ring doesn't have link trbs, check for last trb. */ in cdnsp_inc_deq()
159 ring->dequeue = ring->deq_seg->trbs; in cdnsp_inc_deq()
163 /* All other rings have link trbs. */ in cdnsp_inc_deq()
170 ring->dequeue = ring->deq_seg->trbs; in cdnsp_inc_deq()
225 ring->enqueue = ring->enq_seg->trbs; in cdnsp_inc_enq()
246 num_trbs_in_deq_seg = ring->dequeue - ring->deq_seg->trbs; in cdnsp_room_on_ring()
[all...]
H A Dcdnsp-gadget.c515 event = segment->trbs; in cdnsp_invalidate_ep_events()
581 event = event_deq_seg->trbs; in cdnsp_wait_for_cmd_compl()
1373 memset(seg->trbs, 0, in cdnsp_clear_cmd_ring()
1417 event = event_deq_seg->trbs; in cdnsp_consume_all_events()
H A Dcdnsp-gadget.h1158 * @trbs: Array of Transfer Request Blocks.
1167 union cdnsp_trb *trbs; member
/kernel/linux/linux-6.6/drivers/usb/host/
H A Dxhci-dbgcap.c31 if (ring->first_seg && ring->first_seg->trbs) { in dbc_ring_free()
33 ring->first_seg->trbs, in dbc_ring_free()
240 ring->enqueue = ring->enq_seg->trbs; in xhci_dbc_queue_trb()
319 dev_err(dbc->dev, "failed to queue trbs\n"); in dbc_ep_do_queue()
444 seg->trbs = dma_alloc_coherent(dev, TRB_SEGMENT_SIZE, &dma, flags); in xhci_dbc_ring_alloc()
445 if (!seg->trbs) in xhci_dbc_ring_alloc()
452 union xhci_trb *trb = &seg->trbs[TRBS_PER_SEGMENT - 1]; in xhci_dbc_ring_alloc()
742 if (ring->dequeue == &ring->deq_seg->trbs[TRBS_PER_SEGMENT - 1]) { in inc_evt_deq()
744 ring->dequeue = ring->deq_seg->trbs; in inc_evt_deq()
H A Dxhci-mem.c43 seg->trbs = dma_pool_zalloc(xhci->segment_pool, flags, &dma); in xhci_segment_alloc()
44 if (!seg->trbs) { in xhci_segment_alloc()
53 dma_pool_free(xhci->segment_pool, seg->trbs, dma); in xhci_segment_alloc()
61 seg->trbs[i].link.control = cpu_to_le32(TRB_CYCLE); in xhci_segment_alloc()
71 if (seg->trbs) { in xhci_segment_free()
72 dma_pool_free(xhci->segment_pool, seg->trbs, seg->dma); in xhci_segment_free()
73 seg->trbs = NULL; in xhci_segment_free()
110 prev->trbs[TRBS_PER_SEGMENT-1].link.segment_ptr = in xhci_link_segments()
114 val = le32_to_cpu(prev->trbs[TRBS_PER_SEGMENT-1].link.control); in xhci_link_segments()
119 prev->trbs[TRBS_PER_SEGMEN in xhci_link_segments()
[all...]
H A Dxhci-ring.c74 if (!seg || !trb || trb < seg->trbs) in xhci_trb_virt_to_dma()
77 segment_offset = trb - seg->trbs; in xhci_trb_virt_to_dma()
95 return trb == &seg->trbs[TRBS_PER_SEGMENT - 1]; in last_trb_on_seg()
149 *trb = ((*seg)->trbs); in next_trb()
162 /* event ring doesn't have link trbs, check for last trb */ in inc_deq()
171 ring->dequeue = ring->deq_seg->trbs; in inc_deq()
175 /* All other rings have link trbs */ in inc_deq()
185 ring->dequeue = ring->deq_seg->trbs; in inc_deq()
262 ring->enqueue = ring->enq_seg->trbs; in inc_enq()
291 enq = enq_seg->trbs; in xhci_num_trbs_free()
[all...]
H A Dxhci-debugfs.c205 trb = &seg->trbs[i]; in xhci_ring_dump_segment()
233 {"trbs", xhci_ring_trb_show, },
H A Dxhci.c737 memset(seg->trbs, 0, in xhci_clear_command_ring()
739 seg->trbs[TRBS_PER_SEGMENT - 1].link.control &= in xhci_clear_command_ring()
746 ring->dequeue = ring->first_seg->trbs; in xhci_clear_command_ring()
3128 /* block queuing new trbs and ringing ep doorbell */ in xhci_endpoint_reset()
H A Dxhci.h1538 * Limits of consecutive isoc trbs that can Block Event Interrupt (BEI) if
1545 union xhci_trb *trbs; member

Completed in 61 milliseconds