diff options
author | Sasha Neftin <sasha.neftin@intel.com> | 2018-10-11 10:17:26 +0300 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2018-10-17 13:49:33 -0700 |
commit | c0071c7aa5fe0a6aa4cfc8426af893307ccd276d (patch) | |
tree | 4d06a191d99c460db8158f5b328826504c666354 /drivers/net/ethernet/intel/igc/igc_main.c | |
parent | 0507ef8a0372b80c30555bbeec7215f2cf874ecd (diff) | |
download | linux-c0071c7aa5fe0a6aa4cfc8426af893307ccd276d.tar.bz2 |
igc: Add HW initialization code
Add code for hardware initialization and reset
Add code for semaphore handling
Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/igc/igc_main.c')
-rw-r--r-- | drivers/net/ethernet/intel/igc/igc_main.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c index db7b6820e0f0..f2ad49fcd39b 100644 --- a/drivers/net/ethernet/intel/igc/igc_main.c +++ b/drivers/net/ethernet/intel/igc/igc_main.c @@ -64,6 +64,14 @@ enum latency_range { static void igc_reset(struct igc_adapter *adapter) { + struct pci_dev *pdev = adapter->pdev; + struct igc_hw *hw = &adapter->hw; + + hw->mac.ops.reset_hw(hw); + + if (hw->mac.ops.init_hw(hw)) + dev_err(&pdev->dev, "Hardware Error\n"); + if (!netif_running(adapter->netdev)) igc_power_down_link(adapter); } @@ -3556,6 +3564,19 @@ static int igc_sw_init(struct igc_adapter *adapter) } /** + * igc_get_hw_dev - return device + * @hw: pointer to hardware structure + * + * used by hardware layer to print debugging information + */ +struct net_device *igc_get_hw_dev(struct igc_hw *hw) +{ + struct igc_adapter *adapter = hw->back; + + return adapter->netdev; +} + +/** * igc_init_module - Driver Registration Routine * * igc_init_module is the first routine called when the driver is |