Hi Hauke,
On Sat, 2012-03-03 at 00:06 +0100, Hauke Mehrtens wrote:
> On 03/02/2012 06:36 AM, Nathan Hintz wrote:
> >
> > Signed-off-by: Nathan Hintz <[email protected]>
> >
> > --- /dev/null 2012-02-21 01:00:44.969496803 -0800
> > +++ target/linux/brcm47xx/patches-3.2/0051-bcma-enable-irq6.patch
> > 2011-07-25 11:20:35.030008484 -0700
> > @@ -0,0 +1,29 @@
> > +--- a/drivers/bcma/driver_mips.c
> > ++++ b/drivers/bcma/driver_mips.c
> > +@@ -74,7 +74,7 @@
> > + return dev->core_index;
> > + flag = bcma_aread32(dev, BCMA_MIPS_OOBSELOUTA30);
> > +
> > +- return flag & 0x1F;
> > ++ return (flag ? (flag & 0x1F) : 0x3F);
> > + }
> > +
> > + /* Get the MIPS IRQ assignment for a specified device.
> > +@@ -87,6 +87,8 @@
> > + unsigned int irq;
> > +
> > + irqflag = bcma_core_mips_irqflag(dev);
> > ++ if (irqflag == 0x3F)
> > ++ return 6;
> > +
> > + for (irq = 1; irq <= 4; irq++)
> > + if (bcma_read32(mdev, BCMA_MIPS_MIPS74K_INTMASK(irq)) &
> > +@@ -232,7 +234,7 @@
> > + core->irq = 0;
> > + else
> > + core->irq = mips_irq + 2;
> > +- if (core->irq > 5)
> > ++ if (core->irq > 6)
> > + continue;
> > + switch (core->id.id) {
> > + case BCMA_CORE_PCI:
> >
>
> Why do you need the IRQ 6? The current code will not assign it to any
> core on the devices I know of. On what device did you test your code? As
> the Broadcom SDK doe not use this IRQ I am a little bit scared if it
> will work on every device.
>
> Hauke
>
This is on a Linksys E3000. I reflashed back to the stock firmware, and
dumped the interrupt assignments (eth1 is wl0, eth2 is wl1). I haven't
actually tried it without the patch. In general, everything seems to be
working; although it will consistently produce a kernel oops if I try to
enable "option wmm 1" for wl1 ("Bus error"), which I haven't been able
to track down.
Stock Linksys E3000:
# more /proc/interrupts
CPU0
3: 18693 MIPS eth1
4: 350 MIPS eth0
5: 0 MIPS ehci-hcd, usb-ohci
6: 10353 MIPS eth2
7: 51445 MIPS timer
8: 3382 IRQ2 serial
ERR: 0
OpenWRT Linksys E3000 (using the patch):
root@OpenWrt:/# cat /proc/interrupts
CPU0
2: 904 MIPS serial, gpio
3: 0 MIPS wl0
4: 228 MIPS eth0
5: 0 MIPS ehci_hcd:usb1, ohci_hcd:usb2
6: 0 MIPS wl1
7: 87428 MIPS timer
ERR: 0
Let me know if there is any other info you would like, I can easily
flash back to stock.
Nathan
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel