Lines Matching refs:xfer

171 	struct qspi_xfer xfer;  member
203 const struct qspi_xfer *xfer; in qcom_qspi_pio_xfer_cfg() local
205 xfer = &ctrl->xfer; in qcom_qspi_pio_xfer_cfg()
208 pio_xfer_cfg |= xfer->dir; in qcom_qspi_pio_xfer_cfg()
209 if (xfer->is_last) in qcom_qspi_pio_xfer_cfg()
214 iomode = qspi_buswidth_to_iomode(ctrl, xfer->buswidth); in qcom_qspi_pio_xfer_cfg()
226 pio_xfer_ctrl |= ctrl->xfer.rem_bytes; in qcom_qspi_pio_xfer_ctrl()
240 if (ctrl->xfer.dir == QSPI_WRITE) in qcom_qspi_pio_xfer()
262 ctrl->xfer.rem_bytes = 0; in qcom_qspi_handle_err()
323 virt_cmd_desc->direction = ctrl->xfer.dir; in qcom_qspi_alloc_desc()
324 virt_cmd_desc->multi_io_mode = qspi_buswidth_to_iomode(ctrl, ctrl->xfer.buswidth); in qcom_qspi_alloc_desc()
325 virt_cmd_desc->fragment = !ctrl->xfer.is_last; in qcom_qspi_alloc_desc()
339 struct spi_transfer *xfer) in qcom_qspi_setup_dma_desc() argument
352 sgt = (ctrl->xfer.dir == QSPI_READ) ? &xfer->rx_sg : &xfer->tx_sg; in qcom_qspi_setup_dma_desc()
371 if (ctrl->xfer.dir == QSPI_READ && (dma_len_sg & 0x03)) { in qcom_qspi_setup_dma_desc()
409 struct spi_device *slv, struct spi_transfer *xfer) in qcom_qspi_can_dma() argument
411 return xfer->len > QSPI_MAX_BYTES_FIFO; in qcom_qspi_can_dma()
416 struct spi_transfer *xfer) in qcom_qspi_transfer_one() argument
425 if (xfer->speed_hz) in qcom_qspi_transfer_one()
426 speed_hz = xfer->speed_hz; in qcom_qspi_transfer_one()
436 if (xfer->rx_buf) { in qcom_qspi_transfer_one()
437 ctrl->xfer.dir = QSPI_READ; in qcom_qspi_transfer_one()
438 ctrl->xfer.buswidth = xfer->rx_nbits; in qcom_qspi_transfer_one()
439 ctrl->xfer.rx_buf = xfer->rx_buf; in qcom_qspi_transfer_one()
441 ctrl->xfer.dir = QSPI_WRITE; in qcom_qspi_transfer_one()
442 ctrl->xfer.buswidth = xfer->tx_nbits; in qcom_qspi_transfer_one()
443 ctrl->xfer.tx_buf = xfer->tx_buf; in qcom_qspi_transfer_one()
445 ctrl->xfer.is_last = list_is_last(&xfer->transfer_list, in qcom_qspi_transfer_one()
447 ctrl->xfer.rem_bytes = xfer->len; in qcom_qspi_transfer_one()
449 if (xfer->rx_sg.nents || xfer->tx_sg.nents) { in qcom_qspi_transfer_one()
456 ret = qcom_qspi_setup_dma_desc(ctrl, xfer); in qcom_qspi_transfer_one()
543 wr_cnts = min(wr_cnts, ctrl->xfer.rem_bytes); in pio_read()
549 word_buf = ctrl->xfer.rx_buf; in pio_read()
550 ctrl->xfer.rem_bytes -= words_to_read * QSPI_BYTES_PER_WORD; in pio_read()
552 ctrl->xfer.rx_buf = word_buf + words_to_read; in pio_read()
556 byte_buf = ctrl->xfer.rx_buf; in pio_read()
558 ctrl->xfer.rem_bytes -= bytes_to_read; in pio_read()
561 ctrl->xfer.rx_buf = byte_buf; in pio_read()
569 const void *xfer_buf = ctrl->xfer.tx_buf; in pio_write()
580 if (ctrl->xfer.rem_bytes < QSPI_BYTES_PER_WORD) { in pio_write()
582 wr_size = min(wr_fifo_bytes, ctrl->xfer.rem_bytes); in pio_write()
583 ctrl->xfer.rem_bytes -= wr_size; in pio_write()
589 ctrl->xfer.tx_buf = byte_buf; in pio_write()
596 rem_words = ctrl->xfer.rem_bytes / QSPI_BYTES_PER_WORD; in pio_write()
600 ctrl->xfer.rem_bytes -= wr_size * QSPI_BYTES_PER_WORD; in pio_write()
604 ctrl->xfer.tx_buf = word_buf + wr_size; in pio_write()
626 if (ctrl->xfer.dir == QSPI_WRITE) { in qcom_qspi_irq()
644 if (!ctrl->xfer.rem_bytes) { in qcom_qspi_irq()
654 ctrl->xfer.rem_bytes = 0; in qcom_qspi_irq()