<br><div class="gmail_quote">On Tue, Mar 24, 2009 at 3:54 PM, Kumar Gala <span dir="ltr"><<a href="mailto:galak@kernel.crashing.org">galak@kernel.crashing.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im"><br>
On Mar 24, 2009, at 3:24 PM, Johns Daniel wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Could somebody please explain the declaration of the PCIe interrupts<br>
in the device tree?<br>
<br>
I was under the impression that PCIe interrupts in the PowerPC Linux<br>
kernel default to using INTx signaling (vs. external IRQ pin assertion<br>
and MSI signaling). Am I right?<br>
<br>
If so, then do the interrupt-map lines in the DTS refer to the<br>
internal IRQ used by Freescale processors to implement INTx virtual<br>
wire interrupts?<br>
<br>
For example, in the mpc8536ds.dts file, under "pci1: pcie@ffe09000" we have:<br>
interrupt-map = <<br>
/* IDSEL 0x0 */<br>
0000 0 0 1 &mpic 4 1<br>
0000 0 0 2 &mpic 5 1<br>
0000 0 0 3 &mpic 6 1<br>
0000 0 0 4 &mpic 7 1<br>
>;<br>
Are the 4, 5, 6, and 7 internal or external IRQs?<br>
</blockquote>
<br></div>
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.<br>
<br>
So this says that Ext 4, 5, 6, 7 and wired to INTA, INTB, INTC, INTD for this particular PCIe controller.<div class="im"></div></blockquote><div><br>When you say "wired", do you mean hard-wired?<br>If so, how would you specify and use INTx message interrupts?<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im"><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
And the "msi@41600" section in the same mpc8536ds.dts file does NOT<br>
affect PCIe interrupts unless a driver calls pci_enable_msi()?<br>
</blockquote>
<br></div>
correct.<br><font color="#888888">
<br>
- k<br>
</font></blockquote></div><br>