From: Roland Kuhn <rkuhn@e18.physik.tu-muenchen.de>
Date: Wed, 7 Aug 2002 16:49:24 +0200 (CEST)
Sorry, same problem as before. It looks like the spinlocked write method
does not work on the BCM5701 chip :-(
I'm still not entirely convinced of this :-)
Backout all of your changes and try this patch instead:
--- drivers/net/tg3.c.~1~ Wed Aug 7 07:56:39 2002
+++ drivers/net/tg3.c Wed Aug 7 07:57:08 2002
@@ -173,8 +173,18 @@
}
}
+static void tg3_write_mailbox_reg32(struct tg3 *tp, u32 off, u32 val)
+{
+ unsigned long flags;
+
+ spin_lock_irqsave(&tp->indirect_lock, flags);
+ pci_write_config_dword(tp->pdev, TG3PCI_REG_BASE_ADDR, off);
+ pci_write_config_dword(tp->pdev, TG3PCI_REG_DATA, val);
+ spin_unlock_irqrestore(&tp->indirect_lock, flags);
+}
+
#define tw32(reg,val) tg3_write_indirect_reg32(tp,(reg),(val))
-#define tw32_mailbox(reg, val) writel(((val) & 0xffffffff), tp->regs + (reg))
+#define tw32_mailbox(reg, val) tg3_write_mailbox_reg32(tp,(reg),(val))
#define tw16(reg,val) writew(((val) & 0xffff), tp->regs + (reg))
#define tw8(reg,val) writeb(((val) & 0xff), tp->regs + (reg))
#define tr32(reg) readl(tp->regs + (reg))
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Aug 07 2002 - 22:00:36 EST