Commit Graph

220 Commits

Author SHA1 Message Date
Auke Kok
f1b3a85354 e1000: fix adapter led blinking inconsistency
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>
2006-06-27 09:07:56 -07:00
Auke Kok
7dfee0cb1d e1000: disable CRC stripping workaround
CRC stripping is breaking SMBUS-connected BMC's. We disable this
feature to make it work. This fixes related bugs regarding SOL.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-06-27 09:07:50 -07:00
Auke Kok
4ca213a695 e1000: force register write flushes to circumvent broken platforms
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>
2006-06-27 09:07:08 -07:00
Auke Kok
17231712ab e1000: rework module param code with uninitialized values
We can take uninitialized values into account which minimizes code
and allows us to simplify the parameter checking code greatly.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-06-27 09:06:59 -07:00
Auke Kok
864c4e45ec e1000: recycle skb
Recycle an skb to improve performance a bit.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-06-27 09:06:53 -07:00
Auke Kok
a5eafce2ce e1000: change printk into DPRINTK
Changing a printk message to make clear that this message is originating
from e1000.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-06-27 09:06:49 -07:00
Auke Kok
9a53a20298 e1000: add smart power down code
Smart Power Down is a power saving feature in newer e1000 hardware. We
disable it because it causes time to link to be long, but make it a
user choice.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-06-27 09:06:45 -07:00
Auke Kok
0cbabbb072 e1000: small performance tweak by removing double code
buffer_info is already filled at the end of this while() loop.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-06-27 09:06:41 -07:00
Auke Kok
6fdfef1624 e1000: fix CONFIG_PM blocks
e1000_suspend is called even when !CONFIG_PM. The non-PM code inside of it
is properly #ifdef'd. This fixes the compiler warnings when !CONFIG_PM.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-06-27 09:06:36 -07:00
Auke Kok
79f05bf0ba e1000: Make PHY powerup/down a function
In relation to the irq work done earlier we also move the PHY powerup
and powerdown functions into separate functions and move the calls to
_close and _open, making the PHY stay in it's power state as long as
the device is _up.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-06-27 09:06:32 -07:00
Auke Kok
2db10a081c e1000: rework driver hardware reset locking
After studying the driver mac reset code it was found that there
were multiple race conditions possible to reset the unit twice or
bring it e1000_up() double. This fixes all occurences where the
driver needs to reset the mac.

We also remove irq requesting/releasing into _open and _close so
that while the device is _up we will never touch the irq's. This fixes
the double free irq bug that people saw.

To make sure that the watchdog task doesn't cause another race we let
it run as a non-scheduled task.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-06-27 09:06:28 -07:00
Auke Kok
acfbc9fde2 e1000: fix loopback ethtool test
Ethtool was reporting that loopback failed randomly on esb2
systems. Upon study it was found that the phy manual was changed
with respect to the loopback mode bits. The new value fixes it.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-06-27 09:06:24 -07:00
Herbert Xu
7967168cef [NET]: Merge TSO/UFO fields in sk_buff
Having separate fields in sk_buff for TSO/UFO (tso_size/ufo_size) is not
going to scale if we add any more segmentation methods (e.g., DCCP).  So
let's merge them.

They were used to tell the protocol of a packet.  This function has been
subsumed by the new gso_type field.  This is essentially a set of netdev
feature bits (shifted by 16 bits) that are required to process a specific
skb.  As such it's easy to tell whether a given device can process a GSO
skb: you just have to and the gso_type field and the netdev's features
field.

I've made gso_type a conjunction.  The idea is that you have a base type
(e.g., SKB_GSO_TCPV4) that can be modified further to support new features.
For example, if we add a hardware TSO type that supports ECN, they would
declare NETIF_F_TSO | NETIF_F_TSO_ECN.  All TSO packets with CWR set would
have a gso_type of SKB_GSO_TCPV4 | SKB_GSO_TCPV4_ECN while all other TSO
packets would be SKB_GSO_TCPV4.  This means that only the CWR packets need
to be emulated in software.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-06-23 02:07:29 -07:00
Linas Vepstas
282f33c986 [PATCH] e1000: prevent statistics from getting garbled during reset
If a PCI bus error/fault triggers a PCI bus reset, attempts to get the
ethernet packet count statistics from the hardware will fail, returning
garbage data upstream.  This patch skips statistics data collection if the
PCI device is not on the bus.

