• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/usb/musb/

Lines Matching refs:dma

284 			hw_ep->tx_channel ? "dma" : "pio");
428 * ignore dma (various models),
611 static bool musb_tx_dma_program(struct dma_controller *dma,
660 if (!dma->channel_program(channel, pkt_size, mode,
662 dma->channel_release(channel);
1097 /* Service a Tx-Available or dma completion irq for the endpoint */
1111 struct dma_channel *dma;
1123 dma = is_dma_capable() ? hw_ep->tx_channel : NULL;
1125 dma ? ", dma" : "");
1129 /* dma was disabled, fifo flushed */
1136 /* (NON-ISO) dma was disabled, fifo flushed */
1146 * that could use this fifo. (dma complicates it...)
1160 if (dma_channel_status(dma) == MUSB_DMA_STATUS_BUSY) {
1161 dma->status = MUSB_DMA_STATUS_CORE_ABORT;
1162 (void) musb->dma_controller->channel_abort(dma);
1166 * usb core; the dma engine should already be stopped.
1186 if (dma_channel_status(dma) == MUSB_DMA_STATUS_BUSY) {
1191 if (is_dma_capable() && dma && !status) {
1252 if (!status || dma || usb_pipeisoc(pipe)) {
1253 if (dma)
1254 length = dma->actual_len;
1272 } else if (dma) {
1304 } else if (usb_pipeisoc(pipe) && dma) {
1363 * (and that endpoint's dma queue stops immediately)
1378 struct dma_channel *dma;
1386 dma = is_dma_capable() ? ep->rx_channel : NULL;
1397 if (dma_channel_status(dma) == MUSB_DMA_STATUS_BUSY) {
1398 dma->status = MUSB_DMA_STATUS_CORE_ABORT;
1399 musb->dma_controller->channel_abort(dma);
1400 urb->actual_length += dma->actual_len;
1401 dma->actual_len = 0L;
1434 struct dma_channel *dma;
1439 dma = is_dma_capable() ? hw_ep->rx_channel : NULL;
1459 DBG(5, "<== hw %d rxcsr %04x, urb actual %d (+dma %zu)\n",
1461 dma ? dma->actual_len : 0);
1515 /* clean up dma and collect transfer count */
1516 if (dma_channel_status(dma) == MUSB_DMA_STATUS_BUSY) {
1517 dma->status = MUSB_DMA_STATUS_CORE_ABORT;
1518 (void) musb->dma_controller->channel_abort(dma);
1519 xfer_len = dma->actual_len;
1527 if (unlikely(dma_channel_status(dma) == MUSB_DMA_STATUS_BUSY)) {
1529 ERR("RX%d dma busy, csr %04x\n", epnum, rx_csr);
1543 * and also duplicates dma cleanup code above ... plus,
1546 if (dma_channel_status(dma) == MUSB_DMA_STATUS_BUSY) {
1547 dma->status = MUSB_DMA_STATUS_CORE_ABORT;
1548 (void) musb->dma_controller->channel_abort(dma);
1549 xfer_len = dma->actual_len;
1554 xfer_len, dma ? ", dma" : "");
1562 if (dma && (rx_csr & MUSB_RXCSR_DMAENAB)) {
1563 xfer_len = dma->actual_len;
1578 /* even if there was an error, we did the dma
1593 || dma->actual_len < qh->maxpacket);
1603 DBG(4, "ep %d dma %s, rxcsr %04x, rxcount %d\n", epnum,
1627 if (dma) {
1673 dma->desired_mode = 0;
1683 dma->desired_mode = 1;
1686 dma->desired_mode = 0;
1712 if (dma->desired_mode == 0)
1730 dma, qh->maxpacket,
1731 dma->desired_mode, buf, length);
1734 c->channel_release(dma);
1736 dma = NULL;
1742 if (!dma) {
2030 * until we get real dma queues (with an entry for each urb/buffer),
2079 struct dma_channel *dma;
2081 dma = is_in ? ep->rx_channel : ep->tx_channel;
2082 if (dma) {
2083 status = ep->musb->dma_controller->channel_abort(dma);
2088 urb->actual_length += dma->actual_len;