Lines Matching full:qup
342 struct spi_qup *qup = data; in spi_qup_dma_done() local
344 complete(&qup->done); in spi_qup_dma_done()
392 struct spi_qup *qup = spi_controller_get_devdata(host); in spi_qup_prep_sg() local
408 desc->callback_param = qup; in spi_qup_prep_sg()
449 struct spi_qup *qup = spi_controller_get_devdata(host); in spi_qup_do_dma() local
465 qup->n_words = spi_qup_sgl_get_nents_len(rx_sgl, in spi_qup_do_dma()
466 SPI_MAX_XFER, &rx_nents) / qup->w_size; in spi_qup_do_dma()
468 qup->n_words = spi_qup_sgl_get_nents_len(tx_sgl, in spi_qup_do_dma()
469 SPI_MAX_XFER, &tx_nents) / qup->w_size; in spi_qup_do_dma()
470 if (!qup->n_words) in spi_qup_do_dma()
477 /* before issuing the descriptors, set the QUP to run */ in spi_qup_do_dma()
478 ret = spi_qup_set_state(qup, QUP_STATE_RUN); in spi_qup_do_dma()
480 dev_warn(qup->dev, "cannot set RUN state\n"); in spi_qup_do_dma()
500 if (!wait_for_completion_timeout(&qup->done, timeout)) in spi_qup_do_dma()
517 struct spi_qup *qup = spi_controller_get_devdata(host); in spi_qup_do_pio() local
520 n_words = qup->n_words; in spi_qup_do_pio()
522 qup->rx_buf = xfer->rx_buf; in spi_qup_do_pio()
523 qup->tx_buf = xfer->tx_buf; in spi_qup_do_pio()
527 qup->n_words = SPI_MAX_XFER; in spi_qup_do_pio()
529 qup->n_words = n_words % SPI_MAX_XFER; in spi_qup_do_pio()
531 if (qup->tx_buf && offset) in spi_qup_do_pio()
532 qup->tx_buf = xfer->tx_buf + offset * SPI_MAX_XFER; in spi_qup_do_pio()
534 if (qup->rx_buf && offset) in spi_qup_do_pio()
535 qup->rx_buf = xfer->rx_buf + offset * SPI_MAX_XFER; in spi_qup_do_pio()
541 if (qup->n_words <= (qup->in_fifo_sz / sizeof(u32))) in spi_qup_do_pio()
542 qup->mode = QUP_IO_M_MODE_FIFO; in spi_qup_do_pio()
548 ret = spi_qup_set_state(qup, QUP_STATE_RUN); in spi_qup_do_pio()
550 dev_warn(qup->dev, "cannot set RUN state\n"); in spi_qup_do_pio()
554 ret = spi_qup_set_state(qup, QUP_STATE_PAUSE); in spi_qup_do_pio()
556 dev_warn(qup->dev, "cannot set PAUSE state\n"); in spi_qup_do_pio()
560 if (qup->mode == QUP_IO_M_MODE_FIFO) in spi_qup_do_pio()
561 spi_qup_write(qup); in spi_qup_do_pio()
563 ret = spi_qup_set_state(qup, QUP_STATE_RUN); in spi_qup_do_pio()
565 dev_warn(qup->dev, "cannot set RUN state\n"); in spi_qup_do_pio()
569 if (!wait_for_completion_timeout(&qup->done, timeout)) in spi_qup_do_pio()
692 /* prep qup for another spi transaction of specific type */
889 struct spi_qup *qup = spi_controller_get_devdata(host); in spi_qup_can_dma() local
897 if (qup->qup_v1 && (xfer->len % qup->in_blk_sz)) in spi_qup_can_dma()
905 if (qup->qup_v1 && (xfer->len % qup->out_blk_sz)) in spi_qup_can_dma()
910 if (n_words <= (qup->in_fifo_sz / sizeof(u32))) in spi_qup_can_dma()
1133 /* if earlier version of the QUP, disable INPUT_OVERRUN */ in spi_qup_probe()
1299 { .compatible = "qcom,spi-qup-v1.1.1", .data = (void *)1, },
1300 { .compatible = "qcom,spi-qup-v2.1.1", },
1301 { .compatible = "qcom,spi-qup-v2.2.1", },