This patch presumes that an earlier patch,
[PATCH] PCI Error Recovery: e1000 network device driver
has already been applied.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: John Ronciak <john.ronciak@intel.com>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-06-11 10:35:15 -04:00
Auke Kok
a487a8f7b6 e1000: prevent statistics from garbling during bus resets
If a PCI bus error/fault triggers a PCI bus reset, attempts to get
the ethernet packet count statistics from the hardware will fail,
returning garbage data upstream.  This patch skips statistics data
collection if the PCI device is not on the bus.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Acked-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-06-09 11:29:03 -07:00
Jeff Garzik
cac925a4aa Merge branch 'upstream' of git://lost.foo-projects.org/~ahkok/git/netdev-2.6 into tmp 2006-06-08 15:56:17 -04:00
Jeff Garzik
bcd618e4ea Merge branch 'upstream-fixes' into upstream
Conflicts:

	drivers/net/e1000/e1000_ethtool.c
2006-06-08 15:55:45 -04:00
Auke Kok
9026729bfe e1000: add PCI Error Recovery
Various PCI bus errors can be signaled by newer PCI controllers.
This patch adds the PCI error recovery callbacks to the intel gigabit
ethernet e1000 device driver. The patch has been tested, and appears
to work well.

Signed-off-by: Linas Vepstas <linas@linas.org>
Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-06-08 09:30:24 -07:00
Auke Kok
24f476eeec e1000: remove risky prefetch on next_skb->data
It was brought to our attention that the prefetches break e1000 traffic
on xscale/arm architectures.  Remove them for now.  We'll let them
stay in mm for a while, or find a better solution to enable.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-06-08 09:28:47 -07:00
Auke Kok
b9b6e78b11 e1000: fix ethtool test irq alloc as "probe"
New code added in 2.6.17 caused setup_irq to print a warning when
running ethtool -t eth0 offline.

This test marks the request_irq call made by this test as a "probe"
to see if the interrupt is shared or not.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-06-08 09:28:38 -07:00
Auke Kok
80871e63e4 e1000: add shutdown handler back to fix WOL
Someone was waaay too aggressive and removed e1000's reboot notifier
instead of porting it to the new way of the shutdown handler.  This change
broke wake on lan.  Add the shutdown handler back in using the same method
as e100 uses.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>

(cherry picked from c653e6351e commit)
2006-05-26 21:31:56 -04:00
Alexey Dobriyan
6082823632 [PATCH] e1000: endian fixes
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: "Ronciak, John" <john.ronciak@intel.com>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Acked-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-05-26 21:29:09 -04:00
Auke Kok
440c052d6f e1000: bump version to 7.0.38-k4
Signed-off-by: Auke Kok <auke.jan.h.kok@intel.com>
2006-05-23 13:36:19 -07:00
Auke Kok
fdf35d3c49 e1000: remove changelog in driver
This honours the request to remove the changelog in the driver code.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-05-23 13:36:14 -07:00
Auke Kok
a1943b5a79 e1000: Fix date string in Makefile
I forgot to update the date string in the Makefile last time.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-05-23 13:36:10 -07:00
Auke Kok
76c224bc9f e1000: remove leading and trailing whitespace.
Some leading and trailing whitespace made it into the driver code here.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-05-23 13:36:06 -07:00
Auke Kok
a42a507cd3 e1000: remove backslash r debug printfs
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>
2006-05-23 13:36:01 -07:00
Auke Kok
c653e6351e e1000: add shutdown handler back to fix WOL
Someone was waaay too aggressive and removed e1000's reboot notifier
instead of porting it to the new way of the shutdown handler.  This change
broke wake on lan.  Add the shutdown handler back in using the same method
as e100 uses.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-05-23 13:35:57 -07:00
Auke Kok
bcb49197ed e1000: Update truesize with the length of the packet for packet split
Update skb with the real packet size.


Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
2006-04-25 22:50:04 -07:00
Auke Kok
1cb5821f44 e1000: fix mismerge skb_put.
Seems there was a bit of a fix needed to due a bad merge in the legacy
receive path.  Fixes a panic due to skb_over_panic.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-04-18 12:31:04 -07:00
Auke Kok
dc86d32ab5 e1000: fix mispatch for media type detect.
Recent patch was mismerged in the miitool path. e1000_media_type_copper
was being compared with the phy type instead of the media type.


Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
2006-04-18 12:30:51 -07:00
Auke Kok
3d41e30aa3 e1000: Version bump, contact fix, year string change
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>
2006-04-14 19:05:31 -07:00
Auke Kok
77b2aad5b4 e1000: implement more efficient tx queue locking
Implement more efficient locking (avoid the lock) when checking for
a stopped queue.  Also don't wake the queue unless the threshold is
reached to avoid queue on/off thrash.


Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
2006-04-14 19:05:25 -07:00
Auke Kok
9e2feace1a e1000: Buffer optimizations for small MTU
Remove multi-descriptor support from legacy recieve path

