ARM interrupts fixes
Rafal Jaworowski
raj at semihalf.com
Thu Sep 4 14:00:11 UTC 2008
Hi,
Please review the following changes around interrupts handling in ARM. We
already started discussing these items with Olivier some time ago:
1. http://people.freebsd.org/~raj/patches/arm/intr-fixes.diff
At the moment nexus_setup_intr() attempts to set up a number of IRQs in one
take, calling arm_setup_irqhandler() in loop. This is bogus, as there's just
one cookie given from the caller and it is overwritten in each iteration so
that only the last handler's cookie value prevails...
This patch removes such behaviour, however there's one [mis]user of the old
approach i.e. the IXP425 qmgr, which needs adjustments too, see p.2.
Apart from style fixes, another problem which is corrected in this patch is
the unmasking the IRQ source in the PIC after the last handler has been
removed from list.
2. http://people.freebsd.org/~raj/patches/arm/sys-arm-xscale-ixp425.diff
This splits handling of the two QMGR interrupts so they are explicitly
managed, as typically done in cases when there are a number of physical IRQs
used by one driver. I don't have IXP425 hardware and was able to only
compile-test it, so any help with real h/w testing would be appreciated.
Let me know your comments.
Rafal
More information about the freebsd-arm
mailing list