Lines Matching full:qup
366 struct spi_qup *qup = data; in spi_qup_dma_done() local
368 complete(&qup->done); in spi_qup_dma_done()
416 struct spi_qup *qup = spi_controller_get_devdata(host); in spi_qup_prep_sg() local
432 desc->callback_param = qup; in spi_qup_prep_sg()
473 struct spi_qup *qup = spi_controller_get_devdata(host); in spi_qup_do_dma() local
477 ret = spi_qup_vote_bw(qup, xfer->speed_hz); in spi_qup_do_dma()
479 dev_err(qup->dev, "fail to vote for ICC bandwidth: %d\n", ret); in spi_qup_do_dma()
495 qup->n_words = spi_qup_sgl_get_nents_len(rx_sgl, in spi_qup_do_dma()
496 SPI_MAX_XFER, &rx_nents) / qup->w_size; in spi_qup_do_dma()
498 qup->n_words = spi_qup_sgl_get_nents_len(tx_sgl, in spi_qup_do_dma()
499 SPI_MAX_XFER, &tx_nents) / qup->w_size; in spi_qup_do_dma()
500 if (!qup->n_words) in spi_qup_do_dma()
507 /* before issuing the descriptors, set the QUP to run */ in spi_qup_do_dma()
508 ret = spi_qup_set_state(qup, QUP_STATE_RUN); in spi_qup_do_dma()
510 dev_warn(qup->dev, "cannot set RUN state\n"); in spi_qup_do_dma()
530 if (!wait_for_completion_timeout(&qup->done, timeout)) in spi_qup_do_dma()
547 struct spi_qup *qup = spi_controller_get_devdata(host); in spi_qup_do_pio() local
550 n_words = qup->n_words; in spi_qup_do_pio()
552 qup->rx_buf = xfer->rx_buf; in spi_qup_do_pio()
553 qup->tx_buf = xfer->tx_buf; in spi_qup_do_pio()
557 qup->n_words = SPI_MAX_XFER; in spi_qup_do_pio()
559 qup->n_words = n_words % SPI_MAX_XFER; in spi_qup_do_pio()
561 if (qup->tx_buf && offset) in spi_qup_do_pio()
562 qup->tx_buf = xfer->tx_buf + offset * SPI_MAX_XFER; in spi_qup_do_pio()
564 if (qup->rx_buf && offset) in spi_qup_do_pio()
565 qup->rx_buf = xfer->rx_buf + offset * SPI_MAX_XFER; in spi_qup_do_pio()
571 if (qup->n_words <= (qup->in_fifo_sz / sizeof(u32))) in spi_qup_do_pio()
572 qup->mode = QUP_IO_M_MODE_FIFO; in spi_qup_do_pio()
578 ret = spi_qup_set_state(qup, QUP_STATE_RUN); in spi_qup_do_pio()
580 dev_warn(qup->dev, "cannot set RUN state\n"); in spi_qup_do_pio()
584 ret = spi_qup_set_state(qup, QUP_STATE_PAUSE); in spi_qup_do_pio()
586 dev_warn(qup->dev, "cannot set PAUSE state\n"); in spi_qup_do_pio()
590 if (qup->mode == QUP_IO_M_MODE_FIFO) in spi_qup_do_pio()
591 spi_qup_write(qup); in spi_qup_do_pio()
593 ret = spi_qup_set_state(qup, QUP_STATE_RUN); in spi_qup_do_pio()
595 dev_warn(qup->dev, "cannot set RUN state\n"); in spi_qup_do_pio()
599 if (!wait_for_completion_timeout(&qup->done, timeout)) in spi_qup_do_pio()
722 /* prep qup for another spi transaction of specific type */
919 struct spi_qup *qup = spi_controller_get_devdata(host); in spi_qup_can_dma() local
927 if (qup->qup_v1 && (xfer->len % qup->in_blk_sz)) in spi_qup_can_dma()
935 if (qup->qup_v1 && (xfer->len % qup->out_blk_sz)) in spi_qup_can_dma()
940 if (n_words <= (qup->in_fifo_sz / sizeof(u32))) in spi_qup_can_dma()
1179 /* if earlier version of the QUP, disable INPUT_OVERRUN */ in spi_qup_probe()
1347 { .compatible = "qcom,spi-qup-v1.1.1", .data = (void *)1, },
1348 { .compatible = "qcom,spi-qup-v2.1.1", },
1349 { .compatible = "qcom,spi-qup-v2.2.1", },