Commit Graph

272 Commits

Author SHA1 Message Date
Stephen Hemminger 585b56012f [PATCH] sky2: turn on tx flow control
Turn symmetric flow control on by default. This was an oversight
in the initial versions.

Signed-off-by: Stephen HEmminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:22 -05:00
Stephen Hemminger d70cd51ac0 [PATCH] sky2: prefetch tuning
Add a couple more prefetches to where we walk the rings.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger 8c463ef792 [PATCH] sky2: quiet ring full message in case of race
Don't print ring full message if we lose race.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger 8cc048e338 [PATCH] sky2: handle tx timeout
Put more logic in to try and handle transmit timeout recovery.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger 69634ee736 [PATCH] sky2: interrupt coalescing tuning
Adjust interrupt deferral values for better performance and avoid
starvation issues under stress.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger 3e4b32e116 [PATCH] sky2: interrupt/poll optimization
Optimize poll routine by not clearing interrupt till after
processing, and checking for more work before re-enable.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger af2a58acb1 [PATCH] sky2: transmit complete routine optimization
Hand optimize transmit completion routine.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger 13b97b74b9 [PATCH] sky2: transmit complete index optimization
Change transmit complete handling to use the status values
in the poll list because they are in-cache, rather than reading
non-cached memory for chips status.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger 0e3ff6aab1 [PATCH] sky2: transmit logic fixes
Some transmit side small fixes:
 * When computing number of list elements per transmit, do full
   comparision to check for checksuming.
 * Get rid of racy check for tx_complete
 * Change stop test to match wake condition.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger 6cdbbdf305 [PATCH] sky2: tx/rx ring data structure split
Split Tx and Rx ring into two different data structures.
Tx needs the next value (to handle partial status), and
Rx always needs the mapaddr (to handle resubmitting same buffer).

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00
Stephen Hemminger 734d186846 [PATCH] sky2: map length optimization
Don't need to keep track of mapping length in ring structure
because we can get the same info from other info.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00
Stephen Hemminger 129372d052 [PATCH] sky2: ring distance optimization
Faster way to compute ring distance.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00
Stephen Hemminger f2e46561cc [PATCH] sky2: no irq disable needed during tx
Don't need to disable interrupts during the transmit routine.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00
Stephen Hemminger 91c86df5a8 [PATCH] sky2: phy processing in workqueue rather than tasklet
Do phy processing in a work queue rather than a tasklet.
This means we can let bottom halves run.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00
Stephen Hemminger fb17358fe3 [PATCH] sky2: ethtool get/set interrupt coalescing
Add support for get/set the interrupt coalescing settings.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00
Stephen Hemminger bdb5c58ebe [PATCH] sky2: copy threshold as module parameter
Make the copy threshold a module parameter for those who
may want to turn it off.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00
Stephen Hemminger 92f965e8c5 [PATCH] sky2: don't die if we see chip rev 0xb5
There maybe new versions of Yukon2 in the future, so make the
driver more robust to handle this.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:19 -05:00
Stephen Hemminger f89c2b4645 [PATCH] sky2: interrupt not cleared.
One of the rearrangements dropped this and it means
sky2 spins in napi/interrupt.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-03 20:29:03 -05:00
shemminger@osdl.org 5f4f9dc113 [PATCH] sky2: update version number
Update version number and print version in boot message.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:20:21 -05:00
shemminger@osdl.org 50241c4c59 [PATCH] sky2: use pci_register_driver
Switch to using pci_register_driver as per current convention.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:20:21 -05:00
shemminger@osdl.org af4ed7e6ba [PATCH] sky2: remove pci-express hacks
Eliminate special case tuning for PCI-Express. This code
causes receive hangs and doesn't help performance much anyway.

Signed-off-by: Stephen Hemminger <shemmnger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:20:21 -05:00
shemminger@osdl.org 2224795d7e [PATCH] sky2: dual port tx completion
Sometimes on dual port cards, one tx complete may cover both
ports. To handle that rearrange poll routine to lookup at
end.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:20:20 -05:00
shemminger@osdl.org 018d1c667e [PATCH] sky2: race with MTU change
Avoid possible race conditions when doing MTU and change and shutdown.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:20:20 -05:00
shemminger@osdl.org 0a12257697 [PATCH] sky2: change netif_rx_schedule_test to __netif_schedule_prep
I didn't like the name netif_rx_schedule_test(), in earlier patches
and changed to __netif_rx_schedule_prep to be more consistent.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:20:20 -05:00
shemminger@osdl.org a018e3305f [PATCH] sky2: handle DMA boundary crossing
Handle the case of DMA spanning 32 bit boundary.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:20:20 -05:00