svn commit: r269818 - projects/arm64/sys/dev/fdt
Andrew Turner
andrew at fubar.geek.nz
Mon Aug 11 17:44:14 UTC 2014
On Mon, 11 Aug 2014 10:24:43 -0700
Nathan Whitehorn <nwhitehorn at freebsd.org> wrote:
>
> On 08/11/14 09:57, Andrew Turner wrote:
> > Author: andrew
> > Date: Mon Aug 11 16:57:42 2014
> > New Revision: 269818
> > URL: http://svnweb.freebsd.org/changeset/base/269818
> >
> > Log:
> > Hack to get the correct value for the interrupt from the vendor
> > supplied device tree. The GIC used the format <type irq flags>
> > where the type is 0 for Shared Peripheral Interrupts (SPI), and 1
> > for Private Peripheral Interrupts. The SPIs start at 32 in the GIc
> > so we need to adjust their values to match this.
> >
> > Modified:
> > projects/arm64/sys/dev/fdt/simplebus.c
> >
> > Modified: projects/arm64/sys/dev/fdt/simplebus.c
> > ==============================================================================
> > --- projects/arm64/sys/dev/fdt/simplebus.c Mon Aug 11
> > 16:44:06 2014 (r269817) +++
> > projects/arm64/sys/dev/fdt/simplebus.c Mon Aug 11 16:57:42
> > 2014 (r269818) @@ -310,10 +310,18 @@
> > simplebus_setup_dinfo(device_t dev, phan icells = 1; }
> > for (i = 0, k = 0; i < nintr; i += icells, k++) {
> > + u_int irq;
> > +
> > + if (icells == 3) {
> > + irq = intr[i + 1];
> > + if (intr[i] == 0)
> > + irq += 32;
> > + } else
> > + irq = intr[i];
> > intr[i] = ofw_bus_map_intr(dev, iparent,
> > icells, &intr[i]);
> > - resource_list_add(&ndi->rl, SYS_RES_IRQ,
> > k, intr[i],
> > - intr[i], 1);
> > + resource_list_add(&ndi->rl, SYS_RES_IRQ,
> > k, irq,
> > + irq, 1);
> > }
> > free(intr, M_OFWPROP);
> > }
> >
>
> The much better place to do this kind of hack is in the ARM
> nexus_ofw_map_intr() routine. Ian's intrng branch will push this into
> the PIC driver, where it actually belongs, but putting it in nexus
> isn't so bad for now and will apply to all buses, not just simplebus.
> -Nathan
I know, this is a hack to get interrupts working. It will be fixed
before merging into head.
Andrew
More information about the svn-src-projects
mailing list