diff options
author | stephen hemminger <shemminger@vyatta.com> | 2010-03-29 03:36:18 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-30 22:43:47 -0400 |
commit | c1cd0a859a01ed0591cb2d8931bdd283542c0252 (patch) | |
tree | 8b1e17da9cd427a9208c3a8d942c4089d5b1475c /drivers/net/sky2.c | |
parent | 9b27105b4a44c54bf91ecd7d0315034ae75684f7 (diff) |
sky2: support Yukon EC_U rev B1 and later
Need to change logic to support later versions of Yukon 2 EC_U chip.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r-- | drivers/net/sky2.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index d8ec4c11fd49..4b403bd7870d 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -877,6 +877,10 @@ static void sky2_mac_init(struct sky2_hw *hw, unsigned port) | |||
877 | if (hw->dev[port]->mtu > ETH_DATA_LEN) | 877 | if (hw->dev[port]->mtu > ETH_DATA_LEN) |
878 | reg |= GM_SMOD_JUMBO_ENA; | 878 | reg |= GM_SMOD_JUMBO_ENA; |
879 | 879 | ||
880 | if (hw->chip_id == CHIP_ID_YUKON_EC_U && | ||
881 | hw->chip_rev == CHIP_REV_YU_EC_U_B1) | ||
882 | reg |= GM_NEW_FLOW_CTRL; | ||
883 | |||
880 | gma_write16(hw, port, GM_SERIAL_MODE, reg); | 884 | gma_write16(hw, port, GM_SERIAL_MODE, reg); |
881 | 885 | ||
882 | /* virtual address for data */ | 886 | /* virtual address for data */ |
@@ -1413,8 +1417,7 @@ static void sky2_rx_start(struct sky2_port *sky2) | |||
1413 | /* These chips have no ram buffer? | 1417 | /* These chips have no ram buffer? |
1414 | * MAC Rx RAM Read is controlled by hardware */ | 1418 | * MAC Rx RAM Read is controlled by hardware */ |
1415 | if (hw->chip_id == CHIP_ID_YUKON_EC_U && | 1419 | if (hw->chip_id == CHIP_ID_YUKON_EC_U && |
1416 | (hw->chip_rev == CHIP_REV_YU_EC_U_A1 || | 1420 | hw->chip_rev > CHIP_REV_YU_EC_U_A0) |
1417 | hw->chip_rev == CHIP_REV_YU_EC_U_B0)) | ||
1418 | sky2_write32(hw, Q_ADDR(rxq, Q_TEST), F_M_RX_RAM_DIS); | 1421 | sky2_write32(hw, Q_ADDR(rxq, Q_TEST), F_M_RX_RAM_DIS); |
1419 | 1422 | ||
1420 | sky2_prefetch_init(hw, rxq, sky2->rx_le_map, RX_LE_SIZE - 1); | 1423 | sky2_prefetch_init(hw, rxq, sky2->rx_le_map, RX_LE_SIZE - 1); |