Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752172AbdFNTyD (ORCPT ); Wed, 14 Jun 2017 15:54:03 -0400 Received: from mail-yw0-f171.google.com ([209.85.161.171]:34831 "EHLO mail-yw0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751777AbdFNTyA (ORCPT ); Wed, 14 Jun 2017 15:54:00 -0400 Date: Wed, 14 Jun 2017 15:53:58 -0400 From: Andy Gross To: Sricharan R Cc: Varadarajan Narayanan , broonie@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, david.brown@linaro.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org Subject: Re: [PATCH 08/18] spi: qup: Handle v1 dma completion differently Message-ID: <20170614195358.GC32733@hector.wework.com> References: <1497419551-21834-1-git-send-email-varada@codeaurora.org> <1497419551-21834-9-git-send-email-varada@codeaurora.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1656 Lines: 52 On Wed, Jun 14, 2017 at 12:45:51PM +0530, Sricharan R wrote: > 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 > > --- > > 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 ? V1 is for ADMA. V2+ is BAM. We only needed the callback for BAM Regards, Andy