Add memory usage efficiency by using more correct size descriptors for
small MTU sizes and optimize using LPE for <= 1522 byte frame sizes

An extra performance fix that effected our TCP window size growth
as a receiver.  Set our initial buffer to be 128 bytes instead of 256
to prevent over-socket charge when truesize is computed in the stack.
old way: truesize = 256 + l1 = 256 + 1460 = 1716
new way: truesize = 128 + l1 = 128 + 1460 = 1588
The magic value that we can't cross is 1648.


Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
2006-04-14 19:05:18 -07:00
Auke Kok
6fc7a7eca7 e1000: Dead variable cleanup
Removal of unused rx_dropped counter.

Removed reference to E1000_CTRL_EXT_CANC which is no longer valid,
replaced with E1000_CTRL_EXT_INT_TIMER_CLR


Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
2006-04-14 19:05:12 -07:00
Auke Kok
5d51b80f92 e1000: Update truesize with the length of the packet for packet split
Update skb with the real packet size.


Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
2006-04-14 19:05:06 -07:00
Auke Kok
fe7fe28ea5 e1000: Made an adapter struct variable into a local (txb2b)
Made an adapter struct variable into a local (txb2b)


Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
2006-04-14 19:04:59 -07:00
Auke Kok
e619d52349 e1000: De-inline functions to benefit from compiler smartness
De-inline functions to benefit from compiler smartness


Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
2006-04-14 19:04:52 -07:00
Auke Kok
4cc15f5499 e1000: Esb2 wol link cycle bug and uninitialized registers
Esb2 link didn't return after wol disable. The code previously assumed
that writing reset to PHY_CTRL phy register turned the phy back on.
In the ESB2 phy case that didn't occur.

Add ESB2 to acquire/release_hw functions upon review it was
discovered that esb2 was skipped on these functions


Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
2006-04-14 19:04:46 -07:00
Auke Kok
d0e027db78 e1000: Remove PM warning DPRINTKs breaking 2.4.x kernels
remove DPRINTKs that were printing warnings about power management on
2.4 kernels.  Since we really don't react differently these printk
statements are not needed.  This code was originally added to fix
some compile time warnings that got fixed by newer kernels.


Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
2006-04-14 19:04:40 -07:00
Eric Sesterhenn
5d9428de1a BUG_ON() Conversion in drivers/net/
this changes if() BUG(); constructs to BUG_ON() which is
cleaner, contains unlikely() and can better optimized away.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-04-02 13:52:48 +02:00
Stephen Hemminger
1533306186 [NET]: dev_put/dev_hold cleanup
Get rid of the old __dev_put macro that is just a hold over from pre 2.6
kernel.  And turn dev_hold into an inline instead of a macro.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-03-20 22:32:28 -08:00
Jeff Garzik
abc71c46dc Merge branch 'upstream-fixes' 2006-03-16 19:27:08 -05:00
David S. Miller
c3d7a3a4eb [PATCH] e1000 endianness bugs
return -E_NO_BIG_ENDIAN_TESTING;

