diff options
author | Todd Fujinaka <todd.fujinaka@intel.com> | 2014-05-29 01:47:26 -0400 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2014-06-04 02:57:53 -0400 |
commit | 27dff8b2f680ce966b5d959be9d69dd0edd92e3b (patch) | |
tree | c34e475efaba328c6a371bd04ed65109640ae56f /drivers | |
parent | 3cfcf036e1d0641ace932c2bd01211d8254a9291 (diff) |
igb: add defaults for i210 TX/RX PBSIZE
Set the defaults on probe for the packet buffer size registers for the
i210.
Signed-off-by: Todd Fujinaka <todd.fujinaka@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')
-rw-r--r-- | drivers/net/ethernet/intel/igb/e1000_defines.h | 3 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/igb/e1000_regs.h | 4 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/igb/igb_main.c | 6 |
3 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igb/e1000_defines.h b/drivers/net/ethernet/intel/igb/e1000_defines.h index f85be6695e44..11ffdbae9f92 100644 --- a/drivers/net/ethernet/intel/igb/e1000_defines.h +++ b/drivers/net/ethernet/intel/igb/e1000_defines.h | |||
@@ -329,6 +329,9 @@ | |||
329 | /* Timestamp in Rx buffer */ | 329 | /* Timestamp in Rx buffer */ |
330 | #define E1000_RXPBS_CFG_TS_EN 0x80000000 | 330 | #define E1000_RXPBS_CFG_TS_EN 0x80000000 |
331 | 331 | ||
332 | #define I210_RXPBSIZE_DEFAULT 0x000000A2 /* RXPBSIZE default */ | ||
333 | #define I210_TXPBSIZE_DEFAULT 0x04000014 /* TXPBSIZE default */ | ||
334 | |||
332 | /* SerDes Control */ | 335 | /* SerDes Control */ |
333 | #define E1000_SCTL_DISABLE_SERDES_LOOPBACK 0x0400 | 336 | #define E1000_SCTL_DISABLE_SERDES_LOOPBACK 0x0400 |
334 | 337 | ||
diff --git a/drivers/net/ethernet/intel/igb/e1000_regs.h b/drivers/net/ethernet/intel/igb/e1000_regs.h index 833bbb948d97..1cc4b1a7e597 100644 --- a/drivers/net/ethernet/intel/igb/e1000_regs.h +++ b/drivers/net/ethernet/intel/igb/e1000_regs.h | |||
@@ -192,6 +192,10 @@ | |||
192 | : (0x0E038 + ((_n) * 0x40))) | 192 | : (0x0E038 + ((_n) * 0x40))) |
193 | #define E1000_TDWBAH(_n) ((_n) < 4 ? (0x0383C + ((_n) * 0x100)) \ | 193 | #define E1000_TDWBAH(_n) ((_n) < 4 ? (0x0383C + ((_n) * 0x100)) \ |
194 | : (0x0E03C + ((_n) * 0x40))) | 194 | : (0x0E03C + ((_n) * 0x40))) |
195 | |||
196 | #define E1000_RXPBS 0x02404 /* Rx Packet Buffer Size - RW */ | ||
197 | #define E1000_TXPBS 0x03404 /* Tx Packet Buffer Size - RW */ | ||
198 | |||
195 | #define E1000_TDFH 0x03410 /* TX Data FIFO Head - RW */ | 199 | #define E1000_TDFH 0x03410 /* TX Data FIFO Head - RW */ |
196 | #define E1000_TDFT 0x03418 /* TX Data FIFO Tail - RW */ | 200 | #define E1000_TDFT 0x03418 /* TX Data FIFO Tail - RW */ |
197 | #define E1000_TDFHS 0x03420 /* TX Data FIFO Head Saved - RW */ | 201 | #define E1000_TDFHS 0x03420 /* TX Data FIFO Head Saved - RW */ |
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index ea2868b22c2d..33b3a16dabe1 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c | |||
@@ -2433,6 +2433,12 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
2433 | /* get firmware version for ethtool -i */ | 2433 | /* get firmware version for ethtool -i */ |
2434 | igb_set_fw_version(adapter); | 2434 | igb_set_fw_version(adapter); |
2435 | 2435 | ||
2436 | /* configure RXPBSIZE and TXPBSIZE */ | ||
2437 | if (hw->mac.type == e1000_i210) { | ||
2438 | wr32(E1000_RXPBS, I210_RXPBSIZE_DEFAULT); | ||
2439 | wr32(E1000_TXPBS, I210_TXPBSIZE_DEFAULT); | ||
2440 | } | ||
2441 | |||
2436 | setup_timer(&adapter->watchdog_timer, igb_watchdog, | 2442 | setup_timer(&adapter->watchdog_timer, igb_watchdog, |
2437 | (unsigned long) adapter); | 2443 | (unsigned long) adapter); |
2438 | setup_timer(&adapter->phy_info_timer, igb_update_phy_info, | 2444 | setup_timer(&adapter->phy_info_timer, igb_update_phy_info, |