summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2006-03-20 22:28:57 -0800
committerDavid S. Miller <davem@davemloft.net>2006-03-20 22:28:57 -0800
commit79f4d13a15774c2d442b619bad95a4c612eed4f3 (patch)
tree22996b2b33bc68d24ec8091954d8d6f57a552eb4
parentfcfa0a32c767219c1bdad621ef4a3aff1904cbbd (diff)
downloadlinux-79f4d13a15774c2d442b619bad95a4c612eed4f3.tar.bz2
[TG3]: Fixup memory test for 5787
Ethtool memory test on 5787 requires a new memory table. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/tg3.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 40f52897cf9b..fe5c565a5284 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -8306,14 +8306,24 @@ static int tg3_test_memory(struct tg3 *tp)
{ 0x00008000, 0x02000},
{ 0x00010000, 0x0e000},
{ 0xffffffff, 0x00000}
+ }, mem_tbl_5755[] = {
+ { 0x00000200, 0x00008},
+ { 0x00004000, 0x00800},
+ { 0x00006000, 0x00800},
+ { 0x00008000, 0x02000},
+ { 0x00010000, 0x0c000},
+ { 0xffffffff, 0x00000}
};
struct mem_entry *mem_tbl;
int err = 0;
int i;
- if (tp->tg3_flags2 & TG3_FLG2_5705_PLUS)
- mem_tbl = mem_tbl_5705;
- else
+ if (tp->tg3_flags2 & TG3_FLG2_5705_PLUS) {
+ if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5787)
+ mem_tbl = mem_tbl_5755;
+ else
+ mem_tbl = mem_tbl_5705;
+ } else
mem_tbl = mem_tbl_570x;
for (i = 0; mem_tbl[i].offset != 0xffffffff; i++) {