tree 0e28e8b073f7ecefd2916dd40d248b914d1a6c0b
parent 053d78000be4906fac6446ad517ca3897dc6cd84
author Michael Chan <[EMAIL PROTECTED]> Fri, 22 Apr 2005 07:05:28 -0700
committer David S. Miller <[EMAIL PROTECTED]> Fri, 22 Apr 2005 07:05:28 -0700

[TG3]: Minor 5752 fixes

Some minor 5752 fixes mostly for correctness and add 5752 PHY ID.

Signed-off-by: Michael Chan <[EMAIL PROTECTED]>
Signed-off-by: David S. Miller <[EMAIL PROTECTED]>

 net/tg3.c |   24 +++++++++++++++++-------
 net/tg3.h |    1 +
 2 files changed, 18 insertions(+), 7 deletions(-)

Index: drivers/net/tg3.c
===================================================================
--- 3ba4a5f488457ce6432d956b2363e3a3806396f6/drivers/net/tg3.c  (mode:100644 
sha1:c1881976927d1d1cb6ade922aca02a68bc723ac2)
+++ 0e28e8b073f7ecefd2916dd40d248b914d1a6c0b/drivers/net/tg3.c  (mode:100644 
sha1:f22f19bbf11aae417e6b7803bc1dff82e07e3529)
@@ -1094,7 +1094,7 @@ static int tg3_set_power_state(struct tg
                     CLOCK_CTRL_ALTCLK |
                     CLOCK_CTRL_PWRDOWN_PLL133);
                udelay(40);
-       } else if (!((GET_ASIC_REV(tp->pci_chip_rev_id) == 5750) &&
+       } else if (!((tp->tg3_flags2 & TG3_FLG2_5750_PLUS) &&
                     (tp->tg3_flags & TG3_FLAG_ENABLE_ASF))) {
                u32 newbits1, newbits2;
 
@@ -5237,8 +5237,11 @@ static int tg3_reset_hw(struct tg3 *tp)
                      RDMAC_MODE_LNGREAD_ENAB);
        if (tp->tg3_flags & TG3_FLAG_SPLIT_MODE)
                rdmac_mode |= RDMAC_MODE_SPLIT_ENABLE;
-       if ((tp->tg3_flags2 & TG3_FLG2_5705_PLUS) &&
-            tp->pci_chip_rev_id != CHIPREV_ID_5705_A0) {
+
+       /* If statement applies to 5705 and 5750 PCI devices only */
+       if ((GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 &&
+            tp->pci_chip_rev_id != CHIPREV_ID_5705_A0) ||
+           (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750)) {
                if (tp->tg3_flags2 & TG3_FLG2_TSO_CAPABLE &&
                    (tp->pci_chip_rev_id == CHIPREV_ID_5705_A1 ||
                     tp->pci_chip_rev_id == CHIPREV_ID_5705_A2)) {
@@ -5249,6 +5252,9 @@ static int tg3_reset_hw(struct tg3 *tp)
                }
        }
 
+       if (tp->tg3_flags2 & TG3_FLG2_PCI_EXPRESS)
+               rdmac_mode |= RDMAC_MODE_FIFO_LONG_BURST;
+
 #if TG3_TSO_SUPPORT != 0
        if (tp->tg3_flags2 & TG3_FLG2_HW_TSO)
                rdmac_mode |= (1 << 27);
@@ -5351,8 +5357,10 @@ static int tg3_reset_hw(struct tg3 *tp)
               WDMAC_MODE_FIFOURUN_ENAB | WDMAC_MODE_FIFOOREAD_ENAB |
               WDMAC_MODE_LNGREAD_ENAB);
 
-       if ((tp->tg3_flags2 & TG3_FLG2_5705_PLUS) &&
-            tp->pci_chip_rev_id != CHIPREV_ID_5705_A0) {
+       /* If statement applies to 5705 and 5750 PCI devices only */
+       if ((GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 &&
+            tp->pci_chip_rev_id != CHIPREV_ID_5705_A0) ||
+           GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750) {
                if ((tp->tg3_flags & TG3_FLG2_TSO_CAPABLE) &&
                    (tp->pci_chip_rev_id == CHIPREV_ID_5705_A1 ||
                     tp->pci_chip_rev_id == CHIPREV_ID_5705_A2)) {
@@ -7025,7 +7033,7 @@ static void __devinit tg3_get_nvram_info
                tw32(NVRAM_CFG1, nvcfg1);
        }
 
-       if (tp->tg3_flags2 & TG3_FLG2_5750_PLUS) {
+       if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750) {
                switch (nvcfg1 & NVRAM_CFG1_VENDOR_MASK) {
                        case FLASH_VENDOR_ATMEL_FLASH_BUFFERED:
                                tp->nvram_jedecnum = JEDEC_ATMEL;
@@ -8462,7 +8470,8 @@ static int __devinit tg3_test_dma(struct
                /* DMA read watermark not used on PCIE */
                tp->dma_rwctrl |= 0x00180000;
        } else if (!(tp->tg3_flags & TG3_FLAG_PCIX_MODE)) {
-               if (tp->tg3_flags2 & TG3_FLG2_5705_PLUS)
+               if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 ||
+                   GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750)
                        tp->dma_rwctrl |= 0x003f0000;
                else
                        tp->dma_rwctrl |= 0x003f000f;
@@ -8628,6 +8637,7 @@ static char * __devinit tg3_phy_string(s
        case PHY_ID_BCM5704:    return "5704";
        case PHY_ID_BCM5705:    return "5705";
        case PHY_ID_BCM5750:    return "5750";
+       case PHY_ID_BCM5752:    return "5752";
        case PHY_ID_BCM8002:    return "8002/serdes";
        case 0:                 return "serdes";
        default:                return "unknown";
Index: drivers/net/tg3.h
===================================================================
--- 3ba4a5f488457ce6432d956b2363e3a3806396f6/drivers/net/tg3.h  (mode:100644 
sha1:3a91a57a3205ceeb6a32600ea29d7c73b5be6399)
+++ 0e28e8b073f7ecefd2916dd40d248b914d1a6c0b/drivers/net/tg3.h  (mode:100644 
sha1:4732a804974b1a298b185565aa3ef0b85d0780d6)
@@ -2150,6 +2150,7 @@ struct tg3 {
 #define PHY_ID_BCM5704                 0x60008190
 #define PHY_ID_BCM5705                 0x600081a0
 #define PHY_ID_BCM5750                 0x60008180
+#define PHY_ID_BCM5752                 0x60008100
 #define PHY_ID_BCM8002                 0x60010140
 #define PHY_ID_INVALID                 0xffffffff
 #define PHY_ID_REV_MASK                        0x0000000f
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to