Commit 7349201d authored by Barry Song's avatar Barry Song Committed by Mark Brown

spi: lantiq: remove redundant irqsave and irqrestore in hardIRQ

Running in hardIRQ, disabling irq is redundant.
Signed-off-by: default avatarBarry Song <song.bao.hua@hisilicon.com>
Link: https://lore.kernel.org/r/20200916101042.21860-1-song.bao.hua@hisilicon.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 985be7eb
...@@ -625,9 +625,8 @@ static irqreturn_t lantiq_ssc_xmit_interrupt(int irq, void *data) ...@@ -625,9 +625,8 @@ static irqreturn_t lantiq_ssc_xmit_interrupt(int irq, void *data)
struct lantiq_ssc_spi *spi = data; struct lantiq_ssc_spi *spi = data;
const struct lantiq_ssc_hwcfg *hwcfg = spi->hwcfg; const struct lantiq_ssc_hwcfg *hwcfg = spi->hwcfg;
u32 val = lantiq_ssc_readl(spi, hwcfg->irncr); u32 val = lantiq_ssc_readl(spi, hwcfg->irncr);
unsigned long flags;
spin_lock_irqsave(&spi->lock, flags); spin_lock(&spi->lock);
if (hwcfg->irq_ack) if (hwcfg->irq_ack)
lantiq_ssc_writel(spi, val, hwcfg->irncr); lantiq_ssc_writel(spi, val, hwcfg->irncr);
...@@ -652,12 +651,12 @@ static irqreturn_t lantiq_ssc_xmit_interrupt(int irq, void *data) ...@@ -652,12 +651,12 @@ static irqreturn_t lantiq_ssc_xmit_interrupt(int irq, void *data)
} }
} }
spin_unlock_irqrestore(&spi->lock, flags); spin_unlock(&spi->lock);
return IRQ_HANDLED; return IRQ_HANDLED;
completed: completed:
queue_work(spi->wq, &spi->work); queue_work(spi->wq, &spi->work);
spin_unlock_irqrestore(&spi->lock, flags); spin_unlock(&spi->lock);
return IRQ_HANDLED; return IRQ_HANDLED;
} }
...@@ -668,12 +667,11 @@ static irqreturn_t lantiq_ssc_err_interrupt(int irq, void *data) ...@@ -668,12 +667,11 @@ static irqreturn_t lantiq_ssc_err_interrupt(int irq, void *data)
const struct lantiq_ssc_hwcfg *hwcfg = spi->hwcfg; const struct lantiq_ssc_hwcfg *hwcfg = spi->hwcfg;
u32 stat = lantiq_ssc_readl(spi, LTQ_SPI_STAT); u32 stat = lantiq_ssc_readl(spi, LTQ_SPI_STAT);
u32 val = lantiq_ssc_readl(spi, hwcfg->irncr); u32 val = lantiq_ssc_readl(spi, hwcfg->irncr);
unsigned long flags;
if (!(stat & LTQ_SPI_STAT_ERRORS)) if (!(stat & LTQ_SPI_STAT_ERRORS))
return IRQ_NONE; return IRQ_NONE;
spin_lock_irqsave(&spi->lock, flags); spin_lock(&spi->lock);
if (hwcfg->irq_ack) if (hwcfg->irq_ack)
lantiq_ssc_writel(spi, val, hwcfg->irncr); lantiq_ssc_writel(spi, val, hwcfg->irncr);
...@@ -697,7 +695,7 @@ static irqreturn_t lantiq_ssc_err_interrupt(int irq, void *data) ...@@ -697,7 +695,7 @@ static irqreturn_t lantiq_ssc_err_interrupt(int irq, void *data)
if (spi->master->cur_msg) if (spi->master->cur_msg)
spi->master->cur_msg->status = -EIO; spi->master->cur_msg->status = -EIO;
queue_work(spi->wq, &spi->work); queue_work(spi->wq, &spi->work);
spin_unlock_irqrestore(&spi->lock, flags); spin_unlock(&spi->lock);
return IRQ_HANDLED; return IRQ_HANDLED;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment