Re: "irq/matrix: Spread interrupts on allocation" breaks nouveau in mainline kernel

From: Thomas Gleixner
Date: Thu Jan 25 2018 - 15:12:34 EST


On Thu, 25 Jan 2018, Lyude Paul wrote:
> On Thu, 2018-01-25 at 19:46 +0100, Thomas Gleixner wrote:
> > On Thu, 25 Jan 2018, Lyude Paul wrote:
> >
> > > I think you are right, apologies. Glad to know this isn't a regression in
> > > the
> > > IRQ handling code :). It looks like our nouveau problems are probably coming
> > > from the fact that we don't just leave IRQs setup through suspend/resume
> > > which
> > > as far as I can tell, is probably not the correct thing to do.
> >
> > If you tear down the interrupt, then you have to make sure that it's
> > completely masked and disabled on the device side (including MSI).
> Does this only need to be done if we handle irq_request()/irq_free() ourselves,
> or can we skip some of these steps if we let the kernel handle
> disabling/enabling IRQs during s/r?

If you do not free the interrupt on suspend, then the core does the right
thing. Though you should not inflict an interrupt storm in that case either :)

Thanks,

tglx