Re: IRQ2-4 number to use on mpc83xx?

2008-09-24 Thread Joakim Tjernlund
On Tue, 2008-09-23 at 22:18 +0200, Joakim Tjernlund wrote:
 On Tue, 2008-09-23 at 13:08 +0200, Joakim Tjernlund wrote:
  On Tue, 2008-09-23 at 11:08 +0200, Andre Schwarz wrote:
   I can only tell how I do on MPC834x :
   
   Table 8-6. IVEC/CVEC/MVEC Field Definition
   
   Interrupt ID Number Interrupt Meaning
   17   IRQ1
   18   IRQ2
   19   IRQ3
   20   IRQ4
   21   IRQ5
   22   IRQ6
   23   IRQ7
   48   IRQ0
   
   
   Given this I can use this dts section for PCI devices connected @ IRQ0
   and IRQ1
   
   interrupt-map = 0x5800 0 0 1 ipic 0x30 0x8
0x6000 0 0 1 ipic 0x11 0x8
0x6000 0 0 2 ipic 0x11 0x8;
   
   You should be able to use IRQ-Nr 18-20 for IRQ2-4.
  
  Yes, that makes sense. Thanks.
  
   Jocke
 
 OK, finally figured it out, see below, but I get a SEGV if I use 
 IRQ_TYPE_EDGE_FALLING as below. IRQ_TYPE_EDGE_FALLING works.

[SNIP]

 What am I missing? Kernel is 2.6.25

I was missing a set_irq_type(info-irq, IRQ_TYPE_EDGE_FALLING)
Works now.

 Jocke
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: IRQ2-4 number to use on mpc83xx?

2008-09-23 Thread Andre Schwarz
I can only tell how I do on MPC834x :

Table 8-6. IVEC/CVEC/MVEC Field Definition

Interrupt ID Number Interrupt Meaning
17   IRQ1
18   IRQ2
19   IRQ3
20   IRQ4
21   IRQ5
22   IRQ6
23   IRQ7
48   IRQ0


Given this I can use this dts section for PCI devices connected @ IRQ0
and IRQ1

interrupt-map = 0x5800 0 0 1 ipic 0x30 0x8
 0x6000 0 0 1 ipic 0x11 0x8
 0x6000 0 0 2 ipic 0x11 0x8;

You should be able to use IRQ-Nr 18-20 for IRQ2-4.

regards,
Andre

Tjernlund schrieb:
 I am trying to figure out what IRQ number I should use for 
 external IRQ pins IRQ2-4. Can somebody please drop me a note
 on how the IRQ numbering works?

 Jocke 

 ___
 Linuxppc-dev mailing list
 Linuxppc-dev@ozlabs.org
 https://ozlabs.org/mailman/listinfo/linuxppc-dev
   


MATRIX VISION GmbH, Talstraße 16, DE-71570 Oppenweiler  - Registergericht: 
Amtsgericht Stuttgart, HRB 271090
Geschäftsführer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: IRQ2-4 number to use on mpc83xx?

2008-09-23 Thread Joakim Tjernlund
On Tue, 2008-09-23 at 11:08 +0200, Andre Schwarz wrote:
 I can only tell how I do on MPC834x :
 
 Table 8-6. IVEC/CVEC/MVEC Field Definition
 
 Interrupt ID Number Interrupt Meaning
 17   IRQ1
 18   IRQ2
 19   IRQ3
 20   IRQ4
 21   IRQ5
 22   IRQ6
 23   IRQ7
 48   IRQ0
 
 
 Given this I can use this dts section for PCI devices connected @ IRQ0
 and IRQ1
 
 interrupt-map = 0x5800 0 0 1 ipic 0x30 0x8
  0x6000 0 0 1 ipic 0x11 0x8
  0x6000 0 0 2 ipic 0x11 0x8;
 
 You should be able to use IRQ-Nr 18-20 for IRQ2-4.

Yes, that makes sense. Thanks.

 Jocke
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: IRQ2-4 number to use on mpc83xx?

2008-09-23 Thread Joakim Tjernlund
On Tue, 2008-09-23 at 13:08 +0200, Joakim Tjernlund wrote:
 On Tue, 2008-09-23 at 11:08 +0200, Andre Schwarz wrote:
  I can only tell how I do on MPC834x :
  
  Table 8-6. IVEC/CVEC/MVEC Field Definition
  
  Interrupt ID Number Interrupt Meaning
  17   IRQ1
  18   IRQ2
  19   IRQ3
  20   IRQ4
  21   IRQ5
  22   IRQ6
  23   IRQ7
  48   IRQ0
  
  
  Given this I can use this dts section for PCI devices connected @ IRQ0
  and IRQ1
  
  interrupt-map = 0x5800 0 0 1 ipic 0x30 0x8
   0x6000 0 0 1 ipic 0x11 0x8
   0x6000 0 0 2 ipic 0x11 0x8;
  
  You should be able to use IRQ-Nr 18-20 for IRQ2-4.
 
 Yes, that makes sense. Thanks.
 
  Jocke

OK, finally figured it out, see below, but I get a SEGV if I use 
IRQ_TYPE_EDGE_FALLING as below. IRQ_TYPE_EDGE_FALLING works.

info-irq = irq_create_mapping(NULL, 19); /* IRQ3 */
printk(KERN_ERR IRQ map from %d to %ld\n, 19, info-irq);
info-irq_flags = IRQ_TYPE_EDGE_FALLING;
pdev = platform_device_register_simple(uio_irq, 3, r, 0);
if (IS_ERR(pdev)) {
ret = PTR_ERR(pdev);
printk(uio_irq: simple returned :%d\n, ret);
goto err_out;
}
if ((ret = uio_register_device(pdev-dev, info))) {
printk(uio_register_device: returned :%d\n, ret);
goto err_out;
}

The SEGV is in kernel/irq/manage.c, around line 375. Both
desc-chip-enable and desc-chip-startup are NULL:

if (!(desc-status  IRQ_NOAUTOEN)) {
desc-depth = 0;
desc-status = ~IRQ_DISABLED;
if (desc-chip-startup)
desc-chip-startup(irq);
else
desc-chip-enable(irq);
} else

What am I missing? Kernel is 2.6.25

 Jocke
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

IRQ2-4 number to use on mpc83xx?

2008-09-22 Thread Tjernlund
I am trying to figure out what IRQ number I should use for 
external IRQ pins IRQ2-4. Can somebody please drop me a note
on how the IRQ numbering works?

Jocke 

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev