Date: Mon, 22 Jun 2009 20:57:51 +0000 (UTC) From: Sam Leffler <sam@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r194656 - head/sys/arm/xscale/ixp425 Message-ID: <200906222057.n5MKvp7L052401@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sam Date: Mon Jun 22 20:57:51 2009 New Revision: 194656 URL: http://svn.freebsd.org/changeset/base/194656 Log: hook arm_post_filter to ACK GPIO interrupts; this fixes the interrupt storm observed on the GPS+RS485 uarts on Gateworks Cambria boards Reviewed by: cognet Modified: head/sys/arm/xscale/ixp425/ixp425.c Modified: head/sys/arm/xscale/ixp425/ixp425.c ============================================================================== --- head/sys/arm/xscale/ixp425/ixp425.c Mon Jun 22 20:42:28 2009 (r194655) +++ head/sys/arm/xscale/ixp425/ixp425.c Mon Jun 22 20:57:51 2009 (r194656) @@ -186,6 +186,13 @@ ixp425_gpio_ack(int irq) ixp425_irq2gpio_bit(irq); } +static void +ixp425_post_filter(void *arg) +{ + uintptr_t irq = (uintptr_t) arg; + ixp425_gpio_ack(irq); +} + void arm_mask_irq(uintptr_t nb) { @@ -304,6 +311,7 @@ ixp425_attach(device_t dev) ixp435_set_intrmask(); ixp435_set_intrsteer(); } + arm_post_filter = ixp425_post_filter; if (bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, 0xffffffff, 0xff, 0xffffffff, 0,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906222057.n5MKvp7L052401>