All of lore.kernel.org
 help / color / mirror / Atom feed
From: Grant Likely <grant.likely@secretlab.ca>
To: Andreas Schwab <schwab@linux-m68k.org>
Cc: devicetree-discuss@lists.ozlabs.org,
	linux-kernel@vger.kernel.org, Milton Miller <miltonm@bga.com>,
	Rob Herring <rob.herring@calxeda.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	linuxppc-dev@lists.ozlabs.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v5 06/27] irq_domain/powerpc: eliminate irq_map; use irq_alloc_desc() instead
Date: Wed, 04 Apr 2012 08:40:20 -0700	[thread overview]
Message-ID: <20120404154020.40C513E09D5@localhost> (raw)
In-Reply-To: <m2y5qdow0v.fsf@igel.home>

On Tue, 03 Apr 2012 14:11:12 +0200, Andreas Schwab <schwab@linux-m68k.org> wrote:
> Grant Likely <grant.likely@secretlab.ca> writes:
> 
> > Can you dump out /debug/powerpc/virq_mapping from both before and
> > after the irq_map patch is applied?
> 
> before:
> virq   hwirq    chip name        chip data           host name
>    16  0x00000   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    21  0x00001   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    24  0x00002   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    25  0x00019   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    26  0x0001a   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    27  0x0001b   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    28  0x0001c   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    29  0x0003d   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    30  0x0001e   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    31  0x0003c   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    39  0x00027   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    40  0x00028   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    41  0x00029   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    42  0x0002a   MPIC 2          0xc00000017a011000  /u3@0,f8000000/mpic@f8040000
>    47  0x0002f   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    59  0x000fb   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    60  0x000fc   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    61  0x000fd   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    62  0x000fe   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    63  0x0003f   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
> 
> after:
> virq   hwirq    chip name        chip data           host name
>    16  0x00000   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    21  0x00001   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    24  0x00002   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    25  0x00019   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    26  0x0001a   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    27  0x0001b   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    28  0x0001c   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    30  0x0001e   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    39  0x00027   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    40  0x00028   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    41  0x00029   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    42  0x0002a   MPIC 2          0xc00000017a011000  /u3@0,f8000000/mpic@f8040000
>    47  0x0002f   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    59  0x000fb   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    60  0x000fc   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    61  0x000fd   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    62  0x000fe   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    63  0x0003f   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    64  0x0003d   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    65  0x0003c   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
> 
> But I have NR_IRQS=64.  Bounds checking missing?  Irqs 64/65 are related
> to the sound chip (headphone-detect and line-out-detect).

I bet it is NR_IRQS related.  You have SPARSE_IRQ enabled, which means
the maximum number of irq_descs is IRQ_BITMAP_BITS (NR_IRQS + 8192).
The old powerpc code was strictly limited to NR_IRQS, but the new code
uses irq_alloc_descs() which isn't.  Yet I can see places in the
powerpc code that depends specifically on the value of NR_IRQS.  The
for_each_irq() macro for instance.  I think all the users there can be
switched to using for_each_irq_desc().

Can you attach console output logs for each of configs above and also
with NR_IRQS=128?  That might give me some clues as to which specific
code is causing the issues.  Also, as a quick test, try changing
for_each_irq_desc() to use "nr_irqs" instead of "NR_IRQS".  nr_irqs is
kept up to date with the real maximum number of irqs allocated in the
system:

diff --git a/arch/powerpc/include/asm/irq.h b/arch/powerpc/include/asm/irq.h
index cf417e51..9edf499 100644
--- a/arch/powerpc/include/asm/irq.h
+++ b/arch/powerpc/include/asm/irq.h
@@ -20,7 +20,7 @@
 
 /* Define a way to iterate across irqs. */
 #define for_each_irq(i) \
-       for ((i) = 0; (i) < NR_IRQS; ++(i))
+       for ((i) = 0; (i) < nr_irqs; ++(i))
 
 extern atomic_t ppc_n_lost_interrupts;
 

g.

> 
> When reconfiguring with NR_IRQS=128 interrupts are working again, but I
> still see a lot of spurious interrupts, and the X server is still broken
> (no input works, but I still don't know whether that is an unrelated
> bug).
> 
> This is a sample of /proc/interrupts from 3.3 (with NR_IRQS=64):
>            CPU0       CPU1       
>  16:       2039       6070   MPIC 1    Level     sata_svw
>  21:          0          0   MPIC 1    Edge      i2sbus: i2s-a (tx)
>  22:         12         20   MPIC 1    Level   
>  23:         14         18   MPIC 1    Level   
>  24:          0          0   MPIC 1    Edge      i2sbus: i2s-a (rx)
>  25:          3          0   MPIC 1    Level     VIA-PMU
>  26:         16         62   MPIC 1    Level     keywest i2c
>  27:          0          1   MPIC 1    Level     ohci_hcd:usb2
>  28:          0          1   MPIC 1    Level     ohci_hcd:usb3
>  29:          0          0   MPIC 1    Edge      headphone-detect
>  30:          0          0   MPIC 1    Level     i2sbus: i2s-a (control)
>  31:          0          0   MPIC 1    Edge      line-output-detect
>  39:         22         64   MPIC 1    Level     pata-pci-macio
>  40:          0          2   MPIC 1    Level     firewire_ohci
>  41:         52        147   MPIC 1    Level     eth0
>  42:       1732       5053   MPIC 2    Level     keywest i2c
>  47:          0          0   MPIC 1    Level     GPIO1 ADB
>  59:          0          0   MPIC 1    Edge      ipi call function
>  60:       2064       1940   MPIC 1    Edge      ipi reschedule
>  61:       3406        945   MPIC 1    Edge      ipi call function single
>  62:          0          0   MPIC 1    Edge      ipi debugger
>  63:         39         91   MPIC 1    Level     ehci_hcd:usb1, ohci_hcd:usb4, ohci_hcd:usb5
> LOC:       3503       3719   Local timer interrupts
> SPU:          2          0   Spurious interrupts
> CNT:          0          0   Performance monitoring interrupts
> MCE:          0          0   Machine check exceptions
> 
> This is a sample of /proc/interrupts from 3.4-rc1 (with NR_IRQS=128):
>            CPU0       CPU1       
>  16:       2603       7596   MPIC 1    Level     sata_svw
>  21:          1          0   MPIC 1    Edge      i2sbus: i2s-a (tx)
>  22:         13         19   MPIC 1    Level   
>  23:          8         24   MPIC 1    Level   
>  24:          0          1   MPIC 1    Edge      i2sbus: i2s-a (rx)
>  25:          2          1   MPIC 1    Level     VIA-PMU
>  26:         21         57   MPIC 1    Level     keywest i2c
>  27:          0          1   MPIC 1    Level     ohci_hcd:usb2
>  28:          0          1   MPIC 1    Level     ohci_hcd:usb3
>  30:          0          0   MPIC 1    Level     i2sbus: i2s-a (control)
>  39:         39        131   MPIC 1    Level     pata-pci-macio
>  40:          2          2   MPIC 1    Level     firewire_ohci
>  41:         93        268   MPIC 1    Level     eth0
>  42:       8569      24140   MPIC 2    Level     keywest i2c
>  47:          0          0   MPIC 1    Level     GPIO1 ADB
>  60:          1          0   MPIC 1    Edge      line-output-detect
>  61:          1          0   MPIC 1    Edge      headphone-detect
>  63:        153        502   MPIC 1    Level     ehci_hcd:usb1, ohci_hcd:usb4, ohci_hcd:usb5
> 123:          0          0   MPIC 1    Edge      ipi call function
> 124:       1978       2349   MPIC 1    Edge      ipi reschedule
> 125:       2356       1816   MPIC 1    Edge      ipi call function single
> 126:          0          0   MPIC 1    Edge      ipi debugger
> LOC:       4417       7985   Local timer interrupts
> SPU:       9586      25811   Spurious interrupts
> CNT:          0          0   Performance monitoring interrupts
> MCE:          0          0   Machine check exceptions
> 
> Andreas.
> 
> -- 
> Andreas Schwab, schwab@linux-m68k.org
> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
> "And now for something completely different."

-- 
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies,Ltd.

WARNING: multiple messages have this Message-ID (diff)
From: grant.likely@secretlab.ca (Grant Likely)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 06/27] irq_domain/powerpc: eliminate irq_map; use irq_alloc_desc() instead
Date: Wed, 04 Apr 2012 08:40:20 -0700	[thread overview]
Message-ID: <20120404154020.40C513E09D5@localhost> (raw)
In-Reply-To: <m2y5qdow0v.fsf@igel.home>

On Tue, 03 Apr 2012 14:11:12 +0200, Andreas Schwab <schwab@linux-m68k.org> wrote:
> Grant Likely <grant.likely@secretlab.ca> writes:
> 
> > Can you dump out /debug/powerpc/virq_mapping from both before and
> > after the irq_map patch is applied?
> 
> before:
> virq   hwirq    chip name        chip data           host name
>    16  0x00000   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    21  0x00001   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    24  0x00002   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    25  0x00019   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    26  0x0001a   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    27  0x0001b   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    28  0x0001c   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    29  0x0003d   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    30  0x0001e   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    31  0x0003c   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    39  0x00027   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    40  0x00028   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    41  0x00029   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    42  0x0002a   MPIC 2          0xc00000017a011000  /u3 at 0,f8000000/mpic at f8040000
>    47  0x0002f   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    59  0x000fb   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    60  0x000fc   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    61  0x000fd   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    62  0x000fe   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    63  0x0003f   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
> 
> after:
> virq   hwirq    chip name        chip data           host name
>    16  0x00000   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    21  0x00001   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    24  0x00002   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    25  0x00019   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    26  0x0001a   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    27  0x0001b   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    28  0x0001c   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    30  0x0001e   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    39  0x00027   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    40  0x00028   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    41  0x00029   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    42  0x0002a   MPIC 2          0xc00000017a011000  /u3 at 0,f8000000/mpic at f8040000
>    47  0x0002f   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    59  0x000fb   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    60  0x000fc   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    61  0x000fd   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    62  0x000fe   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    63  0x0003f   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    64  0x0003d   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
>    65  0x0003c   MPIC 1          0xc00000017a010000  /ht at 0,f2000000/pci at 1/mac-io at 7/mpic at 40000
> 
> But I have NR_IRQS=64.  Bounds checking missing?  Irqs 64/65 are related
> to the sound chip (headphone-detect and line-out-detect).

I bet it is NR_IRQS related.  You have SPARSE_IRQ enabled, which means
the maximum number of irq_descs is IRQ_BITMAP_BITS (NR_IRQS + 8192).
The old powerpc code was strictly limited to NR_IRQS, but the new code
uses irq_alloc_descs() which isn't.  Yet I can see places in the
powerpc code that depends specifically on the value of NR_IRQS.  The
for_each_irq() macro for instance.  I think all the users there can be
switched to using for_each_irq_desc().

Can you attach console output logs for each of configs above and also
with NR_IRQS=128?  That might give me some clues as to which specific
code is causing the issues.  Also, as a quick test, try changing
for_each_irq_desc() to use "nr_irqs" instead of "NR_IRQS".  nr_irqs is
kept up to date with the real maximum number of irqs allocated in the
system:

diff --git a/arch/powerpc/include/asm/irq.h b/arch/powerpc/include/asm/irq.h
index cf417e51..9edf499 100644
--- a/arch/powerpc/include/asm/irq.h
+++ b/arch/powerpc/include/asm/irq.h
@@ -20,7 +20,7 @@
 
 /* Define a way to iterate across irqs. */
 #define for_each_irq(i) \
-       for ((i) = 0; (i) < NR_IRQS; ++(i))
+       for ((i) = 0; (i) < nr_irqs; ++(i))
 
 extern atomic_t ppc_n_lost_interrupts;
 

g.

