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