[E1000]: Fix 4 missed endianness conversions on RX descriptor fields.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-16 19:17:38 -05:00
Adrian Bunk
30dcbf29cc [PATCH] drivers/net/e1000/: proper prototypes
This patch moves prototypes of global variables and functions to a header
file.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: John Ronciak <john.ronciak@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11 21:49:49 -05:00
Jeff Garzik
b962697b79 Merge branch 'e1000-upstream' of git://198.78.49.142/linux-2.6 2006-03-11 13:35:49 -05:00
Jeff Garzik
749dfc7055 Merge branch 'upstream-fixes' 2006-03-11 13:35:31 -05:00
David S. Miller
9e927fb618 [PATCH] Wrong return value corrupts free object in e1000 driver
For some reason, E1000's ->hard_start_xmit() routine returns -EFAULT
instead of one of the NETDEV_TX_* error codes.  In fact, it frees up
the SKB before returning this.  This makes the queueing layer think
the packet should be requeued and subsequently we corrupt a freed
object.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11 13:25:17 -05:00
Jeff Kirsher
cb764326df e1000: Fix mii-tool access to setting speed and duplex
Paul Rolland reported that e1000 was having a hard time using mii-tool to set speed and duplex.  This patch fixes the issue on both newer hardware as well as fixing the code issue that originally caused the problem.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2006-03-08 17:24:12 -08:00
Jeff Kirsher
0f15a8fae8 e1000: Added driver comments and whitespace changes. Modified long lines of 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>
2006-03-02 18:46:29 -08:00
Jeff Kirsher
30320be88f e1000: Added a performance enhancement - prefetch
- this implementation of prefetch was tested on new and old hardware

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>
2006-03-02 18:21:57 -08:00
Jeff Kirsher
dc7c6add34 e1000: Add copybreak when using packet split
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>
2006-03-02 18:21:40 -08:00
Jeff Kirsher
8704163987 e1000: Fixed the following issues with ESB2 (requires ESB2 support):
- Add restriction for ESB2 to MTU size <=9216
- Removed FIFO errors which were not being used
- Fixed issues with loopback
- Power management change for saving state and config space
- WA to disable recieves and reset device on link loss.  Reset needed to be done outside the interrupt context - modified existing tx_timeout_task

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>
2006-03-02 18:21:24 -08:00
Jeff Kirsher
6418ecc68e e1000: Add support for new hardware (ESB2)
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>
2006-03-02 18:21:10 -08:00
Jeff Kirsher
2a1af5d7df e1000: Add performance enahancement by balancing TX and RX
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>
2006-03-02 18:20:43 -08:00
Jeff Kirsher
85b22eb632 e1000: Add enabled Jumbo frame support for 82573L
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>
2006-03-02 18:20:29 -08:00
Jeff Kirsher
9f68788856 e1000: Add 82573 controller support to TSO fix
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>
2006-03-02 18:20:17 -08:00
Jeff Kirsher
329bfd0b6d e1000: Fix filling skb descriptors while using packet split
-  Simplified by calling skb_fill_page_desc(), which is more efficient.

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>
2006-03-02 18:20:02 -08:00
Jeff Kirsher
7e6c9861bb e1000: Fix network problems when forced at 100Mb/s and to fix TSO when forced at 100Mb/s
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>
2006-03-02 18:19:30 -08:00
Jeff Kirsher
8491682986 e1000: Fix Quadport Wake on LAN
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>
2006-03-02 18:18:48 -08:00
Jeff Kirsher
8df06e504e e1000: Fix RSS if enabled in mid-connection
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>
2006-03-02 18:18:32 -08:00
Jeff Kirsher
497fce5e72 e1000: Fix 82543 issue when reading eeprom
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>
2006-03-02 18:18:20 -08:00
Jeff Kirsher
20a44028f0 e1000: Fix dhcp issue when the skb structure fields are not filled properly
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>
2006-03-02 18:18:08 -08:00
Jeff Kirsher
c5f226fe97 e1000: Fix AMT losing connectivity when switching VLAN in passive mode
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>
2006-03-02 18:17:55 -08:00
Jeff Kirsher
5b66ba0db8 e1000: Fix unecessary delay for 82573 controllers
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>
2006-03-02 18:17:30 -08:00
Jeff Kirsher
0989aa4316 e1000: Fix lock up while setting ring parameters
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>
2006-03-02 18:17:16 -08:00
Jeff Kirsher
9f644d518f e1000: Fix dead counters
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>
2006-03-02 18:16:59 -08:00
Jeff Kirsher
c1605eb37a e1000: Remove Multiqueue code until we have support for MSI-X in our hardware
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>
2006-03-02 18:16:38 -08:00
Jeff Kirsher
a1415ee655 [PATCH] e1000: revert to single descriptor for legacy receive path
A recent patch attempted to enable more efficient memory usage by using
only 2kB descriptors for jumbo frames.  The method used to implement this
has since been commented upon as "illegal" and in recent kernels even
causes a BUG when receiving ip fragments while using jumbo frames.
This patch simply goes back to the way things were.  We expect some
complaints due to order 3 allocations failing to come back due to this
change.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
2006-02-28 20:24:07 -08:00
Jesse Brandeburg
7c4d33675f [PATCH] e1000: fix compile warning
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-18 16:17:58 -05:00
Jesse Brandeburg
86c3d59ff5 [PATCH] e1000: fix receive breakage
in attempting to not send the "prefetch" patch, we broke the receive code,
this patch fixes that issue.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-18 16:17:58 -05:00
Jesse Brandeburg
73629bbc84 [PATCH] e1000: Added driver comments
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-18 16:17:58 -05:00
Jesse Brandeburg
96838a40f0 [PATCH] e1000: Fix whitespace
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-18 16:17:58 -05:00
Jesse Brandeburg
6150f03815 [PATCH] e1000: Added functions declarations
Added e1000_mc_addr_list_update
Added e1000_read_reg_io
Added e1000_enable_pciex_master

