Commit 8c94b83e authored by Barry Song's avatar Barry Song Committed by Vinod Koul
Browse files

dmaengine: moxart-dma: remove redundant irqsave and irqrestore in hardIRQ



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: default avatarBarry Song <song.bao.hua@hisilicon.com>
Link: https://lore.kernel.org/r/20201027215252.25820-9-song.bao.hua@hisilicon.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent d9c8d4b2
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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);
			}
		}