On Mon, 2010-10-11 at 17:51 +0800, tiejun.chen wrote: > > You should define MSI device nodes on your target dts. And you can refer to > the > file, mpc8572ds.dts. > > Often U-Boot dose not generate MSI information and embed that to dtb. > > > > > But even assuming you can define these nodes at run time, as far as I can > > see, you are right back to the question of "and how do I know what the > > mappings are so I can create the node?" You haven't answered the question, > > you've just moved where you are asking it. > > I think you can check fsl_msi.c to figure out what you want. <snip>
> Often most latest classic books/articles always use x86 code as an example to > clarify Linux. So you have to understand something on PPC via codes. But I think > you will benefit more information from the codes than documents :) > RTFS. That wouldn't be bad advice, if the source were actually commented. None of these APIS have any meaningful comments in them, around them, or anywhere near them. You'd think we were back in the old BASIC days, when comments occupied run-time memory. Code can tell me WHAT is being done, but not WHY, and not what assumptions are being made. So when you say "You should define MSI device nodes on your target dts." we go right back to my comment of "You haven't answered the question, you've just moved where you are asking it." > > Firstly you should use irq_of_parse_and_map()/irq_create_mapping() to map the > real hardware irq to virtual irq. Then use request_irq() with the virtual irq > to > hook your interrupt handler. And when I do that, I get a segfault as my follow-on mail reports. > > Maybe you can check the file, ppc4xx_pci.c since ppc4xx also can support EP > as I > previously said. And sounds Scott will do something to support EP for > Freescale > chip. I will look at that file. > > Looks you want to your host root complex to trigger MSI to mpc8641 EP target? > If > so I'm a bit confused since MSIs should be delivered to to the Root Complex > resided on your host. I want the host to be able to interrupt the PPC. Since this is PCIe, the only way that will be working is for the root complex to do a write to somewhere on the PPC. This is basically the same mechanism as MSI, only with the PPC as the target of the write rather than the root complex. Obviously, the rest of the PCI devices will be sending interrupts to the root complex, some via MSI. That has nothing to do with this discussion. Since the PPC is in endpoint mode, the MSI hardware on the PPC won't be used. The hardware is writable from the root complex via the PPC BAR0, so I see no reason not to reuse it to trigger interrupts on the PPC from the Root complex. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev