Re: [PATCH v3 3/6] irqchip: sifive-plic: More flexible plic_irq_toggle()

From: Anup Patel
Date: Tue Dec 18 2018 - 03:50:26 EST


On Mon, Dec 17, 2018 at 11:57 PM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
>
> > -static inline void plic_toggle(struct plic_handler *handler,
> > - int hwirq, int enable)
> > +static void plic_toggle(struct plic_handler *handler, int hwirq, int enable)
> > {
> > u32 __iomem *reg = handler->enable_base + (hwirq / 32) * sizeof(u32);
> > u32 hwirq_mask = 1 << (hwirq % 32);
> > @@ -92,27 +91,27 @@ static inline void plic_toggle(struct plic_handler *handler,
> > raw_spin_unlock(&handler->enable_lock);
> > }
> >
> > -static inline void plic_irq_toggle(struct irq_data *d, int enable)
> > +static void plic_irq_toggle(const struct cpumask *mask, int hwirq, int enable)
>
> It also removes inline statements which seems rather unrelated to
> the patch description.

Actually these functions should not be inline because plic_toggle() uses
raw_spin_lock() and plic_irq_toggle() uses for-loop.

>
> Also the actual addintion of the single cpumask argument is simple
> enough that it should probably go into the patch that makes use of it.

OK, I will have separate patch for removing "inline" and move addition
of cpumask argument to last patch.

Regards,
Anup