e1000e: ESB2 config after link up
On ESB2, the MAC-to-PHY (Kumeran) interface must be configured after link is up before any traffic is sent; a new PHY operations function pointer is provided for this. To facilitate read/write of the Kumeran registers without blocking PHY register writes, the driver/firmware synchronization method which previously used a hardware semaphore for both PHY and Kumeran register accesses is now split. New Kumeran register read/write functions utilize this new synchronization method. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

szülő
438b365a27
commit
75eb0fad56
@@ -3493,6 +3493,7 @@ static void e1000_watchdog_task(struct work_struct *work)
|
||||
struct e1000_adapter, watchdog_task);
|
||||
struct net_device *netdev = adapter->netdev;
|
||||
struct e1000_mac_info *mac = &adapter->hw.mac;
|
||||
struct e1000_phy_info *phy = &adapter->hw.phy;
|
||||
struct e1000_ring *tx_ring = adapter->tx_ring;
|
||||
struct e1000_hw *hw = &adapter->hw;
|
||||
u32 link, tctl;
|
||||
@@ -3599,6 +3600,13 @@ static void e1000_watchdog_task(struct work_struct *work)
|
||||
tctl |= E1000_TCTL_EN;
|
||||
ew32(TCTL, tctl);
|
||||
|
||||
/*
|
||||
* Perform any post-link-up configuration before
|
||||
* reporting link up.
|
||||
*/
|
||||
if (phy->ops.cfg_on_link_up)
|
||||
phy->ops.cfg_on_link_up(hw);
|
||||
|
||||
netif_carrier_on(netdev);
|
||||
netif_tx_wake_all_queues(netdev);
|
||||
|
||||
|
Reference in New Issue
Block a user