Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752503AbdCPTgp (ORCPT ); Thu, 16 Mar 2017 15:36:45 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:54210 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752178AbdCPTgn (ORCPT ); Thu, 16 Mar 2017 15:36:43 -0400 Date: Thu, 16 Mar 2017 20:36:19 +0100 (CET) From: Thomas Gleixner To: Mason cc: LKML , Linux ARM , Marc Zyngier , Jason Cooper , linux-pci , Bjorn Helgaas , Thibaud Cornic , Phuong Nguyen , Robin Murphy , Liviu Dudau , Lorenzo Pieralisi , Uwe Kleine-Konig , Rob Herring Subject: Re: Legacy PCI interrupt support in PCIe host driver In-Reply-To: <4e54c5f9-7cc1-cfab-592d-a87795147020@free.fr> Message-ID: References: <5612adb6-af5c-9fbf-e725-813ee7fe1b4b@free.fr> <8443b350-6aa6-75f8-af48-892c722fc2d9@free.fr> <4e54c5f9-7cc1-cfab-592d-a87795147020@free.fr> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 985 Lines: 30 On Thu, 16 Mar 2017, Mason wrote: > On 16/03/2017 18:47, Thomas Gleixner wrote: > > On Thu, 16 Mar 2017, Mason wrote: > >> I guess if two interrupts fire at the same time, we'll just take two > >> separate exceptions? > > > > Wrong guess. That might work with level interrupts, 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. > > When you say "That might work with level interrupts", what is "that" ? That you take two exceptions because if both have raised the irq it will stay raised when you only handle one. Non level types will not keep it raised in the CPU and you lost. > In my case, > > interrupt-map = <0 0 0 1 &irq0 54 IRQ_TYPE_LEVEL_HIGH>; > interrupts = <54 IRQ_TYPE_LEVEL_HIGH>; > > Both ISRs expect LEVEL_HIGH. In fact, doesn't request_irq > return an error if the triggers are different? That's completely irrelevant. Thanks, tglx