Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/bnx2-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/bnx2-2.6:
[BNX2]: PHY workaround for 5709 A0.

+18 -2
+12 -2
drivers/net/bnx2.c
··· 57 57 58 58 #define DRV_MODULE_NAME "bnx2" 59 59 #define PFX DRV_MODULE_NAME ": " 60 - #define DRV_MODULE_VERSION "1.5.4" 61 - #define DRV_MODULE_RELDATE "January 24, 2007" 60 + #define DRV_MODULE_VERSION "1.5.5" 61 + #define DRV_MODULE_RELDATE "February 1, 2007" 62 62 63 63 #define RUN_AT(x) (jiffies + (x)) 64 64 ··· 1354 1354 bnx2_write_phy(bp, 0x17, 0x401f); 1355 1355 bnx2_write_phy(bp, 0x15, 0x14e2); 1356 1356 bnx2_write_phy(bp, 0x18, 0x0400); 1357 + } 1358 + 1359 + if (bp->phy_flags & PHY_DIS_EARLY_DAC_FLAG) { 1360 + bnx2_write_phy(bp, MII_BNX2_DSP_ADDRESS, 1361 + MII_BNX2_DSP_EXPAND_REG | 0x8); 1362 + bnx2_read_phy(bp, MII_BNX2_DSP_RW_PORT, &val); 1363 + val &= ~(1 << 8); 1364 + bnx2_write_phy(bp, MII_BNX2_DSP_RW_PORT, val); 1357 1365 } 1358 1366 1359 1367 if (bp->dev->mtu > 1500) { ··· 5926 5918 } else if (CHIP_NUM(bp) == CHIP_NUM_5706 || 5927 5919 CHIP_NUM(bp) == CHIP_NUM_5708) 5928 5920 bp->phy_flags |= PHY_CRC_FIX_FLAG; 5921 + else if (CHIP_ID(bp) == CHIP_ID_5709_A0) 5922 + bp->phy_flags |= PHY_DIS_EARLY_DAC_FLAG; 5929 5923 5930 5924 if ((CHIP_ID(bp) == CHIP_ID_5708_A0) || 5931 5925 (CHIP_ID(bp) == CHIP_ID_5708_B0) ||
+6
drivers/net/bnx2.h
··· 6288 6288 6289 6289 #define BCM5708S_TX_ACTL3 0x17 6290 6290 6291 + #define MII_BNX2_DSP_RW_PORT 0x15 6292 + #define MII_BNX2_DSP_ADDRESS 0x17 6293 + #define MII_BNX2_DSP_EXPAND_REG 0x0f00 6294 + 6291 6295 #define MIN_ETHERNET_PACKET_SIZE 60 6292 6296 #define MAX_ETHERNET_PACKET_SIZE 1514 6293 6297 #define MAX_ETHERNET_JUMBO_PACKET_SIZE 9014 ··· 6493 6489 #define PHY_INT_MODE_MASK_FLAG 0x300 6494 6490 #define PHY_INT_MODE_AUTO_POLLING_FLAG 0x100 6495 6491 #define PHY_INT_MODE_LINK_READY_FLAG 0x200 6492 + #define PHY_DIS_EARLY_DAC_FLAG 0x400 6496 6493 6497 6494 u32 chip_id; 6498 6495 /* chip num:16-31, rev:12-15, metal:4-11, bond_id:0-3 */ ··· 6517 6512 #define CHIP_ID_5708_A0 0x57080000 6518 6513 #define CHIP_ID_5708_B0 0x57081000 6519 6514 #define CHIP_ID_5708_B1 0x57081010 6515 + #define CHIP_ID_5709_A0 0x57090000 6520 6516 6521 6517 #define CHIP_BOND_ID(bp) (((bp)->chip_id) & 0xf) 6522 6518