Skip site navigation (1)Skip section navigation (2)
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>