aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000/e1000_hw.c
Commit message (Collapse)AuthorAge
* e1000: prevent corruption of EEPROM/NVMChristopher Li2008-09-18
| | | | | | | | | | | | | | | | | | | | | | Andrey reports e1000 corruption, and that a patch in vmware's ESX fixed it. The EEPROM corruption is triggered by concurrent access of the EEPROM read/write. Putting a lock around it solve the problem. [akpm@linux-foundation.org: use DEFINE_SPINLOCK to avoid confusing lockdep] Signed-off-by: Christopher Li <chrisl@vmware.com> Reported-by: Andrey Borzenkov <arvidjaar@mail.ru> Cc: Zach Amsden <zach@vmware.com> Cc: Pratap Subrahmanyam <pratap@vmware.com> Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Cc: Jesse Brandeburg <jesse.brandeburg@intel.com> Cc: Bruce Allan <bruce.w.allan@intel.com> Cc: PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com> Cc: John Ronciak <john.ronciak@intel.com> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* e1000: Remove spaces after casts and function namesJoe Perches2008-07-22
| | | | | | Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* e1000: Use hw, er32, and ew32Joe Perches2008-07-22
| | | | | | | | | Use struct e1000_hw *hw = adapter->hw; where necessary Change macros E1000_READ_REG and E1000_WRITE_REG to er32 and ew32 Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* e1000: neaten function declarationsJoe Perches2008-07-22
| | | | | | Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* e1000: convert uint16_t style integers to u16Joe Perches2008-04-16
| | | | | | | | Conglomerate from 4 separate patches from Joe. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* e1000: Convert boolean_t to boolJoe Perches2008-03-26
| | | | | | | | | | | | | | On Thu, 2008-03-06 at 10:07 -0800, Kok, Auke wrote: > send me a patch for e1000 and for ixgb and I'll happily apply those :) boolean_t to bool TRUE to true FALSE to false comment typo ahread to ahead Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* e1000: sparse warnings fixesStephen Hemminger2007-10-30
| | | | | | | | | | | Fix sparse warnings and problems from e1000 driver. Added a sparse fix for the module param array index -- Auke Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* PCI-X/PCI-Express read control interfaces: use them in e1000Peter Oruba2007-10-10
| | | | | | | | | | | | | | These driver changes incorporate the proposed PCI-X / PCI-Express read byte count interface. Reading and setting those valuse doesn't take place "manually", instead wrapping functions are called to allow quirks for some PCI bridges. Signed-off by: Peter Oruba <peter.oruba@amd.com> Based on work by Stephen Hemminger <shemminger@linux-foundation.org> Acked-by: Auke Kok <auke-jan.h.kok@intel.com> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* e1000: Add device IDs of blade version of the 82571 quad portAuke Kok2007-09-27
| | | | | | | | This blade-specific board form factor is identical to the 82571EB board. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* e1000: Add device IDs of new 82571 board variantsAuke Kok2007-08-14
| | | | | | | | | This patch adds support for 2 new board variants: - A Quad port fiber 82571 board - A blade version of the 82571 quad copper board Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* e1000: 3 new driver stats for managability testingJeff Garzik2006-12-26
| | | | | | | | | | Add 3 extra packet redirect counters for tracking purposes to make sure we can test that all packets arrive properly. Originally from Jesse Brandeburg <jesse.brandeburg@intel.com>, rewritten to use feature flags by me. Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] e1000: fix ethtool reported bus type for older adaptersJeff Kirsher2006-12-26
| | | | | | | | | | For older adapters we know that they are of the PCI bus type, so we can just set this. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* e1000: workaround for the ESB2 NIC RX unit issueJeff Garzik2006-12-26
| | | | | | | | | | | In rare occasions, ESB2 systems would end up started without the RX unit being turned on. Add a check that runs post-init to work around this issue. Originally from Jesse Brandeburg <jesse.brandeburg@intel.com>, rewritten to use feature flags by me. Signed-off-by: Jeff Garzik <jeff@garzik.org>
* e1000: consolidate managability enabling/disablingJeff Garzik2006-12-26
| | | | | | | | | | | | | Several bugs existed in how we handle manageability issues all over the driver. This patch consolidates all the managability release and init code in two single functions and call them from appropriate locations. This fixes several BMC packet redirect issues and powerup/down hiccups. Originally from Jesse Brandeburg <jesse.brandeburg@intel.com>, rewritten to use feature flags by me. Signed-off-by: Jeff Garzik <jeff@garzik.org>
* e1000: omit stats for broken counter in 82543Jeff Garzik2006-12-26
| | | | | | | | | | The 82543 chip does not count tx_carrier_errors properly in FD mode; report zeros instead of garbage. Originally from Jesse Brandeburg <jesse.brandeburg@intel.com>, rewritten to use feature flags by me. Signed-off-by: Jeff Garzik <jeff@garzik.org>
* e1000: For sanity, reformat e1000_set_mac_type(), struct e1000_hw[_stats]Jeff Garzik2006-12-26
| | | | | | Makes future changes a bit more readable. Signed-off-by: Jeff Garzik <jeff@garzik.org>
* e1000: rename ICH8 flash macrosJeff Kirsher2006-12-02
| | | | | | | | | ICH8 will soon be followed by newer chipsets bearing the same acronym, thus we remove the '8' and make it independent of the version number in the platform name. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: New hardware supportAuke Kok2006-12-02
| | | | | | | Add support for a Low Profile quad-port PCI-E adapter and 2 variants of the ICH8 systems' onboard NIC's. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: fix VR powerdown codeJeff Kirsher2006-12-02
| | | | | | | | On ich systems during PHY power down to D3, the voltage regulators were left on. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* e1000: whitespace changes, comments, typosAuke Kok2006-12-02
| | | | | | Small whitespace changes, comment changes, typo fixes. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* Fix misc .c/.h comment typosMatt LaPlante2006-11-29
| | | | | | | Fix various .c/.h typos in comments (no code changes). Signed-off-by: Matt LaPlante <kernel1@cyberdogtech.com> Signed-off-by: Adrian Bunk <bunk@stusta.de>
* e1000: rework polarity, NVM, eeprom code and fixes.Jeff Kirsher2006-09-27
| | | | | | | | | | | | Several minor issues exist in the low-level device handling code of e1000. The NVM and EEPROM writing/reading code was updated which fixes unneeded delays, adds proper eeprom aqcuiring steps and handle shadow ram and flash access. Minor cosmetic adjustments to the polarity code adding symbols. PHY reset code mistakenly distinguished between MAC types instead of PHY types, and was fixes. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: add PCI-E capability detection codeJeff Kirsher2006-09-27
| | | | | | | Add code to display the detected PCI-E bus width. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: gather hardware bit tweaks.Jeff Kirsher2006-09-27
| | | | | | | | Several hardware bits were set all over the driver and have been consolidated into a single function. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: remove unused code and make symbols staticNicholas Nunley2006-09-27
| | | | | Signed-off-by: Nicholas Nunley <nicholas.d.nunley@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: add enums for several link propertiesJeff Kirsher2006-09-27
| | | | | Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: rename flow control symbolsJeff Kirsher2006-09-27
| | | | | Sogned-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e100, e1000, ixgb: update copyright header and remove LICENSEAuke Kok2006-09-27
| | | | | | | | This update to the copyright header adds the mailinglist, and aligns it with the kernel licensing as well as remove the offending 'all rights reserved'. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000, ixgb: Remove pointless wrappersJeff Garzik2006-09-19
| | | | Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] make drivers/net/e1000/e1000_hw.c:e1000_phy_igp_get_info() staticAdrian Bunk2006-09-06
| | | | | | | This patch makes the needlessly global e1000_phy_igp_get_info() static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* e1000: Add PCI ID 0x10a4 for our new 4-port PCI-Express deviceJesse Brandeburg2006-08-31
| | | | | | | | Device 0x10a4 is a double 82571 on a single PCI-Express card and has 4 gigabit capable ports. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: remove unused part_num reading codeAuke Kok2006-08-28
| | | | | | | Remove the code that reads part_num from the EEPROM. This part number is never displayed or queryable by the user. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: Whitespace cleanup, cosmetic changesAuke Kok2006-08-28
| | | | Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* Merge branch 'upstream-fixes' of ↵Jeff Garzik2006-08-24
|\ | | | | | | git://lost.foo-projects.org/~ahkok/git/netdev-2.6 into tmp
| * e1000: Force full DMA clocking for 10/100 speedJeff Kirsher2006-08-16
| | | | | | | | | | Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * e1000: Allow NVM to setup LPLU for IGP2 and IGP3Jeff Kirsher2006-08-16
| | | | | | | | | | | | | | | | Allow NVM to setup LPLU for IGP2 and IGP3. Only IGP needs LPLU D3 disabled during init here. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* | [PATCH] drivers/net/e1000/: possible cleanupsAdrian Bunk2006-08-19
|/ | | | | | | | | | | | | | | | | | | | | - make needlessly global functions static - #if 0 the following unused global functions: - e1000_hw.c: e1000_mc_addr_list_update() - e1000_hw.c: e1000_read_reg_io() - e1000_hw.c: e1000_enable_pciex_master() - e1000_hw.c: e1000_ife_disable_dynamic_power_down() - e1000_hw.c: e1000_ife_enable_dynamic_power_down() - e1000_hw.c: e1000_write_ich8_word() - e1000_hw.c: e1000_duplex_reversal() - e1000_main.c: e1000_io_read() Signed-off-by: Adrian Bunk <bunk@stusta.de> Cc: John Ronciak <john.ronciak@intel.com> Cc: Jesse Brandeburg <jesse.brandeburg@intel.com> Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Cc: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* e1000: integrate ich8 support into driverAuke Kok2006-06-27
| | | | | | | | This hooks up the ich8 structure into the driver itself. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: add ich8lan core functionsAuke Kok2006-06-27
| | | | | | | | | | | | | | | | This implements the core new functions needed for ich8's internal NIC. This includes: * ich8 specific read/write code * flash/nvm access code * software semaphore flag functions * 10/100 PHY (fe - no gigabit speed) support for low-end versions * A workaround for a powerdown sequence problem discovered that affects a small number of motherboard. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: check return value of _get_speed_and_duplexAuke Kok2006-06-27
| | | | | | | | | We were not checking the return value of get_speed_and_duplex properly, whih may contain an error value. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: M88 PHY workaroundAuke Kok2006-06-27
| | | | | | | | | M88 rev 2 PHY needs a longer downshift to function properly. This adds a much longer downshift counter for this specific device. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: fix adapter led blinking inconsistencyAuke Kok2006-06-27
| | | | | | | | | Several e1000 adapters were not blinking correctly or inconsistently. This patch cleans this up and makes them all behave the same as far as possible. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: force register write flushes to circumvent broken platformsAuke Kok2006-06-27
| | | | | | | | | A certain AMD64 bridge (8132) has an option to turn on write combining which breaks our adapter. To circumvent this we need to flush every write. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: remove leading and trailing whitespace.Auke Kok2006-05-23
| | | | | | | Some leading and trailing whitespace made it into the driver code here. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: remove backslash r debug printfsAuke Kok2006-05-23
| | | | | | | | This removes unwanted characters in the debug output that should have never been there. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: Version bump, contact fix, year string changeAuke Kok2006-04-14
| | | | | | | | | | | | | Add the sourceforge project mailinglist to the contact information. Bump version to 7.0.38-k2 Update copyright string with the new year. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com>
* e1000: Added driver comments and whitespace changes. Modified long lines of ↵Jeff Kirsher2006-03-02
| | | | | | | | code to ensure they would not wrap beyond 80 characters. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com>
* e1000: Add support for new hardware (ESB2)Jeff Kirsher2006-03-02
| | | | | | Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com>
* e1000: Fix RSS if enabled in mid-connectionJeff Kirsher2006-03-02
| | | | | | Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com>
* e1000: Fix 82543 issue when reading eepromJeff Kirsher2006-03-02
| | | | | | Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com>