> 
> When reconfiguring with NR_IRQS=128 interrupts are working again, but I
> still see a lot of spurious interrupts, and the X server is still broken
> (no input works, but I still don't know whether that is an unrelated
> bug).
> 
> This is a sample of /proc/interrupts from 3.3 (with NR_IRQS=64):
>            CPU0       CPU1       
>  16:       2039       6070   MPIC 1    Level     sata_svw
>  21:          0          0   MPIC 1    Edge      i2sbus: i2s-a (tx)
>  22:         12         20   MPIC 1    Level   
>  23:         14         18   MPIC 1    Level   
>  24:          0          0   MPIC 1    Edge      i2sbus: i2s-a (rx)
>  25:          3          0   MPIC 1    Level     VIA-PMU
>  26:         16         62   MPIC 1    Level     keywest i2c
>  27:          0          1   MPIC 1    Level     ohci_hcd:usb2
>  28:          0          1   MPIC 1    Level     ohci_hcd:usb3
>  29:          0          0   MPIC 1    Edge      headphone-detect
>  30:          0          0   MPIC 1    Level     i2sbus: i2s-a (control)
>  31:          0          0   MPIC 1    Edge      line-output-detect
>  39:         22         64   MPIC 1    Level     pata-pci-macio
>  40:          0          2   MPIC 1    Level     firewire_ohci
>  41:         52        147   MPIC 1    Level     eth0
>  42:       1732       5053   MPIC 2    Level     keywest i2c
>  47:          0          0   MPIC 1    Level     GPIO1 ADB
>  59:          0          0   MPIC 1    Edge      ipi call function
>  60:       2064       1940   MPIC 1    Edge      ipi reschedule
>  61:       3406        945   MPIC 1    Edge      ipi call function single
>  62:          0          0   MPIC 1    Edge      ipi debugger
>  63:         39         91   MPIC 1    Level     ehci_hcd:usb1, ohci_hcd:usb4, ohci_hcd:usb5
> LOC:       3503       3719   Local timer interrupts
> SPU:          2          0   Spurious interrupts
> CNT:          0          0   Performance monitoring interrupts
> MCE:          0          0   Machine check exceptions
> 
> This is a sample of /proc/interrupts from 3.4-rc1 (with NR_IRQS=128):
>            CPU0       CPU1       
>  16:       2603       7596   MPIC 1    Level     sata_svw
>  21:          1          0   MPIC 1    Edge      i2sbus: i2s-a (tx)
>  22:         13         19   MPIC 1    Level   
>  23:          8         24   MPIC 1    Level   
>  24:          0          1   MPIC 1    Edge      i2sbus: i2s-a (rx)
>  25:          2          1   MPIC 1    Level     VIA-PMU
>  26:         21         57   MPIC 1    Level     keywest i2c
>  27:          0          1   MPIC 1    Level     ohci_hcd:usb2
>  28:          0          1   MPIC 1    Level     ohci_hcd:usb3
>  30:          0          0   MPIC 1    Level     i2sbus: i2s-a (control)
>  39:         39        131   MPIC 1    Level     pata-pci-macio
>  40:          2          2   MPIC 1    Level     firewire_ohci
>  41:         93        268   MPIC 1    Level     eth0
>  42:       8569      24140   MPIC 2    Level     keywest i2c
>  47:          0          0   MPIC 1    Level     GPIO1 ADB
>  60:          1          0   MPIC 1    Edge      line-output-detect
>  61:          1          0   MPIC 1    Edge      headphone-detect
>  63:        153        502   MPIC 1    Level     ehci_hcd:usb1, ohci_hcd:usb4, ohci_hcd:usb5
> 123:          0          0   MPIC 1    Edge      ipi call function
> 124:       1978       2349   MPIC 1    Edge      ipi reschedule
> 125:       2356       1816   MPIC 1    Edge      ipi call function single
> 126:          0          0   MPIC 1    Edge      ipi debugger
> LOC:       4417       7985   Local timer interrupts
> SPU:       9586      25811   Spurious interrupts
> CNT:          0          0   Performance monitoring interrupts
> MCE:          0          0   Machine check exceptions
> 
> Andreas.
> 
> -- 
> Andreas Schwab, schwab at linux-m68k.org
> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
> "And now for something completely different."

-- 
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies,Ltd.

WARNING: multiple messages have this Message-ID (diff)
From: Grant Likely <grant.likely@secretlab.ca>
To: Andreas Schwab <schwab@linux-m68k.org>
Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	devicetree-discuss@lists.ozlabs.org,
	linux-arm-kernel@lists.infradead.org,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Milton Miller <miltonm@bga.com>,
	Rob Herring <rob.herring@calxeda.com>
Subject: Re: [PATCH v5 06/27] irq_domain/powerpc: eliminate irq_map; use irq_alloc_desc() instead
Date: Wed, 04 Apr 2012 08:40:20 -0700	[thread overview]
Message-ID: <20120404154020.40C513E09D5@localhost> (raw)
In-Reply-To: <m2y5qdow0v.fsf@igel.home>

On Tue, 03 Apr 2012 14:11:12 +0200, Andreas Schwab <schwab@linux-m68k.org> wrote:
> Grant Likely <grant.likely@secretlab.ca> writes:
> 
> > Can you dump out /debug/powerpc/virq_mapping from both before and
> > after the irq_map patch is applied?
> 
> before:
> virq   hwirq    chip name        chip data           host name
>    16  0x00000   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    21  0x00001   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    24  0x00002   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    25  0x00019   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    26  0x0001a   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    27  0x0001b   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    28  0x0001c   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    29  0x0003d   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    30  0x0001e   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    31  0x0003c   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    39  0x00027   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    40  0x00028   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    41  0x00029   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    42  0x0002a   MPIC 2          0xc00000017a011000  /u3@0,f8000000/mpic@f8040000
>    47  0x0002f   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    59  0x000fb   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    60  0x000fc   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    61  0x000fd   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    62  0x000fe   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    63  0x0003f   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
> 
> after:
> virq   hwirq    chip name        chip data           host name
>    16  0x00000   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    21  0x00001   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    24  0x00002   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    25  0x00019   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    26  0x0001a   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    27  0x0001b   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    28  0x0001c   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    30  0x0001e   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    39  0x00027   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    40  0x00028   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    41  0x00029   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    42  0x0002a   MPIC 2          0xc00000017a011000  /u3@0,f8000000/mpic@f8040000
>    47  0x0002f   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    59  0x000fb   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    60  0x000fc   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    61  0x000fd   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    62  0x000fe   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    63  0x0003f   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    64  0x0003d   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
>    65  0x0003c   MPIC 1          0xc00000017a010000  /ht@0,f2000000/pci@1/mac-io@7/mpic@40000
> 
> But I have NR_IRQS=64.  Bounds checking missing?  Irqs 64/65 are related
> to the sound chip (headphone-detect and line-out-detect).

