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 <nlhi...@hotmail.com>
> > 
> > --- /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
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to