]>
Commit | Line | Data |
---|---|---|
00e5a55c BS |
1 | From: Matt Carlson <Matt.Carlson@broadcom.net> |
2 | Subject: tg3 libphy workaround | |
3 | Reference: bnc#68725 | |
4 | Acked-by: Karsten Keil <kkeil@novell.com> | |
5 | ||
6 | Hi Philip. Below is the SLES 11 patch that disables 5785 support and | |
7 | forces the 57780 to use the in-driver phy code rather than the phylib | |
8 | code. | |
9 | ||
10 | While I have your attention, are there any outstanding bootloader | |
11 | install bugs? On my lab machine, I install SLES 11 onto partition 12 | |
12 | and tell the installer to install the bootloader (GRUB) into the MBR | |
13 | of that partition. I then reboot the machine and instruct the existing | |
14 | bootloader in partition 1 (GRUB again) to chainload to partition 12. | |
15 | ||
16 | It seems the SLES 11 installer somehow corrupts the MBR of the disk so | |
17 | that it no longer boots. I've installed SLES 11 twice now and on the | |
18 | 2nd install, I carefully navigated through the bootloader configuration | |
19 | portion. I don't think I'm doing anything wrong. Anyways, just an FYI... | |
20 | ||
21 | ||
22 | ||
23 | diff -Nrup 1/drivers/net/tg3.c 2/drivers/net/tg3.c | |
24 | --- 1/drivers/net/tg3.c 2009-01-14 15:19:32.000000000 -0800 | |
25 | +++ 2/drivers/net/tg3.c 2009-01-23 07:06:53.000000000 -0800 | |
26 | @@ -205,7 +205,6 @@ static struct pci_device_id tg3_pci_tbl[ | |
27 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5723)}, | |
28 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5761)}, | |
29 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5761E)}, | |
30 | - {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5785)}, | |
31 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57780)}, | |
32 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57760)}, | |
33 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57790)}, | |
34 | @@ -12428,8 +12427,7 @@ static int __devinit tg3_get_invariants( | |
35 | GET_CHIP_REV(tp->pci_chip_rev_id) != CHIPREV_5700_BX) | |
36 | tp->coalesce_mode |= HOSTCC_MODE_32BYTE; | |
37 | ||
38 | - if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785 || | |
39 | - GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_57780) | |
40 | + if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785) | |
41 | tp->tg3_flags3 |= TG3_FLG3_USE_PHYLIB; | |
42 | ||
43 | err = tg3_mdio_init(tp); | |
44 | @@ -13192,6 +13190,7 @@ static char * __devinit tg3_phy_string(s | |
45 | case PHY_ID_BCM5756: return "5722/5756"; | |
46 | case PHY_ID_BCM5906: return "5906"; | |
47 | case PHY_ID_BCM5761: return "5761"; | |
48 | + case PHY_ID_BCM57780: return "57780"; | |
49 | case PHY_ID_BCM8002: return "8002/serdes"; | |
50 | case 0: return "serdes"; | |
51 | default: return "unknown"; | |
52 | diff -Nrup 1/drivers/net/tg3.h 2/drivers/net/tg3.h | |
53 | --- 1/drivers/net/tg3.h 2009-01-14 15:19:30.000000000 -0800 | |
54 | +++ 2/drivers/net/tg3.h 2009-01-23 07:04:58.000000000 -0800 | |
55 | @@ -2586,6 +2586,7 @@ struct tg3 { | |
56 | #define PHY_ID_BCM5761 0xbc050fd0 | |
57 | #define PHY_ID_BCM5906 0xdc00ac40 | |
58 | #define PHY_ID_BCM8002 0x60010140 | |
59 | +#define PHY_ID_BCM57780 0x5c0d8990 | |
60 | #define PHY_ID_INVALID 0xffffffff | |
61 | #define PHY_ID_REV_MASK 0x0000000f | |
62 | #define PHY_REV_BCM5401_B0 0x1 |