Lines Matching refs:dma
60 struct dma_controller *dma = musb->dma_controller; in map_dma_buffer() local
64 if (!is_dma_capable() || !musb_ep->dma) in map_dma_buffer()
71 if (dma->is_compatible) in map_dma_buffer()
72 compatible = dma->is_compatible(musb_ep->dma, in map_dma_buffer()
78 if (request->request.dma == DMA_ADDR_INVALID) { in map_dma_buffer()
93 request->request.dma = dma_addr; in map_dma_buffer()
97 request->request.dma, in map_dma_buffer()
112 if (!is_buffer_mapped(request) || !musb_ep->dma) in unmap_dma_buffer()
115 if (request->request.dma == DMA_ADDR_INVALID) { in unmap_dma_buffer()
122 request->request.dma, in unmap_dma_buffer()
127 request->request.dma = DMA_ADDR_INVALID; in unmap_dma_buffer()
130 request->request.dma, in unmap_dma_buffer()
167 if (!dma_mapping_error(&musb->g.dev, request->dma)) in musb_g_giveback()
198 if (is_dma_capable() && ep->dma) { in nuke()
219 value = c->channel_abort(ep->dma); in nuke()
222 c->channel_release(ep->dma); in nuke()
223 ep->dma = NULL; in nuke()
275 if (dma_channel_status(musb_ep->dma) == MUSB_DMA_STATUS_BUSY) { in txstate()
310 musb_ep->dma->max_len); in txstate()
312 use_dma = (request->dma != DMA_ADDR_INVALID && request_size); in txstate()
318 musb_ep->dma->desired_mode = 0; in txstate()
320 musb_ep->dma->desired_mode = 1; in txstate()
323 musb_ep->dma, musb_ep->packet_sz, in txstate()
324 musb_ep->dma->desired_mode, in txstate()
325 request->dma + request->actual, request_size); in txstate()
327 if (musb_ep->dma->desired_mode == 0) { in txstate()
392 musb_ep->dma, musb_ep->packet_sz, in txstate()
394 request->dma + request->actual, in txstate()
397 c->channel_release(musb_ep->dma); in txstate()
398 musb_ep->dma = NULL; in txstate()
405 musb_ep->dma, musb_ep->packet_sz, in txstate()
407 request->dma + request->actual, in txstate()
448 struct dma_channel *dma; in musb_g_tx() local
457 dma = is_dma_capable() ? musb_ep->dma : NULL; in musb_g_tx()
479 if (dma_channel_status(dma) == MUSB_DMA_STATUS_BUSY) { in musb_g_tx()
492 if (dma && (csr & MUSB_TXCSR_DMAENAB)) { in musb_g_tx()
500 request->actual += musb_ep->dma->actual_len; in musb_g_tx()
502 epnum, csr, musb_ep->dma->actual_len, request); in musb_g_tx()
515 (is_dma && (!dma->desired_mode || in musb_g_tx()
589 if (dma_channel_status(musb_ep->dma) == MUSB_DMA_STATUS_BUSY) { in rxstate()
602 struct dma_channel *channel = musb_ep->dma; in rxstate()
612 request->dma + request->actual, in rxstate()
652 channel = musb_ep->dma; in rxstate()
695 musb_ep->dma->desired_mode = 1; in rxstate()
705 musb_ep->dma->desired_mode = 0; in rxstate()
712 request->dma in rxstate()
728 channel = musb_ep->dma; in rxstate()
751 musb_ep->dma->desired_mode = 0; in rxstate()
753 musb_ep->dma->desired_mode = 1; in rxstate()
762 request->dma in rxstate()
779 struct dma_channel *channel = musb_ep->dma; in rxstate()
780 u32 dma_addr = request->dma + request->actual; in rxstate()
839 struct dma_channel *dma; in musb_g_rx() local
856 dma = is_dma_capable() ? musb_ep->dma : NULL; in musb_g_rx()
859 csr, dma ? " (dma)" : "", request); in musb_g_rx()
882 if (dma_channel_status(dma) == MUSB_DMA_STATUS_BUSY) { in musb_g_rx()
889 if (dma && (csr & MUSB_RXCSR_DMAENAB)) { in musb_g_rx()
896 request->actual += musb_ep->dma->actual_len; in musb_g_rx()
901 musb_ep->dma->actual_len, request); in musb_g_rx()
906 if ((dma->desired_mode == 0 && !hw_ep->rx_double_buffered) in musb_g_rx()
907 || (dma->actual_len in musb_g_rx()
916 && (musb_ep->dma->actual_len in musb_g_rx()
1109 musb_ep->dma = c->channel_alloc(c, hw_ep, in musb_gadget_enable()
1112 musb_ep->dma = NULL; in musb_gadget_enable()
1127 musb_ep->dma ? "dma, " : "", in musb_gadget_enable()
1199 request->request.dma = DMA_ADDR_INVALID; in musb_alloc_request()
1221 dma_addr_t dma; member
1325 else if (is_dma_capable() && musb_ep->dma) { in musb_gadget_dequeue()
1330 status = c->channel_abort(musb_ep->dma); in musb_gadget_dequeue()