Re: [PATCH 08/18] spi: qup: Handle v1 dma completion differently

Sricharan R
2017-06-14T07:16:01Z

Hi Varada,

On 6/14/2017 11:22 AM, Varadarajan Narayanan wrote:
> Do not assign i/o completion callbacks while running
> on v1 of QUP.
>
> Signed-off-by: Varadarajan Narayanan <varada@codeaurora.org>
> ---
> drivers/spi/spi-qup.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
> index 7c22ee4..0f6a4c7 100644
> --- a/drivers/spi/spi-qup.c
> +++ b/drivers/spi/spi-qup.c
> @@ -334,6 +334,7 @@ static int spi_qup_do_dma(struct spi_master *master, struct spi_transfer *xfer,
> unsigned long timeout)
> {
> struct spi_qup *qup = spi_master_get_devdata(master);
> + dma_async_tx_callback done = qup->qup_v1 ? NULL : spi_qup_dma_done;
> int ret;
>
> /* before issuing the descriptors, set the QUP to run */
> @@ -346,7 +347,7 @@ static int spi_qup_do_dma(struct spi_master *master, struct spi_transfer *xfer,
>
> if (xfer->rx_buf) {
> ret = spi_qup_prep_sg(master, xfer, DMA_DEV_TO_MEM,
> - spi_qup_dma_done, &qup->rxc);
> + done, &qup->rxc);
> if (ret)
> return ret;
>
> @@ -355,7 +356,7 @@ static int spi_qup_do_dma(struct spi_master *master, struct spi_transfer *xfer,
>
> if (xfer->tx_buf) {
> ret = spi_qup_prep_sg(master, xfer, DMA_MEM_TO_DEV,
> - spi_qup_dma_done, &qup->txc);
> + done, &qup->txc);
> if (ret)
> return ret;
>
>

Not sure why we cannot use dma callback for V1 ?

Regards,
Sricharan

--
"QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation