Lines Matching refs:xfer

368 				struct spi_transfer *xfer)  in s3c64xx_spi_can_dma()  argument
372 return xfer->len > (FIFO_LVL_MASK(sdd) >> 1) + 1; in s3c64xx_spi_can_dma()
377 struct spi_transfer *xfer, int dma_mode) in enable_datapath() argument
396 writel(((xfer->len * 8 / sdd->cur_bpw) & 0xffff) in enable_datapath()
401 if (xfer->tx_buf != NULL) { in enable_datapath()
406 prepare_dma(&sdd->tx_dma, &xfer->tx_sg); in enable_datapath()
411 xfer->tx_buf, xfer->len / 4); in enable_datapath()
415 xfer->tx_buf, xfer->len / 2); in enable_datapath()
419 xfer->tx_buf, xfer->len); in enable_datapath()
425 if (xfer->rx_buf != NULL) { in enable_datapath()
435 writel(((xfer->len * 8 / sdd->cur_bpw) & 0xffff) in enable_datapath()
438 prepare_dma(&sdd->rx_dma, &xfer->rx_sg); in enable_datapath()
468 struct spi_transfer *xfer) in wait_for_dma() argument
476 ms = xfer->len * 8 * 1000 / sdd->cur_speed; in wait_for_dma()
491 if (val && !xfer->rx_buf) { in wait_for_dma()
511 struct spi_transfer *xfer) in wait_for_pio() argument
522 ms = xfer->len * 8 * 1000 / sdd->cur_speed; in wait_for_pio()
528 } while (RX_FIFO_LVL(status, sdd) < xfer->len && --val); in wait_for_pio()
532 if (!xfer->rx_buf) { in wait_for_pio()
545 loops = xfer->len / ((FIFO_LVL_MASK(sdd) >> 1) + 1); in wait_for_pio()
546 buf = xfer->rx_buf; in wait_for_pio()
672 struct spi_transfer *xfer) in s3c64xx_spi_transfer_one() argument
684 bpw = xfer->bits_per_word; in s3c64xx_spi_transfer_one()
685 speed = xfer->speed_hz ? : spi->max_speed_hz; in s3c64xx_spi_transfer_one()
697 (xfer->len > ((FIFO_LVL_MASK(sdd) >> 1) + 1)))) in s3c64xx_spi_transfer_one()
706 enable_datapath(sdd, spi, xfer, use_dma); in s3c64xx_spi_transfer_one()
719 status = wait_for_dma(sdd, xfer); in s3c64xx_spi_transfer_one()
721 status = wait_for_pio(sdd, xfer); in s3c64xx_spi_transfer_one()
725 xfer->rx_buf ? 1 : 0, xfer->tx_buf ? 1 : 0, in s3c64xx_spi_transfer_one()
728 xfer->len); in s3c64xx_spi_transfer_one()
731 if (xfer->tx_buf != NULL in s3c64xx_spi_transfer_one()
734 if (xfer->rx_buf != NULL in s3c64xx_spi_transfer_one()