I bet it is NR_IRQS related.  You have SPARSE_IRQ enabled, which means
the maximum number of irq_descs is IRQ_BITMAP_BITS (NR_IRQS + 8192).
The old powerpc code was strictly limited to NR_IRQS, but the new code
uses irq_alloc_descs() which isn't.  Yet I can see places in the
powerpc code that depends specifically on the value of NR_IRQS.  The
for_each_irq() macro for instance.  I think all the users there can be
switched to using for_each_irq_desc().

Can you attach console output logs for each of configs above and also
with NR_IRQS=128?  That might give me some clues as to which specific
code is causing the issues.  Also, as a quick test, try changing
for_each_irq_desc() to use "nr_irqs" instead of "NR_IRQS".  nr_irqs is
kept up to date with the real maximum number of irqs allocated in the
system:

diff --git a/arch/powerpc/include/asm/irq.h b/arch/powerpc/include/asm/irq.h
index cf417e51..9edf499 100644
--- a/arch/powerpc/include/asm/irq.h
+++ b/arch/powerpc/include/asm/irq.h
@@ -20,7 +20,7 @@
 
 /* Define a way to iterate across irqs. */
 #define for_each_irq(i) \
-       for ((i) = 0; (i) < NR_IRQS; ++(i))
+       for ((i) = 0; (i) < nr_irqs; ++(i))
 
 extern atomic_t ppc_n_lost_interrupts;
 

g.

> 
> When reconfiguring with NR_IRQS=128 interrupts are working again, but I
> still see a lot of spurious interrupts, and the X server is still broken
> (no input works, but I still don't know whether that is an unrelated
> bug).
> 
> This is a sample of /proc/interrupts from 3.3 (with NR_IRQS=64):
>            CPU0       CPU1       
>  16:       2039       6070   MPIC 1    Level     sata_svw
>  21:          0          0   MPIC 1    Edge      i2sbus: i2s-a (tx)
>  22:         12         20   MPIC 1    Level   
>  23:         14         18   MPIC 1    Level   
>  24:          0          0   MPIC 1    Edge      i2sbus: i2s-a (rx)
>  25:          3          0   MPIC 1    Level     VIA-PMU
>  26:         16         62   MPIC 1    Level     keywest i2c
>  27:          0          1   MPIC 1    Level     ohci_hcd:usb2
>  28:          0          1   MPIC 1    Level     ohci_hcd:usb3
>  29:          0          0   MPIC 1    Edge      headphone-detect
>  30:          0          0   MPIC 1    Level     i2sbus: i2s-a (control)
>  31:          0          0   MPIC 1    Edge      line-output-detect
>  39:         22         64   MPIC 1    Level     pata-pci-macio
>  40:          0          2   MPIC 1    Level     firewire_ohci
>  41:         52        147   MPIC 1    Level     eth0
>  42:       1732       5053   MPIC 2    Level     keywest i2c
>  47:          0          0   MPIC 1    Level     GPIO1 ADB
>  59:          0          0   MPIC 1    Edge      ipi call function
>  60:       2064       1940   MPIC 1    Edge      ipi reschedule
>  61:       3406        945   MPIC 1    Edge      ipi call function single
>  62:          0          0   MPIC 1    Edge      ipi debugger
>  63:         39         91   MPIC 1    Level     ehci_hcd:usb1, ohci_hcd:usb4, ohci_hcd:usb5
> LOC:       3503       3719   Local timer interrupts
> SPU:          2          0   Spurious interrupts
> CNT:          0          0   Performance monitoring interrupts
> MCE:          0          0   Machine check exceptions
> 
> This is a sample of /proc/interrupts from 3.4-rc1 (with NR_IRQS=128):
>            CPU0       CPU1       
>  16:       2603       7596   MPIC 1    Level     sata_svw
>  21:          1          0   MPIC 1    Edge      i2sbus: i2s-a (tx)
>  22:         13         19   MPIC 1    Level   
>  23:          8         24   MPIC 1    Level   
>  24:          0          1   MPIC 1    Edge      i2sbus: i2s-a (rx)
>  25:          2          1   MPIC 1    Level     VIA-PMU
>  26:         21         57   MPIC 1    Level     keywest i2c
>  27:          0          1   MPIC 1    Level     ohci_hcd:usb2
>  28:          0          1   MPIC 1    Level     ohci_hcd:usb3
>  30:          0          0   MPIC 1    Level     i2sbus: i2s-a (control)
>  39:         39        131   MPIC 1    Level     pata-pci-macio
>  40:          2          2   MPIC 1    Level     firewire_ohci
>  41:         93        268   MPIC 1    Level     eth0
>  42:       8569      24140   MPIC 2    Level     keywest i2c
>  47:          0          0   MPIC 1    Level     GPIO1 ADB
>  60:          1          0   MPIC 1    Edge      line-output-detect
>  61:          1          0   MPIC 1    Edge      headphone-detect
>  63:        153        502   MPIC 1    Level     ehci_hcd:usb1, ohci_hcd:usb4, ohci_hcd:usb5
> 123:          0          0   MPIC 1    Edge      ipi call function
> 124:       1978       2349   MPIC 1    Edge      ipi reschedule
> 125:       2356       1816   MPIC 1    Edge      ipi call function single
> 126:          0          0   MPIC 1    Edge      ipi debugger
> LOC:       4417       7985   Local timer interrupts
> SPU:       9586      25811   Spurious interrupts
> CNT:          0          0   Performance monitoring interrupts
> MCE:          0          0   Machine check exceptions
> 
> Andreas.
> 
> -- 
> Andreas Schwab, schwab@linux-m68k.org
> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
> "And now for something completely different."

