Lines Matching refs:transfer

257  * @transfer_one_dma_start: routine to start transfer a single spi_transfer
308 * @t_size_max: maximum number of data of one transfer
316 * @cur_xferlen: current transfer length in bytes
317 * @cur_usedma: boolean to know if dma is used in current transfer
322 * @dma_tx: dma channel for TX transfer
323 * @dma_rx: dma channel for RX transfer
379 /* SPI data transfer is enabled but spi_ker_ck is idle.
399 /* SPI data transfer is enabled but spi_ker_ck is idle.
897 * stm32_spi_can_dma - Determine if the transfer is eligible for DMA use
900 * @transfer: pointer to spi transfer
902 * If driver has fifo and the current transfer size is greater than fifo size,
903 * use DMA. Otherwise use DMA for transfer longer than defined DMA min bytes.
907 struct spi_transfer *transfer)
918 (transfer->len > dma_size) ? "true" : "false");
920 return (transfer->len > dma_size);
974 * so stop the current transfer. Transfer can wait for next
1075 * that something went wrong, so stop the current transfer
1082 dev_warn(spi->dev, "Mode fault: transfer aborted\n");
1135 * stm32_spi_prepare_msg - set up the controller to transfer a single message
1199 * DMA callback is called when the transfer is complete for DMA TX channel.
1214 * DMA callback is called when the transfer is complete for DMA RX channel.
1225 * transfer bits_per_word.
1229 * @dir: direction of the dma transfer
1277 * stm32fx_spi_transfer_one_irq - transfer a single spi_transfer using
1281 * It must returns 0 if the transfer is finished or 1 if the transfer is still
1308 /* starting data transfer when buffer is loaded */
1318 * stm32h7_spi_transfer_one_irq - transfer a single spi_transfer using
1322 * It must returns 0 if the transfer is finished or 1 if the transfer is still
1338 /* Enable the interrupts relative to the end of transfer */
1344 /* Be sure to have data in fifo before starting data transfer */
1360 * transfer using DMA
1365 /* In DMA mode end of transfer is handled by DMA TX or RX callback. */
1379 * transfer using DMA
1395 * transfer using DMA
1413 * stm32_spi_transfer_one_dma - transfer a single spi_transfer using DMA
1417 * It must returns 0 if the transfer is finished or 1 if the transfer is still
1511 dev_info(spi->dev, "DMA issue: fall back to irq transfer\n");
1598 * stm32_spi_communication_type - return transfer communication type
1600 * @transfer: pointer to spi transfer
1603 struct spi_transfer *transfer)
1612 * transfer.
1614 if (!transfer->tx_buf)
1619 if (!transfer->tx_buf)
1621 else if (!transfer->rx_buf)
1695 * @len: transfer len
1721 * stm32h7_spi_number_of_data - configure number of data at current transfer
1723 * @nb_words: transfer length (in words)
1738 * stm32_spi_transfer_one_setup - common setup to transfer a single
1743 * @transfer: pointer to spi transfer
1747 struct spi_transfer *transfer)
1756 spi->cur_xferlen = transfer->len;
1758 spi->cur_bpw = transfer->bits_per_word;
1763 mbr = stm32_spi_prepare_mbr(spi, transfer->speed_hz,
1771 transfer->speed_hz = spi->cur_speed;
1775 comm_type = stm32_spi_communication_type(spi_dev, transfer);
1783 spi->cfg->set_data_idleness(spi, transfer->len);
1786 nb_words = transfer->len;
1788 nb_words = DIV_ROUND_UP(transfer->len * 8, 16);
1790 nb_words = DIV_ROUND_UP(transfer->len * 8, 32);
1798 dev_dbg(spi->dev, "transfer communication mode set to %d\n",
1805 dev_dbg(spi->dev, "transfer of %d bytes (%d data frames)\n",
1817 * stm32_spi_transfer_one - transfer a single spi_transfer
1820 * @transfer: pointer to spi transfer
1822 * It must return 0 if the transfer is finished or 1 if the transfer is still
1827 struct spi_transfer *transfer)
1832 spi->tx_buf = transfer->tx_buf;
1833 spi->rx_buf = transfer->rx_buf;
1834 spi->tx_len = spi->tx_buf ? transfer->len : 0;
1835 spi->rx_len = spi->rx_buf ? transfer->len : 0;
1838 ctrl->can_dma(ctrl, spi_dev, transfer));
1840 ret = stm32_spi_transfer_one_setup(spi, spi_dev, transfer);
1842 dev_err(spi->dev, "SPI transfer setup failed\n");
1847 return stm32_spi_transfer_one_dma(spi, transfer);