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()
319 musb_ep->dma->desired_mode = 0; in txstate()
321 musb_ep->dma->desired_mode = 1; in txstate()
324 musb_ep->dma, musb_ep->packet_sz, in txstate()
325 musb_ep->dma->desired_mode, in txstate()
326 request->dma + request->actual, request_size); in txstate()
328 if (musb_ep->dma->desired_mode == 0) { in txstate()
394 musb_ep->dma, musb_ep->packet_sz, in txstate()
396 request->dma + request->actual, in txstate()
399 c->channel_release(musb_ep->dma); in txstate()
400 musb_ep->dma = NULL; in txstate()
407 musb_ep->dma, musb_ep->packet_sz, in txstate()
409 request->dma + request->actual, in txstate()
450 struct dma_channel *dma; in musb_g_tx() local
459 dma = is_dma_capable() ? musb_ep->dma : NULL; in musb_g_tx()
481 if (dma_channel_status(dma) == MUSB_DMA_STATUS_BUSY) { in musb_g_tx()
493 if (dma && (csr & MUSB_TXCSR_DMAENAB)) { in musb_g_tx()
501 request->actual += musb_ep->dma->actual_len; in musb_g_tx()
503 epnum, csr, musb_ep->dma->actual_len, request); in musb_g_tx()
514 || (is_dma && (!dma->desired_mode || in musb_g_tx()
587 if (dma_channel_status(musb_ep->dma) == MUSB_DMA_STATUS_BUSY) { in rxstate()
600 struct dma_channel *channel = musb_ep->dma; in rxstate()
610 request->dma + request->actual, in rxstate()
648 channel = musb_ep->dma; in rxstate()
691 musb_ep->dma->desired_mode = 1; in rxstate()
701 musb_ep->dma->desired_mode = 0; in rxstate()
708 request->dma in rxstate()
724 channel = musb_ep->dma; in rxstate()
747 musb_ep->dma->desired_mode = 0; in rxstate()
749 musb_ep->dma->desired_mode = 1; in rxstate()
758 request->dma in rxstate()
777 struct dma_channel *channel = musb_ep->dma; in rxstate()
778 u32 dma_addr = request->dma + request->actual; in rxstate()
838 struct dma_channel *dma; in musb_g_rx() local
855 dma = is_dma_capable() ? musb_ep->dma : NULL; in musb_g_rx()
858 csr, dma ? " (dma)" : "", request); in musb_g_rx()
881 if (dma_channel_status(dma) == MUSB_DMA_STATUS_BUSY) { in musb_g_rx()
888 if (dma && (csr & MUSB_RXCSR_DMAENAB)) { in musb_g_rx()
895 request->actual += musb_ep->dma->actual_len; in musb_g_rx()
900 musb_ep->dma->actual_len, request); in musb_g_rx()
905 if ((dma->desired_mode == 0 && !hw_ep->rx_double_buffered) in musb_g_rx()
906 || (dma->actual_len in musb_g_rx()
915 && (musb_ep->dma->actual_len in musb_g_rx()
1108 musb_ep->dma = c->channel_alloc(c, hw_ep, in musb_gadget_enable()
1111 musb_ep->dma = NULL; in musb_gadget_enable()
1126 musb_ep->dma ? "dma, " : "", in musb_gadget_enable()
1198 request->request.dma = DMA_ADDR_INVALID; in musb_alloc_request()
1220 dma_addr_t dma; member
1324 else if (is_dma_capable() && musb_ep->dma) { in musb_gadget_dequeue()
1329 status = c->channel_abort(musb_ep->dma); in musb_gadget_dequeue()