-- 
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies,Ltd.

  parent reply	other threads:[~2012-04-04 16:12 UTC|newest]

Thread overview: 240+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-16  9:09 [PATCH v5 00/27] irq_domain generalization and rework Grant Likely
2012-02-16  9:09 ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 01/27] irq_domain: add documentation and MAINTAINERS entry Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 02/27] irq_domain: Be less verbose Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 03/27] irq_domain: Make irq_domain structure match powerpc's irq_host Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 04/27] irq_domain: convert microblaze from irq_host to irq_domain Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 05/27] irq_domain/powerpc: Use common irq_domain structure instead of irq_host Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 06/27] irq_domain/powerpc: eliminate irq_map; use irq_alloc_desc() instead Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-04-01 21:27   ` Andreas Schwab
2012-04-01 21:27     ` Andreas Schwab
2012-04-01 21:27     ` Andreas Schwab
2012-04-02  4:21     ` Benjamin Herrenschmidt
2012-04-02  4:21       ` Benjamin Herrenschmidt
2012-04-02  4:21       ` Benjamin Herrenschmidt
2012-04-02  4:21       ` Benjamin Herrenschmidt
2012-04-02 10:31       ` Andreas Schwab
2012-04-02 21:11         ` Benjamin Herrenschmidt
     [not found]         ` <1333401070.30734.55.camel__46349.1482347765$1333401169$gmane$org@pasglop>
2012-04-05 12:35           ` Andreas Schwab
2012-04-02 16:29     ` Andreas Schwab
2012-04-02 16:29       ` Andreas Schwab
2012-04-02 16:29       ` Andreas Schwab
2012-04-02 20:28       ` Grant Likely
2012-04-02 20:28         ` Grant Likely
2012-04-02 20:28         ` Grant Likely
2012-04-02 21:55         ` Russell King - ARM Linux
2012-04-02 21:55           ` Russell King - ARM Linux
2012-04-02 21:55           ` Russell King - ARM Linux
2012-04-02 22:33           ` Benjamin Herrenschmidt
2012-04-02 22:33             ` Benjamin Herrenschmidt
2012-04-02 22:33             ` Benjamin Herrenschmidt
2012-04-02 22:52             ` Russell King - ARM Linux
2012-04-02 22:52               ` Russell King - ARM Linux
2012-04-02 22:52               ` Russell King - ARM Linux
2012-04-02 23:38               ` Benjamin Herrenschmidt
2012-04-02 23:38                 ` Benjamin Herrenschmidt
2012-04-02 23:38                 ` Benjamin Herrenschmidt
2012-04-02 23:38                 ` Benjamin Herrenschmidt
2012-04-06 11:51                 ` Andreas Schwab
2012-04-06 11:51                   ` Andreas Schwab
2012-04-06 11:51                   ` Andreas Schwab
2012-04-06 23:37                   ` Benjamin Herrenschmidt
2012-04-06 23:37                     ` Benjamin Herrenschmidt
2012-04-06 23:37                     ` Benjamin Herrenschmidt
2012-04-07 12:27                     ` Andreas Schwab
2012-04-07 12:27                       ` Andreas Schwab
2012-04-07 12:27                       ` Andreas Schwab
2012-04-11  1:13                       ` Benjamin Herrenschmidt
2012-04-11  1:13                         ` Benjamin Herrenschmidt
2012-04-11  1:13                         ` Benjamin Herrenschmidt
2012-04-11  1:33                         ` Benjamin Herrenschmidt
2012-04-11  1:33                           ` Benjamin Herrenschmidt
2012-04-11  1:33                           ` Benjamin Herrenschmidt
2012-04-11  5:29                           ` Benjamin Herrenschmidt
2012-04-11  5:29                             ` Benjamin Herrenschmidt
2012-04-11  5:29                             ` Benjamin Herrenschmidt
2012-04-11  5:29                             ` Benjamin Herrenschmidt
2012-04-11 20:57                             ` Grant Likely
2012-04-11 20:57                               ` Grant Likely
2012-04-11 20:57                               ` Grant Likely
2012-04-11 21:37                               ` Benjamin Herrenschmidt
2012-04-11 21:37                                 ` Benjamin Herrenschmidt
2012-04-11 21:37                                 ` Benjamin Herrenschmidt
2012-04-11 21:47                                 ` Thomas Gleixner
2012-04-11 21:47                                   ` Thomas Gleixner
2012-04-11 21:47                                   ` Thomas Gleixner
2012-04-19 18:42                                 ` Grant Likely
2012-04-19 18:42                                   ` Grant Likely
2012-04-03  8:23               ` Thomas Gleixner
2012-04-03  8:23                 ` Thomas Gleixner
2012-04-03  8:23                 ` Thomas Gleixner
2012-04-03  8:20             ` Thomas Gleixner
2012-04-03  8:20               ` Thomas Gleixner
2012-04-03  8:20               ` Thomas Gleixner
2012-04-03  8:20               ` Thomas Gleixner
2012-04-03 12:11         ` Andreas Schwab
2012-04-03 12:11           ` Andreas Schwab
2012-04-03 12:11           ` Andreas Schwab
2012-04-03 21:43           ` Benjamin Herrenschmidt
2012-04-03 21:43             ` Benjamin Herrenschmidt
2012-04-03 21:43             ` Benjamin Herrenschmidt
2012-04-04 12:51             ` Andreas Schwab
2012-04-04 12:51               ` Andreas Schwab
2012-04-04 12:51               ` Andreas Schwab
2012-04-04 15:40           ` Grant Likely [this message]
2012-04-04 15:40             ` Grant Likely
2012-04-04 15:40             ` Grant Likely
2012-04-05 10:51             ` Andreas Schwab
2012-04-05 10:51               ` Andreas Schwab
2012-04-05 10:51               ` Andreas Schwab
2012-04-06 11:12               ` Thomas Gleixner
2012-04-06 11:12                 ` Thomas Gleixner
2012-04-06 11:12                 ` Thomas Gleixner
2012-04-05 22:10             ` Andreas Schwab
2012-04-05 22:10               ` Andreas Schwab
2012-04-05 22:10               ` Andreas Schwab
2012-04-06 11:17               ` Thomas Gleixner
2012-04-06 11:17                 ` Thomas Gleixner
2012-04-06 11:17                 ` Thomas Gleixner
2012-04-06 11:25                 ` Andreas Schwab
2012-04-06 11:25                   ` Andreas Schwab
2012-04-06 11:25                   ` Andreas Schwab
2012-04-06 11:28                   ` Thomas Gleixner
2012-04-06 11:28                     ` Thomas Gleixner
2012-04-06 11:28                     ` Thomas Gleixner
2012-04-07  1:29                 ` Grant Likely
2012-04-07  1:29                   ` Grant Likely
2012-04-07  1:29                   ` Grant Likely
2012-04-07  1:29                   ` Grant Likely
2012-04-02 20:52       ` Thomas Gleixner
2012-04-02 20:52         ` Thomas Gleixner
2012-04-02 20:52         ` Thomas Gleixner
2012-04-02 21:20         ` Benjamin Herrenschmidt
2012-04-02 21:20           ` Benjamin Herrenschmidt
2012-04-02 21:20           ` Benjamin Herrenschmidt
2012-04-02 21:27           ` Thomas Gleixner
2012-04-02 21:27             ` Thomas Gleixner
2012-04-02 21:27             ` Thomas Gleixner
2012-04-02 22:32             ` Benjamin Herrenschmidt
2012-04-02 22:32               ` Benjamin Herrenschmidt
2012-04-02 22:32               ` Benjamin Herrenschmidt
2012-04-02 21:22         ` Andreas Schwab
2012-04-02 21:22           ` Andreas Schwab
2012-04-02 21:22           ` Andreas Schwab
2012-04-03  0:37       ` Benjamin Herrenschmidt
2012-04-03  0:37         ` Benjamin Herrenschmidt
2012-04-03  0:37         ` Benjamin Herrenschmidt
2012-04-03  0:37         ` Benjamin Herrenschmidt
2012-02-16  9:09 ` [PATCH v5 07/27] irq_domain/powerpc: Eliminate virq_is_host() Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 08/27] irq_domain: Move irq_domain code from powerpc to kernel/irq Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16 13:23   ` Grant Likely
2012-02-16 13:23     ` Grant Likely
2012-02-16 13:23     ` Grant Likely
2012-02-16 17:38   ` Cousson, Benoit
2012-02-16 17:38     ` Cousson, Benoit
2012-02-16 17:38     ` Cousson, Benoit
2012-02-16 17:38     ` Cousson, Benoit
2012-02-16 17:52     ` Cousson, Benoit
2012-02-16 17:52       ` Cousson, Benoit
2012-02-16 17:52       ` Cousson, Benoit
2012-02-16 17:52       ` Cousson, Benoit
2012-02-16  9:09 ` [PATCH v5 09/27] irq_domain: remove NO_IRQ from irq domain code Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 10/27] irq_domain: Remove references to old irq_host names Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 11/27] irq_domain: Replace irq_alloc_host() with revmap-specific initializers Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 12/27] irq_domain: Add support for base irq and hwirq in legacy mappings Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 13/27] of/address: add empty static inlines for !CONFIG_OF Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 14/27] mfd: twl-core.c: Fix the number of interrupts managed by twl4030 Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 15/27] irq_domain: Remove 'new' irq_domain in favour of the ppc one Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 16/27] irq_domain: Remove irq_domain_add_simple() Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 17/27] irq_domain: Create common xlate functions that device drivers can use Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 18/27] irq_domain: constify irq_domain_ops Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 19/27] irq_domain/c6x: Convert c6x to use generic irq_domain support Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 20/27] irq_domain/c6x: constify irq_domain structures Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-21 15:47   ` Mark Salter
2012-02-21 15:47     ` Mark Salter
2012-02-21 15:47     ` Mark Salter
2012-02-16  9:09 ` [PATCH v5 21/27] irq_domain/c6x: Use library of xlate functions Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-21 15:48   ` Mark Salter
2012-02-21 15:48     ` Mark Salter
2012-02-21 15:48     ` Mark Salter
2012-02-16  9:09 ` [PATCH v5 22/27] irq_domain/powerpc: constify irq_domain_ops Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 23/27] irq_domain/powerpc: Replace custom xlate functions with library functions Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 24/27] irq_domain/microblaze: Convert microblaze to use irq_domains Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 25/27] irq_domain: remove "hint" when allocating irq numbers Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 26/27] irq_domain: mostly eliminate slow-path revmap lookups Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09 ` [PATCH v5 27/27] irq_domain: For NOMAP revmap, allow users to specify the largest usable virq Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16  9:09   ` Grant Likely
2012-02-16 22:52 ` [PATCH v5 00/27] irq_domain generalization and rework Andrew Morton
2012-02-16 22:52   ` Andrew Morton
2012-02-16 22:52   ` Andrew Morton
2012-02-16 23:26   ` Russell King - ARM Linux
2012-02-16 23:26     ` Russell King - ARM Linux
2012-02-16 23:26     ` Russell King - ARM Linux
2012-02-17 18:05     ` Sam Ravnborg
2012-02-17 18:05       ` Sam Ravnborg
2012-02-17 18:05       ` Sam Ravnborg
2012-02-17 17:42   ` Cousson, Benoit
2012-02-17 17:42     ` Cousson, Benoit
2012-02-17 17:42     ` Cousson, Benoit
2012-02-17 17:42     ` Cousson, Benoit
2012-02-17 17:55     ` Russell King - ARM Linux
2012-02-17 17:55       ` Russell King - ARM Linux
2012-02-17 17:55       ` Russell King - ARM Linux
2012-02-21 14:51       ` Cousson, Benoit
2012-02-21 14:51         ` Cousson, Benoit
2012-02-21 14:51         ` Cousson, Benoit
2012-02-21 14:51         ` Cousson, Benoit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120404154020.40C513E09D5@localhost \
    --to=grant.likely@secretlab.ca \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=miltonm@bga.com \
    --cc=rob.herring@calxeda.com \
    --cc=schwab@linux-m68k.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.