Lines Matching refs:xfer

217 				     struct spi_transfer *xfer)  in mtk_spi_prepare_transfer()  argument
223 if (xfer->speed_hz < spi_clk_hz / 2) in mtk_spi_prepare_transfer()
224 div = DIV_ROUND_UP(spi_clk_hz, xfer->speed_hz); in mtk_spi_prepare_transfer()
312 struct spi_transfer *xfer) in mtk_spi_setup_dma_addr() argument
317 writel(xfer->tx_dma, mdata->base + SPI_TX_SRC_REG); in mtk_spi_setup_dma_addr()
319 writel(xfer->rx_dma, mdata->base + SPI_RX_DST_REG); in mtk_spi_setup_dma_addr()
324 struct spi_transfer *xfer) in mtk_spi_fifo_transfer() argument
329 mdata->cur_transfer = xfer; in mtk_spi_fifo_transfer()
330 mdata->xfer_len = xfer->len; in mtk_spi_fifo_transfer()
331 mtk_spi_prepare_transfer(master, xfer); in mtk_spi_fifo_transfer()
334 if (xfer->len % 4) in mtk_spi_fifo_transfer()
335 cnt = xfer->len / 4 + 1; in mtk_spi_fifo_transfer()
337 cnt = xfer->len / 4; in mtk_spi_fifo_transfer()
338 iowrite32_rep(mdata->base + SPI_TX_DATA_REG, xfer->tx_buf, cnt); in mtk_spi_fifo_transfer()
347 struct spi_transfer *xfer) in mtk_spi_dma_transfer() argument
356 mdata->cur_transfer = xfer; in mtk_spi_dma_transfer()
358 mtk_spi_prepare_transfer(master, xfer); in mtk_spi_dma_transfer()
361 if (xfer->tx_buf) in mtk_spi_dma_transfer()
363 if (xfer->rx_buf) in mtk_spi_dma_transfer()
367 if (xfer->tx_buf) in mtk_spi_dma_transfer()
368 mdata->tx_sgl = xfer->tx_sg.sgl; in mtk_spi_dma_transfer()
369 if (xfer->rx_buf) in mtk_spi_dma_transfer()
370 mdata->rx_sgl = xfer->rx_sg.sgl; in mtk_spi_dma_transfer()
373 xfer->tx_dma = sg_dma_address(mdata->tx_sgl); in mtk_spi_dma_transfer()
377 xfer->rx_dma = sg_dma_address(mdata->rx_sgl); in mtk_spi_dma_transfer()
383 mtk_spi_setup_dma_addr(master, xfer); in mtk_spi_dma_transfer()
391 struct spi_transfer *xfer) in mtk_spi_transfer_one() argument
393 if (master->can_dma(master, spi, xfer)) in mtk_spi_transfer_one()
394 return mtk_spi_dma_transfer(master, spi, xfer); in mtk_spi_transfer_one()
396 return mtk_spi_fifo_transfer(master, spi, xfer); in mtk_spi_transfer_one()
401 struct spi_transfer *xfer) in mtk_spi_can_dma() argument
403 return xfer->len > MTK_SPI_MAX_FIFO_SIZE; in mtk_spi_can_dma()