Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dma: xilinx_dpdma: Remove unnecessary use of irqsave/restore

xilinx_dpdma_chan_done_irq and xilinx_dpdma_chan_vsync_irq are always
called with IRQs disabled from xilinx_dpdma_irq_handler. Therefore we
don't need to save/restore the IRQ flags.

Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Link: https://lore.kernel.org/r/20240308210034.3634938-3-sean.anderson@linux.dev
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Sean Anderson and committed by
Vinod Koul
28ccf02c a20f10d6

+4 -6
+4 -6
drivers/dma/xilinx/xilinx_dpdma.c
··· 1042 1042 static void xilinx_dpdma_chan_done_irq(struct xilinx_dpdma_chan *chan) 1043 1043 { 1044 1044 struct xilinx_dpdma_tx_desc *active; 1045 - unsigned long flags; 1046 1045 1047 - spin_lock_irqsave(&chan->lock, flags); 1046 + spin_lock(&chan->lock); 1048 1047 1049 1048 xilinx_dpdma_debugfs_desc_done_irq(chan); 1050 1049 ··· 1055 1056 "chan%u: DONE IRQ with no active descriptor!\n", 1056 1057 chan->id); 1057 1058 1058 - spin_unlock_irqrestore(&chan->lock, flags); 1059 + spin_unlock(&chan->lock); 1059 1060 } 1060 1061 1061 1062 /** ··· 1070 1071 { 1071 1072 struct xilinx_dpdma_tx_desc *pending; 1072 1073 struct xilinx_dpdma_sw_desc *sw_desc; 1073 - unsigned long flags; 1074 1074 u32 desc_id; 1075 1075 1076 - spin_lock_irqsave(&chan->lock, flags); 1076 + spin_lock(&chan->lock); 1077 1077 1078 1078 pending = chan->desc.pending; 1079 1079 if (!chan->running || !pending) ··· 1103 1105 xilinx_dpdma_chan_queue_transfer(chan); 1104 1106 1105 1107 out: 1106 - spin_unlock_irqrestore(&chan->lock, flags); 1108 + spin_unlock(&chan->lock); 1107 1109 } 1108 1110 1109 1111 /**