diff options
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); |