DMA: Freescale: remove attribute DMA_INTERRUPT of dmaengine
authorHongbo Zhang <hongbo.zhang@freescale.com>
Fri, 18 Apr 2014 08:17:46 +0000 (16:17 +0800)
committerVinod Koul <vinod.koul@intel.com>
Fri, 2 May 2014 16:47:42 +0000 (22:17 +0530)
Delete attribute DMA_INTERRUPT because fsldma doesn't support this function,
exception will be thrown if talitos is used to offload xor at the same time.

Signed-off-by: Hongbo Zhang <hongbo.zhang@freescale.com>
Signed-off-by: Qiang Liu <qiang.liu@freescale.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/fsldma.c

index 5f32cb8a5767057359dff90f93901391d176d526..b71cc04e66ca9c02012bc7cf474666fc3823f30c 100644 (file)
@@ -527,35 +527,6 @@ static void fsl_dma_free_chan_resources(struct dma_chan *dchan)
        chan->desc_pool = NULL;
 }
 
-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,
@@ -1308,12 +1279,10 @@ static int 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;