dmaengine: moxart-dma: remove redundant irqsave and irqrestore in hardIRQ
authorBarry Song <song.bao.hua@hisilicon.com>
Tue, 27 Oct 2020 21:52:50 +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>
Link: https://lore.kernel.org/r/20201027215252.25820-9-song.bao.hua@hisilicon.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/moxart-dma.c

index 347146a..7475509 100644 (file)
@@ -524,7 +524,6 @@ static irqreturn_t moxart_dma_interrupt(int irq, void *devid)
        struct moxart_dmadev *mc = devid;
        struct moxart_chan *ch = &mc->slave_chans[0];
        unsigned int i;
-       unsigned long flags;
        u32 ctrl;
 
        dev_dbg(chan2dev(&ch->vc.chan), "%s\n", __func__);
@@ -541,14 +540,14 @@ static irqreturn_t moxart_dma_interrupt(int irq, void *devid)
                if (ctrl & APB_DMA_FIN_INT_STS) {
                        ctrl &= ~APB_DMA_FIN_INT_STS;
                        if (ch->desc) {
-                               spin_lock_irqsave(&ch->vc.lock, flags);
+                               spin_lock(&ch->vc.lock);
                                if (++ch->sgidx < ch->desc->sglen) {
                                        moxart_dma_start_sg(ch, ch->sgidx);
                                } else {
                                        vchan_cookie_complete(&ch->desc->vd);
                                        moxart_dma_start_desc(&ch->vc.chan);
                                }
-                               spin_unlock_irqrestore(&ch->vc.lock, flags);
+                               spin_unlock(&ch->vc.lock);
                        }
                }