mirror of
https://github.com/torvalds/linux.git
synced 2024-11-14 08:02:07 +00:00
dmaengine: ti: k3-udma: 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: Barry Song <song.bao.hua@hisilicon.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Link: https://lore.kernel.org/r/20201027215252.25820-3-song.bao.hua@hisilicon.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
f3b1024908
commit
e991c06ed7
@ -1020,13 +1020,12 @@ static irqreturn_t udma_ring_irq_handler(int irq, void *data)
|
||||
{
|
||||
struct udma_chan *uc = data;
|
||||
struct udma_desc *d;
|
||||
unsigned long flags;
|
||||
dma_addr_t paddr = 0;
|
||||
|
||||
if (udma_pop_from_ring(uc, &paddr) || !paddr)
|
||||
return IRQ_HANDLED;
|
||||
|
||||
spin_lock_irqsave(&uc->vc.lock, flags);
|
||||
spin_lock(&uc->vc.lock);
|
||||
|
||||
/* Teardown completion message */
|
||||
if (cppi5_desc_is_tdcm(paddr)) {
|
||||
@ -1077,7 +1076,7 @@ static irqreturn_t udma_ring_irq_handler(int irq, void *data)
|
||||
}
|
||||
}
|
||||
out:
|
||||
spin_unlock_irqrestore(&uc->vc.lock, flags);
|
||||
spin_unlock(&uc->vc.lock);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
@ -1086,9 +1085,8 @@ static irqreturn_t udma_udma_irq_handler(int irq, void *data)
|
||||
{
|
||||
struct udma_chan *uc = data;
|
||||
struct udma_desc *d;
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&uc->vc.lock, flags);
|
||||
spin_lock(&uc->vc.lock);
|
||||
d = uc->desc;
|
||||
if (d) {
|
||||
d->tr_idx = (d->tr_idx + 1) % d->sglen;
|
||||
@ -1103,7 +1101,7 @@ static irqreturn_t udma_udma_irq_handler(int irq, void *data)
|
||||
}
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&uc->vc.lock, flags);
|
||||
spin_unlock(&uc->vc.lock);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user