dmaengine: ste_dma40: remove redundant irqsave and irqrestore in hardIRQ
authorBarry Song <song.bao.hua@hisilicon.com>
Tue, 27 Oct 2020 21:52:51 +0000 (10:52 +1300)
committerVinod Koul <vkoul@kernel.org>
Mon, 9 Nov 2020 11:55:54 +0000 (17:25 +0530)
Running in hardIRQ, disabling IRQ is redundant since hardIRQ has disabled
IRQ. This patch removes the irqsave and irqstore to save some instruction
cycles.

Signed-off-by: Barry Song <song.bao.hua@hisilicon.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20201027215252.25820-10-song.bao.hua@hisilicon.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/ste_dma40.c

index 77ab1f4..4256e55 100644 (file)
@@ -1643,13 +1643,12 @@ static irqreturn_t d40_handle_interrupt(int irq, void *data)
        u32 row;
        long chan = -1;
        struct d40_chan *d40c;
-       unsigned long flags;
        struct d40_base *base = data;
        u32 *regs = base->regs_interrupt;
        struct d40_interrupt_lookup *il = base->gen_dmac.il;
        u32 il_size = base->gen_dmac.il_size;
 
-       spin_lock_irqsave(&base->interrupt_lock, flags);
+       spin_lock(&base->interrupt_lock);
 
        /* Read interrupt status of both logical and physical channels */
        for (i = 0; i < il_size; i++)
@@ -1694,7 +1693,7 @@ static irqreturn_t d40_handle_interrupt(int irq, void *data)
                spin_unlock(&d40c->lock);
        }
 
-       spin_unlock_irqrestore(&base->interrupt_lock, flags);
+       spin_unlock(&base->interrupt_lock);
 
        return IRQ_HANDLED;
 }