On Tue, Jun 25, 2013 at 3:12 PM, Martin Schwidefsky <schwidefsky@xxxxxxxxxx> wrote: > On Tue, 25 Jun 2013 14:30:20 +0100 > Grant Likely <grant.likely@xxxxxxxxxxxx> wrote: > >> On Tue, Jun 25, 2013 at 2:11 PM, Martin Schwidefsky >> <schwidefsky@xxxxxxxxxx> wrote: >> > On Tue, 25 Jun 2013 13:42:23 +0100 >> > Grant Likely <grant.likely@xxxxxxxxxxxx> wrote: >> > >> >> On Tue, Jun 25, 2013 at 1:15 PM, Martin Schwidefsky >> >> <schwidefsky@xxxxxxxxxx> wrote: >> >> > On Tue, 25 Jun 2013 13:09:51 +0100 >> >> > Grant Likely <grant.likely@xxxxxxxxxxxx> wrote: >> >> > >> >> >> On Wed, Apr 3, 2013 at 4:25 PM, Martin Schwidefsky >> >> >> <schwidefsky@xxxxxxxxxx> wrote: >> >> >> > Hi Linus, >> >> >> > >> >> >> > please pull from the 'for-linus' branch of >> >> >> > >> >> >> > git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git for-linus >> >> >> > >> >> >> > to receive the following updates: Just a bunch of bugfixes. >> >> >> > >> >> >> > Heiko Carstens (4): >> >> >> > drivers/Kconfig: add several missing GENERIC_HARDIRQS dependencies >> >> >> >> >> >> Is anyone currently working on fixing this? s390 is the only >> >> >> architecture left that does not enable GENERIC_HARDIRQS. It's painful >> >> >> to keep adding dependencies on GENERIC_HARDIRQS to driver configs. >> >> > >> >> > I am working on it. The hardest part is MSI irqs for PCI. Chances are >> >> > that I get it done for the merge window of 3.12. >> >> >> >> How are you handling the MSIs? I've just been looking at some code for >> >> irq_domain to handle MSI mapping. What's the part that is getting you >> >> hung up? >> > >> > Basically a name-space thing. The current code allocates 64 interrupts numbers >> > for each PCI device, starting at 0. With GENERIC_HARDIRQS=y irq #0 is used for >> > for external interrupts, irq #1 for I/O interrupts and irq #2 for adapter >> > interrupts. The adapter interrupt handler for PCI has to scan the interrupt >> > vectors and call generic_handle_irq for the MSI interrupts starting at irq #3. >> > As I don't want to create a huge irq_desc array the number of allocatable >> > interrupts for MSI will be limited and I can not simply assign 64 interrupts >> > numbers to each device anymore. >> >> Have you looked at irq_domain? It was created to solve that exact >> problem. irq_descs can get allocated dynamically as irqs are >> requested. > > That is one option I am considering. The PCI support for System z can have multiple > PCI function groups, each with up to 2048 MSI interrupts. It is quite a good match. :-) It was designed to support exactly that use-case on PowerPC. g. -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html