Date: Thu, 04 Sep 2008 15:40:03 +0200 From: Rafal Jaworowski <raj@semihalf.com> To: Olivier Houchard <cognet@ci0.org>, "M. Warner Losh" <imp@bsdimp.com>, Sam Leffler <sam@errno.com> Cc: freebsd-arm@freebsd.org Subject: ARM interrupts fixes Message-ID: <48BFE533.7010602@semihalf.com>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48BFE533.7010602>