]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
Xilinx: ARM: DMA: Modified VDMA config param disable_intr logic
authorSrikanthT <sthokal@xilinx.com>
Fri, 12 Oct 2012 19:16:56 +0000 (00:46 +0530)
committerJohn Linn <john.linn@xilinx.com>
Wed, 17 Oct 2012 17:56:11 +0000 (10:56 -0700)
The VDMA configuration parameter 'disable_intr' currently used
to enable specific interrupts, which does not denote the name
'disable_intr'.  This patch modifies the logic.

Signed-off-by: SrikanthT <sthokal@xilinx.com>
drivers/dma/xilinx_dma.c

index 7d9cf22db8d67063a7c3e45250bdb5562b2644d3..055fe9d44ccb9049880b3c49b58b466e11c83785 100644 (file)
@@ -738,11 +738,11 @@ static void xilinx_vdma_start_transfer(struct xilinx_dma_chan *chan)
         * park/genlock testing does not use interrupts */
        if (!chan->config.disable_intr) {
                DMA_OUT(&chan->regs->cr,
-                  DMA_IN(&chan->regs->cr) | XILINX_DMA_XR_IRQ_ALL_MASK);
+               DMA_IN(&chan->regs->cr) | XILINX_DMA_XR_IRQ_ALL_MASK);
        } else {
                DMA_OUT(&chan->regs->cr,
-                  DMA_IN(&chan->regs->cr) |
-                       chan->config.disable_intr << XILINX_DMA_IRQ_SHIFT);
+               (DMA_IN(&chan->regs->cr) | XILINX_DMA_XR_IRQ_ALL_MASK) &
+               ~((chan->config.disable_intr << XILINX_DMA_IRQ_SHIFT)));
        }
 
        /* Start the transfer