diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2009-03-15 01:26:40 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-15 01:26:40 -0400 |
commit | 682337fe062e939578d933c74157ae9a36baa4ce (patch) | |
tree | 0e78f71cbc23e442b31b4e4dd2bb65701a870b33 /drivers/net/igb | |
parent | de9307c68624b03d2922a02a661ce31e20f078cc (diff) |
igb: remove ASPM L0s workaround
The L0s workaround should be moved into a pci quirk and so it is not
necessary in the driver. This update removes the L0s workaround from the
igb driver.
This was the second half of the PCI quirk patch that Matthew Wilcox did
not pick up when he picked up the quirk patch.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/igb')
-rw-r--r-- | drivers/net/igb/igb_main.c | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c index a50db5398fa5..9dd13ad12ce4 100644 --- a/drivers/net/igb/igb_main.c +++ b/drivers/net/igb/igb_main.c | |||
@@ -1023,11 +1023,10 @@ static int __devinit igb_probe(struct pci_dev *pdev, | |||
1023 | struct net_device *netdev; | 1023 | struct net_device *netdev; |
1024 | struct igb_adapter *adapter; | 1024 | struct igb_adapter *adapter; |
1025 | struct e1000_hw *hw; | 1025 | struct e1000_hw *hw; |
1026 | struct pci_dev *us_dev; | ||
1027 | const struct e1000_info *ei = igb_info_tbl[ent->driver_data]; | 1026 | const struct e1000_info *ei = igb_info_tbl[ent->driver_data]; |
1028 | unsigned long mmio_start, mmio_len; | 1027 | unsigned long mmio_start, mmio_len; |
1029 | int i, err, pci_using_dac, pos; | 1028 | int i, err, pci_using_dac; |
1030 | u16 eeprom_data = 0, state = 0; | 1029 | u16 eeprom_data = 0; |
1031 | u16 eeprom_apme_mask = IGB_EEPROM_APME; | 1030 | u16 eeprom_apme_mask = IGB_EEPROM_APME; |
1032 | u32 part_num; | 1031 | u32 part_num; |
1033 | int bars, need_ioport; | 1032 | int bars, need_ioport; |
@@ -1062,27 +1061,6 @@ static int __devinit igb_probe(struct pci_dev *pdev, | |||
1062 | } | 1061 | } |
1063 | } | 1062 | } |
1064 | 1063 | ||
1065 | /* 82575 requires that the pci-e link partner disable the L0s state */ | ||
1066 | switch (pdev->device) { | ||
1067 | case E1000_DEV_ID_82575EB_COPPER: | ||
1068 | case E1000_DEV_ID_82575EB_FIBER_SERDES: | ||
1069 | case E1000_DEV_ID_82575GB_QUAD_COPPER: | ||
1070 | us_dev = pdev->bus->self; | ||
1071 | pos = pci_find_capability(us_dev, PCI_CAP_ID_EXP); | ||
1072 | if (pos) { | ||
1073 | pci_read_config_word(us_dev, pos + PCI_EXP_LNKCTL, | ||
1074 | &state); | ||
1075 | state &= ~PCIE_LINK_STATE_L0S; | ||
1076 | pci_write_config_word(us_dev, pos + PCI_EXP_LNKCTL, | ||
1077 | state); | ||
1078 | dev_info(&pdev->dev, | ||
1079 | "Disabling ASPM L0s upstream switch port %s\n", | ||
1080 | pci_name(us_dev)); | ||
1081 | } | ||
1082 | default: | ||
1083 | break; | ||
1084 | } | ||
1085 | |||
1086 | err = pci_request_selected_regions(pdev, bars, igb_driver_name); | 1064 | err = pci_request_selected_regions(pdev, bars, igb_driver_name); |
1087 | if (err) | 1065 | if (err) |
1088 | goto err_pci_reg; | 1066 | goto err_pci_reg; |