diff options
author | Matt Carlson <mcarlson@broadcom.com> | 2010-01-20 11:58:06 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-01-20 22:21:00 -0500 |
commit | 8b5a6c42e1f2277433aeefa9ee5a0c1a2473b7d8 (patch) | |
tree | b136f47e4e5a7eebd3fe5902114bba30633d0229 | |
parent | ecf1410b9d70b3034e5955e92bb0c3e02ff21e9c (diff) |
tg3: Fix 5717 and 57765 memory selftests
Both the 5717 and the 57765 will fail 'ethtool -t' selftests at the
memory selftest portion. The memory map for these two devices differs
from the rest of the asic revs and each other. This patch adds a new
memory map to use for memory selftests.
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/tg3.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 7a36bf4dc968..44ac9e233bef 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -10659,12 +10659,27 @@ static int tg3_test_memory(struct tg3 *tp) | |||
10659 | { 0x00008000, 0x01000}, | 10659 | { 0x00008000, 0x01000}, |
10660 | { 0x00010000, 0x01000}, | 10660 | { 0x00010000, 0x01000}, |
10661 | { 0xffffffff, 0x00000} | 10661 | { 0xffffffff, 0x00000} |
10662 | }, mem_tbl_5717[] = { | ||
10663 | { 0x00000200, 0x00008}, | ||
10664 | { 0x00010000, 0x0a000}, | ||
10665 | { 0x00020000, 0x13c00}, | ||
10666 | { 0xffffffff, 0x00000} | ||
10667 | }, mem_tbl_57765[] = { | ||
10668 | { 0x00000200, 0x00008}, | ||
10669 | { 0x00004000, 0x00800}, | ||
10670 | { 0x00006000, 0x09800}, | ||
10671 | { 0x00010000, 0x0a000}, | ||
10672 | { 0xffffffff, 0x00000} | ||
10662 | }; | 10673 | }; |
10663 | struct mem_entry *mem_tbl; | 10674 | struct mem_entry *mem_tbl; |
10664 | int err = 0; | 10675 | int err = 0; |
10665 | int i; | 10676 | int i; |
10666 | 10677 | ||
10667 | if (tp->tg3_flags3 & TG3_FLG3_5755_PLUS) | 10678 | if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717) |
10679 | mem_tbl = mem_tbl_5717; | ||
10680 | else if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_57765) | ||
10681 | mem_tbl = mem_tbl_57765; | ||
10682 | else if (tp->tg3_flags3 & TG3_FLG3_5755_PLUS) | ||
10668 | mem_tbl = mem_tbl_5755; | 10683 | mem_tbl = mem_tbl_5755; |
10669 | else if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) | 10684 | else if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) |
10670 | mem_tbl = mem_tbl_5906; | 10685 | mem_tbl = mem_tbl_5906; |