aboutsummaryrefslogtreecommitdiff
path: root/sys/arm/include/intr.h
diff options
context:
space:
mode:
authorIan Lepore <ian@FreeBSD.org>2015-10-18 20:37:10 +0000
committerIan Lepore <ian@FreeBSD.org>2015-10-18 20:37:10 +0000
commit26b9f0eb984d5fa2cabb4a4afbe3390a929d8b56 (patch)
tree485e9d3eca52f784256a5582c1edc3e4a43c9279 /sys/arm/include/intr.h
parent302a9d3633d46a6529b91c9acaa9501c3b147ee4 (diff)
downloadsrc-26b9f0eb984d5fa2cabb4a4afbe3390a929d8b56.tar.gz
src-26b9f0eb984d5fa2cabb4a4afbe3390a929d8b56.zip
Only decode fdt data which belongs to the GIC controller.
The interrupts-extended property is a list of controller-specific interrupt tuples for more than one controller. The decode routine of every PIC gets called in the pre-INTRNG code (nexus doesn't know which device instance belongs to which fdt node), so the GIC code has to check each FDT node it is asked to decode to ensure it is the owner. Because in the pre-INTRNG world there can only be one instance of a GIC, it's safe to cache the results of a positive lookup in a static variable to avoid the expensive lookups on subsequent calls. Submitted by: Svatopluk Kraus <onwahe@gmail.com> Differential Revision: https://reviews.freebsd.org/D2345
Notes
Notes: svn path=/head/; revision=289548
Diffstat (limited to 'sys/arm/include/intr.h')
-rw-r--r--sys/arm/include/intr.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/arm/include/intr.h b/sys/arm/include/intr.h
index ed075dfd39c1..2bb479acb7f7 100644
--- a/sys/arm/include/intr.h
+++ b/sys/arm/include/intr.h
@@ -179,10 +179,9 @@ extern int (*arm_config_irq)(int irq, enum intr_trigger trig,
enum intr_polarity pol);
void arm_pic_init_secondary(void);
-int gic_decode_fdt(uint32_t iparentnode, uint32_t *intrcells, int *interrupt,
- int *trig, int *pol);
#ifdef FDT
+int gic_decode_fdt(phandle_t, pcell_t *, int *, int *, int *);
int arm_fdt_map_irq(phandle_t, pcell_t *, int);
#endif