aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/sky2.c
AgeCommit message (Collapse)Author
2005-12-12[PATCH] sky2: turn on tx flow controlStephen Hemminger
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[PATCH] sky2: prefetch tuningStephen Hemminger
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[PATCH] sky2: quiet ring full message in case of raceStephen Hemminger
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[PATCH] sky2: handle tx timeoutStephen Hemminger
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[PATCH] sky2: interrupt coalescing tuningStephen Hemminger
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[PATCH] sky2: interrupt/poll optimizationStephen Hemminger
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[PATCH] sky2: transmit complete routine optimizationStephen Hemminger
Hand optimize transmit completion routine. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12[PATCH] sky2: transmit complete index optimizationStephen Hemminger
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[PATCH] sky2: transmit logic fixesStephen Hemminger
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[PATCH] sky2: tx/rx ring data structure splitStephen Hemminger
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[PATCH] sky2: map length optimizationStephen Hemminger
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[PATCH] sky2: ring distance optimizationStephen Hemminger
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[PATCH] sky2: no irq disable needed during txStephen Hemminger
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[PATCH] sky2: phy processing in workqueue rather than taskletStephen Hemminger
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[PATCH] sky2: ethtool get/set interrupt coalescingStephen Hemminger
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[PATCH] sky2: copy threshold as module parameterStephen Hemminger
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[PATCH] sky2: don't die if we see chip rev 0xb5Stephen Hemminger
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-03[PATCH] sky2: interrupt not cleared.Stephen Hemminger
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-01[PATCH] sky2: update version numbershemminger@osdl.org
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[PATCH] sky2: use pci_register_drivershemminger@osdl.org
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[PATCH] sky2: remove pci-express hacksshemminger@osdl.org
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[PATCH] sky2: dual port tx completionshemminger@osdl.org
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[PATCH] sky2: race with MTU changeshemminger@osdl.org
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[PATCH] sky2: change netif_rx_schedule_test to __netif_schedule_prepshemminger@osdl.org
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[PATCH] sky2: handle DMA boundary crossingshemminger@osdl.org
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[PATCH] sky2: add Yukon-EC ultra supportshemminger@osdl.org
Add support for Yukon-EC Ultra chip as implemented in SysKonnect's driver version 8.26. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01[PATCH] sky2: improve receive performanceshemminger@osdl.org
Changes to receive side processing: * bigger receive ring * clean up polling loop Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01[PATCH] sky2: fix receive flush/pause issuesshemminger@osdl.org
Fix issues with pause and flush. This code works on all chip versions tested. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01[PATCH] sky2: add MII supportshemminger@osdl.org
Add MII ioctl interface to sky2. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01[PATCH] sky2: eliminate special case for EC-A1shemminger@osdl.org
Eliminate special case for EC-A1. The overhead isn't so great that having config option is worth it. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-11[PATCH] sky2 needs dma_mapping.hAndrew Morton
On alpha: drivers/net/sky2.c: In function `sky2_probe': drivers/net/sky2.c:2819: error: `DMA_64BIT_MASK' undeclared (first use in this function) drivers/net/sky2.c:2819: error: (Each undeclared identifier is reported only once drivers/net/sky2.c:2819: error: for each function it appears in.) drivers/net/sky2.c:2825: error: `DMA_32BIT_MASK' undeclared (first use in this function) Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28[PATCH] sky2: version 0.7shemminger@osdl.org
Change version number Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28[PATCH] sky2: fix NAPI and receive handlingshemminger@osdl.org
Speed up the receive and interrupt processing and eliminate a couple of race conditions from NAPI code. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28[PATCH] sky2: spelling fixesshemminger@osdl.org
Cosmetic cleanup's: mostly spelling fixes etc. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28[PATCH] sky2: use kzallocshemminger@osdl.org
Can use kzalloc to save a little code. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-04[PATCH] sky2: add permanent address support.Stephen Hemminger
Add permanent address support Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-28[PATCH] sky2: nway reset (BONUS FEATURE)Stephen Hemminger
Here is support for ethtool controlled renegotiation. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-28[PATCH] sky2: version 0.6shemminger@osdl.org
Verion number change, comment update and one simple optimization Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-28[PATCH] sky2: explicit set power stateshemminger@osdl.org
Add better power management, and power down the chip on device removal Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-28[PATCH] sky2: add hardware VLAN acceleration supportshemminger@osdl.org
Use the hardware to do VLAN. Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-28[PATCH] sky2: cleanup interrupt processingshemminger@osdl.org
The receive processing can be cleaned up by not using local variables to store checksum status, instead just put it directly onto the expected skb. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-28[PATCH] sky2: changing mtu doesn't have to reset linkshemminger@osdl.org
Changing the MTU of the network device doesn't mean the whole link has to be brought down and back up again. Just stopping the receive engine is good enough. Signed-off-by: Stephen Hemminger <shmminger @osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-21[PATCH] sky2: version 0.5Stephen Hemminger
Bump version (we are half way to a stable driver??) Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-21[PATCH] sky2: allow ethtool debug access to all of PCI spaceStephen Hemminger
For debugging, it is useful to allow ethtool to dump all of the PCI mapped space. There is one small set of registers for RAM diagnostics that needs to be avoided to prevent hanging, but all the rest is accessible. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-21[PATCH] sky2: fix FIFO DMA alignment problemsStephen Hemminger
The Yukon2 chip FIFO has a problem recovering from a pause frame if the receive buffer is not aligned. The workaround is to just leave receive buffer at original alignment, which will make IP header unaligned. Rework receive logic for clarity. Need to ignore receive overrun interrupts (or mac hangs). These fixes make the sky2 driver generally usable. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-16[PATCH] sky2: driver update.Stephen Hemminger
Here is revised patch against netdev sky2 branch. It includes whitespace fixes, all the changes from the previous review as well as some optimizations and timing fixes to solve some of the hangs. The stall problem is better but not perfect. It appears that under stress the chip can't keep up with the bus and sends a pause frame, then hangs. This version is for testing, and hopefully other eyes might see the root cause of the problem. I don't want to reinvent the ugly watchdog code in the syskonnect version of sk98lin. If you read it you will see, the original driver writer and the hardware developer obviously didn't understand each other. Dual port support is included, but not tested yet. It did require small change to NAPI since both ports share same IRQ. Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-17[PATCH] sky2: new experimental Marvell Yukon2 driverStephen Hemminger
New driver for the Marvell Yukon2 Gigabit Ethernet chipset. This driver is based on the skge driver, but using the logic from the SysKonnect version of the sk98lin driver. It should support all the Yukon2 chipsets that are available in many current Intel and AMD motherboards. The driver does support ethtool, tx and rx checksum, and tcp segmentation offload. But it has only been tested for a short while and is known to stop receiving under heavy load. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>