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