[PATCH v5 2/6] fsl-dma: remove attribute DMA_INTERRUPT of dmaengine

Liu Qiang-B32616 B32616 at freescale.com
Thu Aug 2 14:52:23 EST 2012


> -----Original Message-----
> From: Ira W. Snyder [mailto:iws at ovro.caltech.edu]
> Sent: Thursday, August 02, 2012 12:36 AM
> To: Liu Qiang-B32616
> Cc: linux-crypto at vger.kernel.org; linuxppc-dev at lists.ozlabs.org; linux-
> kernel at vger.kernel.org; dan.j.williams at gmail.com; Vinod Koul;
> herbert at gondor.hengli.com.au; Dan Williams; davem at davemloft.net
> Subject: Re: [PATCH v5 2/6] fsl-dma: remove attribute DMA_INTERRUPT of
> dmaengine
> 
> On Wed, Aug 01, 2012 at 04:49:08PM +0800, qiang.liu at freescale.com wrote:
> > From: Qiang Liu <qiang.liu at freescale.com>
> >
> > Delete attribute DMA_INTERRUPT because fsl-dma doesn't support this
> > function, exception will be thrown if talitos is used to offload xor at
> the same time.
> >
> 
> I have no problem with this patch.
> 
> However, it ***WILL BREAK*** both drivers in drivers/misc/carma. Please
> add my patch 7/7 titled "[PATCH 7/7] carma: remove unnecessary
> DMA_INTERRUPT capability" to your series. I suggest placing it
> immediately after this patch in your series.
> 
> The carma drivers use the fsldma driver exclusively.
Fine, thanks.

> 
> > Cc: Dan Williams <dan.j.williams at intel.com>
> > Cc: Vinod Koul <vinod.koul at intel.com>
> > Cc: Li Yang <leoli at freescale.com>
> > Signed-off-by: Qiang Liu <qiang.liu at freescale.com>
> > Acked-by: Ira W. Snyder <iws at ovro.caltech.edu>
> > ---
> >  drivers/dma/fsldma.c |   31 -------------------------------
> >  1 files changed, 0 insertions(+), 31 deletions(-)
> >
> > diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c index
> > 8f84761..4f2f212 100644
> > --- a/drivers/dma/fsldma.c
> > +++ b/drivers/dma/fsldma.c
> > @@ -543,35 +543,6 @@ static void fsl_dma_free_chan_resources(struct
> > dma_chan *dchan)  }
> >
> >  static struct dma_async_tx_descriptor *
> > -fsl_dma_prep_interrupt(struct dma_chan *dchan, unsigned long flags)
> > -{
> > -	struct fsldma_chan *chan;
> > -	struct fsl_desc_sw *new;
> > -
> > -	if (!dchan)
> > -		return NULL;
> > -
> > -	chan = to_fsl_chan(dchan);
> > -
> > -	new = fsl_dma_alloc_descriptor(chan);
> > -	if (!new) {
> > -		chan_err(chan, "%s\n", msg_ld_oom);
> > -		return NULL;
> > -	}
> > -
> > -	new->async_tx.cookie = -EBUSY;
> > -	new->async_tx.flags = flags;
> > -
> > -	/* Insert the link descriptor to the LD ring */
> > -	list_add_tail(&new->node, &new->tx_list);
> > -
> > -	/* Set End-of-link to the last link descriptor of new list */
> > -	set_ld_eol(chan, new);
> > -
> > -	return &new->async_tx;
> > -}
> > -
> > -static struct dma_async_tx_descriptor *  fsl_dma_prep_memcpy(struct
> > dma_chan *dchan,
> >  	dma_addr_t dma_dst, dma_addr_t dma_src,
> >  	size_t len, unsigned long flags)
> > @@ -1352,12 +1323,10 @@ static int __devinit fsldma_of_probe(struct
> platform_device *op)
> >  	fdev->irq = irq_of_parse_and_map(op->dev.of_node, 0);
> >
> >  	dma_cap_set(DMA_MEMCPY, fdev->common.cap_mask);
> > -	dma_cap_set(DMA_INTERRUPT, fdev->common.cap_mask);
> >  	dma_cap_set(DMA_SG, fdev->common.cap_mask);
> >  	dma_cap_set(DMA_SLAVE, fdev->common.cap_mask);
> >  	fdev->common.device_alloc_chan_resources =
> fsl_dma_alloc_chan_resources;
> >  	fdev->common.device_free_chan_resources =
> fsl_dma_free_chan_resources;
> > -	fdev->common.device_prep_dma_interrupt = fsl_dma_prep_interrupt;
> >  	fdev->common.device_prep_dma_memcpy = fsl_dma_prep_memcpy;
> >  	fdev->common.device_prep_dma_sg = fsl_dma_prep_sg;
> >  	fdev->common.device_tx_status = fsl_tx_status;
> > --
> > 1.7.5.1
> >
> >
> > _______________________________________________
> > Linuxppc-dev mailing list
> > Linuxppc-dev at lists.ozlabs.org
> > https://lists.ozlabs.org/listinfo/linuxppc-dev




More information about the Linuxppc-dev mailing list