Lines Matching refs:dma
250 struct atmel_spi_dma dma; member
410 if (dmaengine_slave_config(as->dma.chan_tx, slave_config)) { in atmel_spi_dma_slave_config()
417 if (dmaengine_slave_config(as->dma.chan_rx, slave_config)) { in atmel_spi_dma_slave_config()
436 as->dma.chan_tx = dma_request_slave_channel_reason(dev, "tx"); in atmel_spi_configure_dma()
437 if (IS_ERR(as->dma.chan_tx)) { in atmel_spi_configure_dma()
438 err = PTR_ERR(as->dma.chan_tx); in atmel_spi_configure_dma()
453 as->dma.chan_rx = dma_request_slave_channel(dev, "rx"); in atmel_spi_configure_dma()
455 if (!as->dma.chan_rx) { in atmel_spi_configure_dma()
468 dma_chan_name(as->dma.chan_tx), in atmel_spi_configure_dma()
469 dma_chan_name(as->dma.chan_rx)); in atmel_spi_configure_dma()
472 if (as->dma.chan_rx) in atmel_spi_configure_dma()
473 dma_release_channel(as->dma.chan_rx); in atmel_spi_configure_dma()
474 if (!IS_ERR(as->dma.chan_tx)) in atmel_spi_configure_dma()
475 dma_release_channel(as->dma.chan_tx); in atmel_spi_configure_dma()
481 if (as->dma.chan_rx) in atmel_spi_stop_dma()
482 dmaengine_terminate_all(as->dma.chan_rx); in atmel_spi_stop_dma()
483 if (as->dma.chan_tx) in atmel_spi_stop_dma()
484 dmaengine_terminate_all(as->dma.chan_tx); in atmel_spi_stop_dma()
489 if (as->dma.chan_rx) in atmel_spi_release_dma()
490 dma_release_channel(as->dma.chan_rx); in atmel_spi_release_dma()
491 if (as->dma.chan_tx) in atmel_spi_release_dma()
492 dma_release_channel(as->dma.chan_tx); in atmel_spi_release_dma()
548 struct dma_chan *rxchan = as->dma.chan_rx; in atmel_spi_next_xfer_dma_submit()
549 struct dma_chan *txchan = as->dma.chan_tx; in atmel_spi_next_xfer_dma_submit()
566 sg_init_table(&as->dma.sgrx, 1); in atmel_spi_next_xfer_dma_submit()
568 as->dma.sgrx.dma_address = xfer->rx_dma + xfer->len - *plen; in atmel_spi_next_xfer_dma_submit()
570 as->dma.sgrx.dma_address = as->buffer_dma; in atmel_spi_next_xfer_dma_submit()
576 sg_init_table(&as->dma.sgtx, 1); in atmel_spi_next_xfer_dma_submit()
578 as->dma.sgtx.dma_address = xfer->tx_dma + xfer->len - *plen; in atmel_spi_next_xfer_dma_submit()
580 as->dma.sgtx.dma_address = as->buffer_dma; in atmel_spi_next_xfer_dma_submit()
586 sg_dma_len(&as->dma.sgtx) = len; in atmel_spi_next_xfer_dma_submit()
587 sg_dma_len(&as->dma.sgrx) = len; in atmel_spi_next_xfer_dma_submit()
595 rxdesc = dmaengine_prep_slave_sg(rxchan, &as->dma.sgrx, 1, in atmel_spi_next_xfer_dma_submit()
601 txdesc = dmaengine_prep_slave_sg(txchan, &as->dma.sgtx, 1, in atmel_spi_next_xfer_dma_submit()