From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.250]) by ozlabs.org (Postfix) with ESMTP id CDADEDDF55 for ; Wed, 25 Mar 2009 08:22:16 +1100 (EST) Received: by an-out-0708.google.com with SMTP id c38so1753814ana.39 for ; Tue, 24 Mar 2009 14:22:14 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <651BE815-4BF6-4AA3-AA43-C0B7C98A0FCC@kernel.crashing.org> References: <651BE815-4BF6-4AA3-AA43-C0B7C98A0FCC@kernel.crashing.org> Date: Tue, 24 Mar 2009 16:13:55 -0500 Message-ID: Subject: Re: PCIe interrupts in the device tree From: Johns Daniel To: Kumar Gala Content-Type: multipart/alternative; boundary=0016e644d6f6553dce0465e3dc66 Cc: linuxppc-dev@ozlabs.org List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , --0016e644d6f6553dce0465e3dc66 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit On Tue, Mar 24, 2009 at 3:54 PM, Kumar Gala wrote: > > On Mar 24, 2009, at 3:24 PM, Johns Daniel wrote: > > Could somebody please explain the declaration of the PCIe interrupts >> in the device tree? >> >> I was under the impression that PCIe interrupts in the PowerPC Linux >> kernel default to using INTx signaling (vs. external IRQ pin assertion >> and MSI signaling). Am I right? >> >> If so, then do the interrupt-map lines in the DTS refer to the >> internal IRQ used by Freescale processors to implement INTx virtual >> wire interrupts? >> >> For example, in the mpc8536ds.dts file, under "pci1: pcie@ffe09000" we >> have: >> interrupt-map = < >> /* IDSEL 0x0 */ >> 0000 0 0 1 &mpic 4 1 >> 0000 0 0 2 &mpic 5 1 >> 0000 0 0 3 &mpic 6 1 >> 0000 0 0 4 &mpic 7 1 >> >; >> Are the 4, 5, 6, and 7 internal or external IRQs? >> > > The .dts and linux make no distinction between internal & external IRQs. > This is a silly artifact of Freescale UMs. IRQ 0 starts at offset 0x50000 > and each 0x20 offset is another IRQ. So typically External 0 == IRQ0, > Internal 0 == IRQ16. > > So this says that Ext 4, 5, 6, 7 and wired to INTA, INTB, INTC, INTD for > this particular PCIe controller. > When you say "wired", do you mean hard-wired? If so, how would you specify and use INTx message interrupts? > > > And the "msi@41600" section in the same mpc8536ds.dts file does NOT >> affect PCIe interrupts unless a driver calls pci_enable_msi()? >> > > correct. > > - k > --0016e644d6f6553dce0465e3dc66 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
On Tue, Mar 24, 2009 at 3:54 PM, Kumar Gala = <galak@ke= rnel.crashing.org> wrote:

On Mar 24, 2009, at 3:24 PM, Johns Daniel wrote:

Could somebody please explain the declaration of the PCIe interrupts
in the device tree?

I was under the impression that PCIe interrupts in the PowerPC Linux
kernel default to using INTx signaling (vs. external IRQ pin assertion
and MSI signaling). Am I right?

If so, then do the interrupt-map lines in the DTS refer to the
internal IRQ used by Freescale processors to implement INTx virtual
wire interrupts?

For example, in the mpc8536ds.dts file, under "pci1: pcie@ffe09000&quo= t; we have:
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0interrupt-map =3D <
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0/* IDSEL 0x0 */
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A00000 0 0 1 &mpic 4 1 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A00000 0 0 2 &mpic 5 1 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A00000 0 0 3 &mpic 6 1 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A00000 0 0 4 &mpic 7 1 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0>;
Are the 4, 5, 6, and 7 internal or external IRQs?

The .dts and linux make no distinction between internal & external IRQs= . =A0This is a silly artifact of Freescale UMs. =A0IRQ 0 starts at offset 0= x50000 and each 0x20 offset is another IRQ. =A0So typically External 0 =3D= =3D IRQ0, Internal 0 =3D=3D IRQ16.

So this says that Ext 4, 5, 6, 7 and wired to INTA, INTB, INTC, INTD for th= is particular PCIe controller.
When you say "wired", do you mean hard-wired?
If so, how woul= d you specify and use INTx message interrupts?
=A0


And the "msi@41600" section in the same mpc8536ds.dts file does N= OT
affect PCIe interrupts unless a driver calls pci_enable_msi()?

correct.

- k

--0016e644d6f6553dce0465e3dc66--