dmaengine: tegra210-adma: remove redundant irqsave and irqrestore in hardIRQ
authorBarry Song <song.bao.hua@hisilicon.com>
Tue, 27 Oct 2020 21:52:46 +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>
Acked-by: Jon Hunter <jonathanh@nvidia.com>
Cc: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Link: https://lore.kernel.org/r/20201027215252.25820-5-song.bao.hua@hisilicon.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/tegra210-adma.c

index c5fa2ef..4735742 100644 (file)
@@ -408,19 +408,18 @@ static irqreturn_t tegra_adma_isr(int irq, void *dev_id)
 {
        struct tegra_adma_chan *tdc = dev_id;
        unsigned long status;
-       unsigned long flags;
 
-       spin_lock_irqsave(&tdc->vc.lock, flags);
+       spin_lock(&tdc->vc.lock);
 
        status = tegra_adma_irq_clear(tdc);
        if (status == 0 || !tdc->desc) {
-               spin_unlock_irqrestore(&tdc->vc.lock, flags);
+               spin_unlock(&tdc->vc.lock);
                return IRQ_NONE;
        }
 
        vchan_cyclic_callback(&tdc->desc->vd);
 
-       spin_unlock_irqrestore(&tdc->vc.lock, flags);
+       spin_unlock(&tdc->vc.lock);
 
        return IRQ_HANDLED;
 }