These are not static functions, that is why we have them declared in the header.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-18 16:17:57 -05:00
Jesse Brandeburg
2f82665fe5 [PATCH] e1000: Added functions to save and restore config
These functions help restore the driver to active configuration when coming out of resume for power management.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-18 16:17:57 -05:00
Jesse Brandeburg
b92ff8ee57 [PATCH] e1000: Added RX buffer enhancements
Align the prefetches to a dword to help speed them up.
Recycle skb's and early replenish.
Force memory writes to complete before fetching more descriptors.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-18 16:17:57 -05:00
Jesse Brandeburg
35ec56bb78 [PATCH] e1000: Added disable packet split capability
Adds the ability to disability packet split at compile time and use the legacy receive path on PCI express hardware.  Made this a CONFIG option and modified the Kconfig, to reflect the new option.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-18 16:17:57 -05:00
Jeff Kirsher
38bd3b2629 [PATCH] e1000: Removed unused variables and initialized variables
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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:51:04 -05:00
Jeff Kirsher
8241e35e0c [PATCH] e1000: Cleaned up code and removed hard coded numbers
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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:51:03 -05:00
Jeff Kirsher
a292ca6efb [PATCH] e1000: Added copy break code
Improves small packet performance with large amounts of reassembly being done in the stack.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:51:03 -05:00
Jeff Kirsher
240b1710f5 [PATCH] e1000: Added variable to handle return values for pci_enable_* functions
This was to fix compilation warnings.  Also added log messages when pci_enable_* functions return with an error.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:48:04 -05:00
Jeff Kirsher
fb3d47d4c4 [PATCH] e1000: Added PCIe bus information
This is two patches, the first is adding additional bus information for the 8257{1|2|3} controllers.  The second patch was orginally a community patch to print bus type/speed/width, and enhanced by us.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:48:04 -05:00
Jeff Kirsher
a2917e22dc [PATCH] e1000: Added firmware version reporting for 8257{1|2|3} controllers
The EEPROM image version is reported as a firmware version for these controllers.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:48:04 -05:00
Jeff Kirsher
b7ee49db8b [PATCH] e1000: Added hardware support for PCI express, 82546GB, and 82571 Fiber
Added 82571 fiber to WOL fix for dual port adapters.
Added support for 82546GB (Quad Copper).
Added PCIe typedef for x2, igp cable length 115, and extended TX CTRL registers.
Added parity error detection and PCIe CTRL registers.
Added EEPROM config registers.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:48:04 -05:00
Jeff Kirsher
72d64a4367 [PATCH] e1000: Added cleaned_count to RX buffer allocation
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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:48:03 -05:00
Jeff Kirsher
1e613fd9d6 [PATCH] e1000: Added interrupt auto mask support
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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:48:03 -05:00
Jeff Kirsher
e8da8be146 [PATCH] e1000: Fix Netpoll issue
Fixed an issue netpoll would error out during communication, generating the following error:
--netdump[14973]: Got toomany timeouts in handshaking, ...
Even after a kernel panic, netpoll requires two way communication to successfully transfer the crash log to the remote server.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:48:03 -05:00
Jeff Kirsher
ce7393b935 [PATCH] e1000: Fixed frame size logic
Simplified the logic used to assign the frame_size.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:48:03 -05:00
Jeff Kirsher
ff14701350 [PATCH] e1000: Fix VLAN support
Fixed VLAN support by switching control over to the firmware.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:48:02 -05:00
Jeff Kirsher
d74bbd3bbf [PATCH] e1000: Fix __pskb_pull_tail
Fixed by moving code to correct location (for 82572 and 82571 controllers).

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:48:02 -05:00
Jeff Kirsher
0fadb0597d [PATCH] e1000: Fix collision distance
Fixed the collision distance for 82543 controllers and newer.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:44:51 -05:00
Jeff Kirsher
47028635d1 [PATCH] e1000: Fix bit 22 (TXDCTL) for 82571 & 82572 controllers
Removed duplicate code, TXDCTL and TXDCTL_COUNT_DESC are the same bit and there is no need to set it twice.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:44:51 -05:00
Jeff Kirsher
f5645110aa [PATCH] e1000: Fix desc. clean up
These were two separate community submitted patches.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:44:51 -05:00
Jeff Kirsher
392137fa9b [PATCH] e1000: Fix TX timeout logic
Fixed the TX timeout logic to use "end of packet" rather than "next to clean".  Updated message log.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:44:50 -05:00
Jeff Kirsher
997f5cbdde [PATCH] e1000: Fix Desc. Rings and Jumbo Frames
This patch contains two fixes.  The first fix is to the tx and rx descriptor rings clean up process.  The second fix is to jumbo frames, which cleans up the code logic and removes most of the fifo related limitations on jumbo frames.  This is because the driver code now supports splitting a packet across multiple descriptors.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:44:50 -05:00
Jeff Kirsher
66a2b0a30f [PATCH] e1000: Fix TX queue length based on link speed
10/100 speeds seem to have some problems reporting false tx timeouts especially at half duplex.  Fixed by using a timeout factor to attempt to mitigate the false timeouts.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:44:50 -05:00
Jeff Kirsher
f11b7f8535 [PATCH] e1000: Fix flow control water marks
Fixed flow control water marks based on PBA size.
Store flow control state in original_fc in addition to fc.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:44:50 -05:00
Jeff Kirsher
4d351858e4 [PATCH] e1000: Fix EEPROM read logic
Fixed read_eeprom logic to test use_eerd instead of testing for 82573 controllers.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:44:50 -05:00
Jeff Kirsher
526f99572e [PATCH] e1000: Fix PHY reset when blocked
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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:44:49 -05:00
Jeff Kirsher
492731632c [PATCH] e1000: Fix loopback logic
Fixed the loopback logic to work for the PCI express adapters.

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>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17 07:44:49 -05:00