Re: [PATCH v5 2/6] PCI: iproc: Add INTx support with better modeling

From: Arnd Bergmann
Date: Thu Mar 26 2020 - 08:34:59 EST


On Thu, Mar 26, 2020 at 7:49 AM Srinath Mannam
<srinath.mannam@xxxxxxxxxxxx> wrote:
> -static void iproc_pcie_enable(struct iproc_pcie *pcie)
> +static void iproc_pcie_mask_irq(struct irq_data *d)
> {
> + struct iproc_pcie *pcie = irq_data_get_irq_chip_data(d);
> + u32 val;
> + unsigned long flags;
> +
> + spin_lock_irqsave(&pcie->intx_lock, flags);
> + val = iproc_pcie_read_reg(pcie, IPROC_PCIE_INTX_EN);
> + val &= ~(BIT(irqd_to_hwirq(d)));
> + iproc_pcie_write_reg(pcie, IPROC_PCIE_INTX_EN, val);
> + spin_unlock_irqrestore(&pcie->intx_lock, flags);
> +}

I think these need to use a raw spinlock, or you get problems with
PREEMPT_RT

Arnd