]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mailbox: sprd: mask interrupts that are not handled
authorOtto Pflüger <otto.pflueger@abscue.de>
Sat, 10 Jan 2026 15:43:38 +0000 (16:43 +0100)
committerJassi Brar <jassisinghbrar@gmail.com>
Mon, 2 Feb 2026 00:59:52 +0000 (18:59 -0600)
To reduce the amount of spurious interrupts, disable the interrupts that
are not handled in this driver.

Signed-off-by: Otto Pflüger <otto.pflueger@abscue.de>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
drivers/mailbox/sprd-mailbox.c

index 26256581a76ad59785a1c87a34eb91f5985dc948..565502904e1f296dff02e308d8b7f1e1ff2d1692 100644 (file)
@@ -282,21 +282,19 @@ static int sprd_mbox_startup(struct mbox_chan *chan)
                /* Select outbox FIFO mode and reset the outbox FIFO status */
                writel(0x0, priv->outbox_base + SPRD_MBOX_FIFO_RST);
 
-               /* Enable inbox FIFO overflow and delivery interrupt */
-               val = readl(priv->inbox_base + SPRD_MBOX_IRQ_MSK);
-               val &= ~(SPRD_INBOX_FIFO_OVERFLOW_IRQ | SPRD_INBOX_FIFO_DELIVER_IRQ);
+               /* Enable inbox FIFO delivery interrupt */
+               val = SPRD_INBOX_FIFO_IRQ_MASK;
+               val &= ~SPRD_INBOX_FIFO_DELIVER_IRQ;
                writel(val, priv->inbox_base + SPRD_MBOX_IRQ_MSK);
 
                /* Enable outbox FIFO not empty interrupt */
-               val = readl(priv->outbox_base + SPRD_MBOX_IRQ_MSK);
+               val = SPRD_OUTBOX_FIFO_IRQ_MASK;
                val &= ~SPRD_OUTBOX_FIFO_NOT_EMPTY_IRQ;
                writel(val, priv->outbox_base + SPRD_MBOX_IRQ_MSK);
 
                /* Enable supplementary outbox as the fundamental one */
                if (priv->supp_base) {
                        writel(0x0, priv->supp_base + SPRD_MBOX_FIFO_RST);
-                       val = readl(priv->supp_base + SPRD_MBOX_IRQ_MSK);
-                       val &= ~SPRD_OUTBOX_FIFO_NOT_EMPTY_IRQ;
                        writel(val, priv->supp_base + SPRD_MBOX_IRQ_MSK);
                }
        }