[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1703161843420.3586@nanos>
Date: Thu, 16 Mar 2017 18:47:33 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: Mason <slash.tmp@...e.fr>
cc: LKML <linux-kernel@...r.kernel.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
Marc Zyngier <marc.zyngier@....com>,
Jason Cooper <jason@...edaemon.net>,
linux-pci <linux-pci@...r.kernel.org>,
Bjorn Helgaas <helgaas@...nel.org>,
Thibaud Cornic <thibaud_cornic@...madesigns.com>,
Phuong Nguyen <phuong_nguyen@...madesigns.com>,
Robin Murphy <robin.murphy@....com>,
Liviu Dudau <liviu.dudau@....com>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Uwe Kleine-Konig <u.kleine-koenig@...gutronix.de>,
Rob Herring <robh@...nel.org>
Subject: Re: Legacy PCI interrupt support in PCIe host driver
On Thu, 16 Mar 2017, Mason wrote:
> About shared ISRs. Are they supposed to return IRQ_HANDLED
> if and only if they handled something?
Every interrupt handler is supposed to return IRQ_NONE if it did not handle
it. That does not depend on shared or not. The handler does not know if
it's on a shared interrupt line or not. IRQF_SHARED only tells, that the
handler is capable of sharing the interrupt line with another device.
> Will that stop the next ISR from being called?
No.
> I guess if two interrupts fire at the same time, we'll just take two
> separate exceptions?
Wrong guess. That might work with level interupts, but with other types
nothing will raise another exception. Sharing interrupts on edge types is a
stupid idea, but hardware folks insist on implementing stupid ideas.
Thanks,
tglx
Powered by blists - more mailing lists