- Apr 25, 2008
-
-
Jesse Brandeburg authored
Signed-off-by:
Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Wendy Xiong authored
To enable EEH support for pci-express network adapters, pcie/msi state needs to be saved and restored for that adapter. Tested this EEH patch with 2ports and 4ports pci-express e1000e adapters. Signed-off-by:
Wendy Xiong <wendyx@us.ibm.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Auke Kok authored
The lower limit of 80 descriptors in the ring is only valid for one older 8254x chipset. All e1000e devices can use as low as 64 descriptors. Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
David Graham authored
Several components to this complex fix. The es2lan cards occasionally gave a "HW Error" especially when forcing speed. Some users also reported that the BMC stole ARP packets. The fixes include setting the proper SW_FW bits to tell the BMC that we're active and not do any un-initialization at all, so the setup routine is largely changed. Signed-off-by:
David Graham <david.graham@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Auke Kok authored
The ethtool -c / -C interface can now be used to modify the irq moderation algorithm. This change does not require an adapter reset and can thus be used at all times. The adapter only supports changing/reading rx-usecs which has special values for 0, 1 and 3: 0 - no irq moderation whatsoever 1 - normal moderation favoring regular mixed traffic (default) 3 - best attempt at low latency possible at cost of CPU For values between 10 and 10000 the rx-usecs defines "the minimum time between successive irqs" in usec, unlike the module parameter. Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Bruce Allan authored
Several stats registers are completely unused and we just waste pci bus time reading them. We also omit using the high 32 bits of the GORC/ GOTC counters. We can just read clear them and only read the low registers. Mii-tool can also break es2lan if it executes a MII PHY register ioctl while the device is in autonegotiation. Unfortunately it seems that several applications and installations still perform this ioctl call periodically and especially in this crucial startup time. We can fool the ioctl by providing fail safe information that mimics the "down" link state and only perform the dangerous PHY reads once after link comes up to fill in the real values. As long as link stays up the information will not change. Signed-off-by:
Bruce Allan <bruce.w.allan@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by:
Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- Apr 16, 2008
-
-
Bruce Allan authored
The register tests should be run with all the proper flags enabled to maximize the test coverage code and make sure we are as close as we can get to testing regular traffic. Reformat the code for readability. Minor cleanups in the descriptor ring setup. Signed-off-by:
Bruce Allan <bruce.w.allan@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Jeff Kirsher authored
Several minor cosmetic function renames. Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Jeff Kirsher authored
With multiple queues coming into the code these base control registers need to be made into arrays. Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Jeff Kirsher authored
Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- Mar 28, 2008
-
-
Jeff Kirsher authored
This reorganization moves the PHY status into a separate struct. Flow Control setup is moved into this struct as well and frame size away from here into the adapter struct where its inly use is. The post-link-up code is now a separate function and moved out of the watchdog function itself. This allows us to track the es2lan restart issue a bit easier. Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by:
Bruce Allan <bruce.w.allan@intel.com> Signed-off-by:
Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jeff Kirsher authored
Rename this function to be consistent with function naming (verb first) Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Bruce Allan authored
Adjusting the comment blocks here to be code-style compliant. no code changes. Changed some copyright dates to 2008. Indentation fixes. Signed-off-by:
Bruce Allan <bruce.w.allan@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Mar 25, 2008
-
-
Jesse Brandeburg authored
irq_sem can safely be removed by auditing all irq.*able sites to make sure that interrupts don't get enabled unexpectedly when the interface is down. Signed-off-by:
Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Auke Kok authored
This function is no longer used now that 82573 uses the eerd read method as well. Thanks to Adrian Bunk for pointing this out. Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Feb 23, 2008
-
-
Auke Kok authored
Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Auke Kok authored
Fix some spelling errors and inconsistencies in comment blocks. Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jesse Brandeburg authored
this patch avoids a denial of service from an evildoer sending a continuous stream of flow control at our adapter that is plugged into a non-flow control enabled switch. Signed-off-by:
Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jesse Brandeburg authored
Signed-off-by:
Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jesse Brandeburg authored
Signed-off-by:
Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Auke Kok authored
This simplifies the 82571/2/3 family initialization a bit and removes an initialization table no longer needed. Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Feb 15, 2008
-
-
David Graham authored
Users reported that ARP's were lost with e1000e. The problem is fixed by not enabling this manageability configuration bit. None of the release_manageability code is actually needed as the normal device reset during a shutdown returns everthing to the right condition automatically. Signed-off-by:
David Graham <david.graham@intel.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Auke Kok authored
CRC stripping was only correctly enabled for packet split recieves which is used when receiving jumbo frames. Correctly enable SECRC also for normal buffer packet receives. Tested by Andy Gospodarek and Johan Andersson, see bugzilla #9940. Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Feb 11, 2008
-
-
Auke Kok authored
A logic mishap caused the adapter to keep link while we can disable it due to WoL not being active, and vice versa. Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Feb 03, 2008
-
-
Andy Gospodarek authored
There's too much noise on systems that don't support MSI. Let's get rid of a few and make the real error message more specific. Signed-off-by:
Andy Gospodarek <andy@greyhouse.net> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Adrian Bunk authored
This patch makes the needlessly global reg_pattern_test_array() static. Signed-off-by:
Adrian Bunk <bunk@kernel.org> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Mitch Williams authored
Ethtool supports wake-on-ARP and wake-on-link, and so does the hardware supported by e1000e. This patch just introduces the two. Signed-off-by:
Mitch Williams <mitch.a.williams@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jan 28, 2008
-
-
Al Viro authored
Signed-off-by:
Al Viro <viro@zeniv.linux.org.uk> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Joe Perches authored
Add functions for reg_pattern_test and reg_set_and check Changed macros to use these functions Compiled x86, untested Size decreased ~2K old: $ size drivers/net/e1000e/ethtool.o text data bss dec hex filename 14461 0 0 14461 387d drivers/net/e1000e/ethtool.o new: $ size drivers/net/e1000e/ethtool.o text data bss dec hex filename 12498 0 0 12498 30d2 drivers/net/e1000e/ethtool.o Signed-off-by:
Joe Perches <joe@perches.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Auke Kok authored
formerly e1000/e1000e only updated traffic counters once every 2 seconds with the register values of bytes/packets. With newer code however in the interrupt and polling code we can real-time fill in these values in the netstats struct for users to see. Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Auke Kok authored
e1000e will from now on support the PCI-Express adapters that previously were supported by e1000. This support means better performance and easier debugging from now on for both the old PCI-X/PCI hardware and PCI-Express adapters. This patch also moves 3 recently merged device IDs over to e1000e that are identical to quad-port versions of already existing dual port versions. With this last bit every former e1000 pci-e device should work now with e1000e. Here is a brief list of which gigabit driver to use with which adapter: e1000: 82540 -> 82547 e1000e: 82571 -> 82573 ich8, ich9 (82562 or 82566) es2lan (80003eslan) igb: (not yet merged, only available from e1000.sf.net) 82575 Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Auke Kok authored
L1 ASPM link (pci-e link power savings) has significant benefits (~1W savings when link is active) but unfortunately does not work correctly on any of the chipsets that have 82573 on mobile platforms which causes various nuisances: - eeprom reads return garbage information leading to bad eeprom checksums - long ping times (up to 2 seconds) - complete system hangs (freeze/lockup) A lot of T60 owners have been plagued by this, but other mobile solutions also suffer from these symptoms. Disabling L1 ASPM before we activate the PCI-E link fixes all of these issues at the cost of some power consumption. Remove a workaround RDTR adjustment that is no longer needed with this new one. Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Bill Hayes authored
Port alternate MAC address support from the sourceforge e1000 driver to the upstream e1000e driver. Signed-off-by:
Bill Hayes <bill.hayes@hp.com> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Alejandro Martinez Ruiz authored
Convert array size calculations to use ARRAY_SIZE(). Signed-off-by:
Alejandro Martinez Ruiz <alex@flawedcode.org> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Alejandro Martinez Ruiz authored
Using ARRAY_SIZE() on arrays of the form array[][K] makes it unnecessary to know the value of K when checking its size. Signed-off-by:
Alejandro Martinez Ruiz <alex@flawedcode.org> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- Jan 20, 2008
-
-
David S. Miller authored
Several of the Intel ethernet drivers keep an atomic counter used to manage when to actually hit the hardware with a disable or an enable. The way the net_rx_work() breakout logic works during a pending napi_disable() is that it simply unschedules the poll even if it still has work. This can potentially leave interrupts disabled, but that is OK because all of the drivers are about to disable interrupts anyways in all such code paths that do a napi_disable(). Unfortunately, this trips up the semaphore used here in the Intel drivers. If you hit this case, when you try to bring the interface back up it won't enable interrupts. A reload of the driver module fixes it of course. So what we do is make sure all the sequences now go: napi_disable(); atomic_set(&adapter->irq_sem, 0); *_irq_disable(); which makes sure the counter is always in the correct state. Reported by Robert Olsson. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jan 17, 2008
-
-
David S. Miller authored
This fixes a regression added by changeset 53e52c72 ("[NET]: Make ->poll() breakout consistent in Intel ethernet drivers.") As pointed out by Jesse Brandeburg, for three of the drivers edited above there is breakout logic in the *_clean_tx_irq() code to prevent running TX reclaim forever. If this occurs, we have to elide NAPI poll completion or else those TX events will never be serviced. Signed-off-by:
David S. Miller <davem@davemloft.net> Acked-by:
Jesse Brandeburg <jesse.brandeburg@intel.com>
-
- Jan 09, 2008
-
-
David S. Miller authored
This makes the ->poll() routines of the E100, E1000, E1000E, IXGB, and IXGBE drivers complete ->poll() consistently. Now they will all break out when the amount of RX work done is less than 'budget'. At a later time, we may want put back code to include the TX work as well (as at least one other NAPI driver does, but by in large NAPI drivers do not do this). But if so, it should be done consistently across the board to all of these drivers. Signed-off-by:
David S. Miller <davem@davemloft.net> Acked-by:
Auke Kok <auke-jan.h.kok@intel.com>
-
David S. Miller authored
Drivers do this to try to break out of the ->poll()'ing loop when the device is being brought administratively down. Now that we have a napi_disable() "pending" state we are going to solve that problem generically. Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Dec 07, 2007
-
-
Roel Kluin authored
drivers/net/e1000/e1000_ethtool.c:113: #define E1000_TEST_LEN sizeof(e1000_gstrings_test) / ETH_GSTRING_LEN drivers/net/e1000e/ethtool.c:106: #define E1000_TEST_LEN sizeof(e1000_gstrings_test) / ETH_GSTRING_LEN E1000_TEST_LEN*ETH_GSTRING_LEN will expand to sizeof(e1000_gstrings_test) / (ETH_GSTRING_LEN * ETH_GSTRING_LEN) A lack of parentheses around defines causes unexpected results due to operator precedences. Signed-off-by:
Roel Kluin <12o3l@tiscali.nl> Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-