Re: [Stratos-dev] [PATCH V4 2/2] gpio: virtio: Add IRQ support

From: Arnd Bergmann
Date: Mon Aug 09 2021 - 07:19:50 EST

On Mon, Aug 9, 2021 at 12:47 PM Viresh Kumar via Stratos-dev
<stratos-dev@xxxxxxxxxxxxxxxxxxx> wrote:
> On 09-08-21, 09:55, Arnd Bergmann wrote:
> > Ah, right. There is already a flag that gets checked by the caller.
> >
> > It does feel odd to have an empty 'irq_mask' callback though, so
> > maybe there is still something missing, just not what I thought.
> >
> > It's probably the result of calling handle_level_irq(), which as you
> > said is closer to what we want, but is not exactly what we need for
> > this protocol.
> Okay, I have tried to take care of locking as well now and used local
> flags only to make sure I can depend on them to get the locking
> working properly. Lets see what's broken in this now :)

I don't see anything wrong with this version, but let's see what
Marc thinks. I expect that he can still poke some holes in it, or
at least find some simplifications.

I was slightly surprised at the relation between the disabled and
masked states, where 'disable' always implies 'mask' and
'enable' always implies 'unmask', but I don't actually know how
those two are actually defined in the irqchip code in Linux, so
I assume you did this correctly.