lkml.org 
[lkml]   [2013]   [Jun]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [GIT PULL] s390 patches for the 3.9-rc6
On Tue, Jun 25, 2013 at 2:11 PM, Martin Schwidefsky
<schwidefsky@de.ibm.com> wrote:
> On Tue, 25 Jun 2013 13:42:23 +0100
> Grant Likely <grant.likely@secretlab.ca> wrote:
>
>> On Tue, Jun 25, 2013 at 1:15 PM, Martin Schwidefsky
>> <schwidefsky@de.ibm.com> wrote:
>> > On Tue, 25 Jun 2013 13:09:51 +0100
>> > Grant Likely <grant.likely@secretlab.ca> wrote:
>> >
>> >> On Wed, Apr 3, 2013 at 4:25 PM, Martin Schwidefsky
>> >> <schwidefsky@de.ibm.com> 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.

g.


\
 
 \ /
  Last update: 2013-06-25 16:21    [W:0.077 / U:0.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site