svn commit: r294421 - head/sys/arm/mv

Zbigniew Bodek zbb at FreeBSD.org
Wed Jan 20 13:42:56 UTC 2016


Author: zbb
Date: Wed Jan 20 13:42:54 2016
New Revision: 294421
URL: https://svnweb.freebsd.org/changeset/base/294421

Log:
  Use GIC-specific decoding function in mv_common.c
  
  Add gic_decode_fdt function to fdt_pic_table, allowing to recognize GIC
  interrupts on Armada38x. SOC_MV_ARMADA38X ifdef is required because A38X
  is the only Marvell's platform in FreeBSD using GIC; lack of ifdef would
  lead to linking errors on other platforms.
  
  Reviewed by:    andrew, ian, imp
  Obtained from:  Semihalf
  Sponsored by:   Stormshield
  Submitted by:   Michal Stanek <mst at semihalf.com>
  Differential revision:  https://reviews.freebsd.org/D4214

Modified:
  head/sys/arm/mv/mv_common.c

Modified: head/sys/arm/mv/mv_common.c
==============================================================================
--- head/sys/arm/mv/mv_common.c	Wed Jan 20 13:40:54 2016	(r294420)
+++ head/sys/arm/mv/mv_common.c	Wed Jan 20 13:42:54 2016	(r294421)
@@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$");
 #include <machine/bus.h>
 #include <machine/fdt.h>
 #include <machine/vmparam.h>
+#include <machine/intr.h>
 
 #include <arm/mv/mvreg.h>
 #include <arm/mv/mvvar.h>
@@ -104,6 +105,10 @@ static void decode_win_idma_dump(u_long 
 static void decode_win_xor_dump(u_long base);
 
 static int fdt_get_ranges(const char *, void *, int, int *, int *);
+#ifdef SOC_MV_ARMADA38X
+int gic_decode_fdt(phandle_t iparent, pcell_t *intr, int *interrupt,
+    int *trig, int *pol);
+#endif
 
 static int win_cpu_from_dt(void);
 static int fdt_win_setup(void);
@@ -2190,6 +2195,9 @@ fdt_pic_decode_ic(phandle_t node, pcell_
 }
 
 fdt_pic_decode_t fdt_pic_table[] = {
+#ifdef SOC_MV_ARMADA38X
+	&gic_decode_fdt,
+#endif
 	&fdt_pic_decode_ic,
 	NULL
 };


More information about the svn-src-head mailing list