svn commit: r231246 - projects/armv6/sys/arm/ti
Oleksandr Tymoshenko
gonzo at FreeBSD.org
Thu Feb 9 05:43:50 UTC 2012
Author: gonzo
Date: Thu Feb 9 05:43:50 2012
New Revision: 231246
URL: http://svn.freebsd.org/changeset/base/231246
Log:
- Fix priority/target CPU setting code
- Some minor style fixes
Modified:
projects/armv6/sys/arm/ti/gic.c
Modified: projects/armv6/sys/arm/ti/gic.c
==============================================================================
--- projects/armv6/sys/arm/ti/gic.c Thu Feb 9 04:57:32 2012 (r231245)
+++ projects/armv6/sys/arm/ti/gic.c Thu Feb 9 05:43:50 2012 (r231246)
@@ -49,10 +49,9 @@ __FBSDID("$FreeBSD$");
#include <dev/ofw/ofw_bus.h>
#include <dev/ofw/ofw_bus_subr.h>
+/* We are using GICv2 register naming */
- /* We are using GICv2 register naming */
-
- /* Distributor Registers */
+/* Distributor Registers */
#define GICD_CTLR 0x000 /* v1 ICDDCR */
#define GICD_TYPER 0x004 /* v1 ICDICTR */
#define GICD_IIDR 0x008 /* v1 ICDIIDR */
@@ -67,7 +66,7 @@ __FBSDID("$FreeBSD$");
#define GICD_ICFGR(n) (0x0C00 + ((n) * 4)) /* v1 ICDICFR */
#define GICD_SGIR(n) (0x0F00 + ((n) * 4)) /* v1 ICDSGIR */
- /* CPU Registers */
+/* CPU Registers */
#define GICC_CTLR 0x0000 /* v1 ICCICR */
#define GICC_PMR 0x0004 /* v1 ICCPMR */
#define GICC_BPR 0x0008 /* v1 ICCBPR */
@@ -78,8 +77,6 @@ __FBSDID("$FreeBSD$");
#define GICC_ABPR 0x001C /* v1 ICCABPR */
#define GICC_IIDR 0x00FC /* v1 ICCIIDR*/
-
-
struct arm_gic_softc {
struct resource * gic_res[3];
bus_space_tag_t gic_c_bst;
@@ -95,7 +92,6 @@ static struct resource_spec arm_gic_spec
{ -1, 0 }
};
-
static struct arm_gic_softc *arm_gic_sc = NULL;
#define gic_c_read_4(reg) \
@@ -107,7 +103,6 @@ static struct arm_gic_softc *arm_gic_sc
#define gic_d_write_4(reg, val) \
bus_space_write_4(arm_gic_sc->gic_d_bst, arm_gic_sc->gic_d_bsh, reg, val)
-
static int
arm_gic_probe(device_t dev)
{
@@ -166,9 +161,9 @@ arm_gic_attach(device_t dev)
}
/* Route all interrupts to CPU0 and set priority to 0 */
- for (i = 32; i < nirqs; i += 32) {
- gic_d_write_4(GICD_IPRIORITYR(i >> 5), 0x00000000);
- gic_d_write_4(GICD_ITARGETSR(i >> 5), 0x01010101);
+ for (i = 32; i < nirqs; i += 4) {
+ gic_d_write_4(GICD_IPRIORITYR(i >> 2), 0x00000000);
+ gic_d_write_4(GICD_ITARGETSR(i >> 2), 0x01010101);
}
/* Enable CPU interface */
More information about the svn-src-projects
mailing list