linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* EXT_IRQ0 @ MPC834x
@ 2008-04-29 16:44 Andre Schwarz
  2008-04-30 13:09 ` André Schwarz
  0 siblings, 1 reply; 2+ messages in thread
From: Andre Schwarz @ 2008-04-29 16:44 UTC (permalink / raw)
  To: linux-ppc list

All,

actually I'm having trouble getting the IRQ0 work on a MPC8343 with
2.6.25-rc8.
There's an external PCI device connected to it ....


Regarding to the manual IRQ0 is somewhat special and has Vector 48 assigned.

Therefore my dts entry for this device looks like :

interrupt-map = <0x5800 0 0 1 &ipic 0x30 0x8
                                 ... >;

Having a look on virq mapping gives :

mvBL-M7> cat /sys/kernel/debug/powerpc/virq_mapping
virq   hwirq    chip name        host name
   16  0x0000e   IPIC            /soc@e0000000/pic@700
   17  0x0000f   IPIC            /soc@e0000000/pic@700
   18  0x00009   IPIC            /soc@e0000000/pic@700
   20  0x00010   IPIC            /soc@e0000000/pic@700
   32  0x00020   IPIC            /soc@e0000000/pic@700
   33  0x00021   IPIC            /soc@e0000000/pic@700
   34  0x00022   IPIC            /soc@e0000000/pic@700
   38  0x00026   IPIC            /soc@e0000000/pic@700
   48  0x00030   IPIC            /soc@e0000000/pic@700


After loading the device driver (=mvbcdma) the irq shows up correctly.

mvBL-M7> cat /proc/interrupts
           CPU0
 16:        603   IPIC   Level     i2c-mpc
 17:          8   IPIC   Level     i2c-mpc
 18:        295   IPIC   Level     serial
 20:        341   IPIC   Level     mpc83xx_spi
 32:          2   IPIC   Level     enet_tx
 33:          3   IPIC   Level     enet_rx
 34:          0   IPIC   Level     enet_error
 38:          0   IPIC   Level     ehci_hcd:usb1
 48:          0   IPIC   Level     mvbcdma0
BAD:          0


As soon as the device generates an interrupt I get :

irq 48: nobody cared (try booting with the "irqpoll" option)
handlers:
[<d18d66e8>] (mvbcdma_irq+0x0/0x180 [mvbcdma])
Disabling IRQ #48


The handler _would_ have returned IRQ_RETVAL(1).
Obviously the handler isn't called at all - but why ?


Using "nm" on the kernel module gives :

000006e8 t mvbcdma_irq

->offset 0x6e8 inside module matches with output regarding handler.


Any help is welcome !


regards,
Andre Schwarz












MATRIX VISION GmbH, Talstraße 16, DE-71570 Oppenweiler  - Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschäftsführer: Gerhard Thullner, Werner Armingeon, Uwe Furtner

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: EXT_IRQ0 @ MPC834x
  2008-04-29 16:44 EXT_IRQ0 @ MPC834x Andre Schwarz
@ 2008-04-30 13:09 ` André Schwarz
  0 siblings, 0 replies; 2+ messages in thread
From: André Schwarz @ 2008-04-30 13:09 UTC (permalink / raw)
  To: linux-ppc list

Issue solved !

IRQ has been requested with IRQF_SHARED.
Obviously this is not neccessary and caused this bogus behaviour.

Don't know if it's a bug or a feature.


Cheers,
Andr=E9

Andre Schwarz schrieb:
> All,
>=20
> actually I'm having trouble getting the IRQ0 work on a MPC8343 with
> 2.6.25-rc8.
> There's an external PCI device connected to it ....
>=20
>=20
> Regarding to the manual IRQ0 is somewhat special and has Vector 48 assi=
gned.
>=20
> Therefore my dts entry for this device looks like :
>=20
> interrupt-map =3D <0x5800 0 0 1 &ipic 0x30 0x8
>                                  ... >;
>=20
> Having a look on virq mapping gives :
>=20
> mvBL-M7> cat /sys/kernel/debug/powerpc/virq_mapping
> virq   hwirq    chip name        host name
>    16  0x0000e   IPIC            /soc@e0000000/pic@700
>    17  0x0000f   IPIC            /soc@e0000000/pic@700
>    18  0x00009   IPIC            /soc@e0000000/pic@700
>    20  0x00010   IPIC            /soc@e0000000/pic@700
>    32  0x00020   IPIC            /soc@e0000000/pic@700
>    33  0x00021   IPIC            /soc@e0000000/pic@700
>    34  0x00022   IPIC            /soc@e0000000/pic@700
>    38  0x00026   IPIC            /soc@e0000000/pic@700
>    48  0x00030   IPIC            /soc@e0000000/pic@700
>=20
>=20
> After loading the device driver (=3Dmvbcdma) the irq shows up correctly=
.
>=20
> mvBL-M7> cat /proc/interrupts
>            CPU0
>  16:        603   IPIC   Level     i2c-mpc
>  17:          8   IPIC   Level     i2c-mpc
>  18:        295   IPIC   Level     serial
>  20:        341   IPIC   Level     mpc83xx_spi
>  32:          2   IPIC   Level     enet_tx
>  33:          3   IPIC   Level     enet_rx
>  34:          0   IPIC   Level     enet_error
>  38:          0   IPIC   Level     ehci_hcd:usb1
>  48:          0   IPIC   Level     mvbcdma0
> BAD:          0
>=20
>=20
> As soon as the device generates an interrupt I get :
>=20
> irq 48: nobody cared (try booting with the "irqpoll" option)
> handlers:
> [<d18d66e8>] (mvbcdma_irq+0x0/0x180 [mvbcdma])
> Disabling IRQ #48
>=20
>=20
> The handler _would_ have returned IRQ_RETVAL(1).
> Obviously the handler isn't called at all - but why ?
>=20
>=20
> Using "nm" on the kernel module gives :
>=20
> 000006e8 t mvbcdma_irq
>=20
> ->offset 0x6e8 inside module matches with output regarding handler.
>=20
>=20
> Any help is welcome !
>=20
>=20
> regards,
> Andre Schwarz
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
> MATRIX VISION GmbH, Talstra=DFe 16, DE-71570 Oppenweiler  - Registerger=
icht: Amtsgericht Stuttgart, HRB 271090
> Gesch=E4ftsf=FChrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev


MATRIX VISION GmbH, Talstra=DFe 16, DE-71570 Oppenweiler  - Registergeric=
ht: Amtsgericht Stuttgart, HRB 271090
Gesch=E4ftsf=FChrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-04-30 13:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-29 16:44 EXT_IRQ0 @ MPC834x Andre Schwarz
2008-04-30 13:09 ` André Schwarz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).