aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/sky2.c
AgeCommit message (Collapse)Author
2006-02-23[PATCH] sky2: close race on IRQ mask update.Stephen Hemminger
Need to avoid race in updating IRQ mask. This can probably be replaced smarter use of the interrupt control registers (if/when chipset docs are available). Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23[PATCH] sky2: use device iomem to access PCI configStephen Hemminger
To avoid problems with PCI config access without ACPI (or busted ACPI tables), use the device's window into PCI config space. I know this probably will upset the purists, but I would rather have users than ACPI testers. It also generates less code. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23[PATCH] sky2: force early transmit statusStephen Hemminger
Need to force a transmit coalesce timer restart after processing transmit packets. Otherwise, can get transmit status after last update and chip doesn't send the next one. Can go with the chip defaults for coalescing timers, except for Tx timer which needs to be bigger. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23[PATCH] sky2: poke coalescing timer to fix hangStephen Hemminger
Need to restart the interrupt coalescing timer after clearing the interrupt, to avoid races with interrupt timer and processing. Patch from Carl-Daniel Halfinger Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23[PATCH] sky2: limit coalescing values to ring sizeStephen Hemminger
Don't allow coalescing values to be bigger than the transmit ring. Since if you set them that big, the interrupt never happens and driver livelocks. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23[PATCH] sky2: yukon-ec-u chipset initializationStephen Hemminger
Add more complete setup code for Yukon EC_U chipset. Based on matching code in 8.31 code in SysKonnect vendor driver. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-17[PATCH] sky2: speed setting fixStephen Hemminger
Users report problems w/ auto-negotiation disabled and the link set to 100/Half or 10/Half. Problems range from poor performance to no link at all. The current sky2 code does not set things properly on link up if autonegotiation is disabled. Plus it does not contemplate a 10Mbit setting at all. This patch corrects that. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-07[PATCH] sky2: version 0.15 updateStephen Hemminger
Increase version, and get rid of out-dated comment. Speed setting has worked for quite a while. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-07[PATCH] sky2: support msi interrupt (revised)Stephen Hemminger
This hardware supports Message Signaled interrupts. When setting up, use software interrupt to check for bad hardware. Signed-off-by: Stephen Hemminger <shemminger @osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-07[PATCH] sky2: add irq to entropy poolStephen Hemminger
The sky2 interrupt can be used to add entropy. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-07[PATCH] sky2: clear irq raceStephen Hemminger
Move the interrupt clear to before processing, this avoids a possible races with status delaying. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-07[PATCH] sky2: set mac address fixStephen Hemminger
Using the sky2 driver with bonding can result in oopses related to reinitializing the PHY when the MAC address is changed (which bonding is wont to do). This patch changes sky2_set_mac_address to take less drastic measures. This is analagous to the skge patch here: http://lkml.org/lkml/2005/9/29/399 which fixed the issue here: http://bugzilla.kernel.org/show_bug.cgi?id=5271 Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-07[PATCH] sky2: ethtool rx_coalesce settings fixStephen Hemminger
This fixes setting rx_coalesce_usecs_irq via ethtool in sky2. The write was directed to the wrong register. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-07[PATCH] sky2: pci config space checkingStephen Hemminger
There were bugs in mmconfig access to PCI space, up to and include 2.6.16-rc1. These prevented the sky2 driver from being able to clear PCI express errors. This patch makes the driver check (during probe), for errors in PCI config access and fail. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-07[PATCH] sky2: power management fixStephen Hemminger
Fix suspend/resume for sky2. The status ring was getting reallocated and a bunch of other mistakes. Also, check return from power_state on resume. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17[PATCH] sky2: 0.13 versionStephen Hemminger
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17[PATCH] sky2: more conservative transmit lockingStephen Hemminger
Be more careful about transmit locking, this solves a possible race between tx_complete and transmit, that would cause a tx timeout. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17[PATCH] sky2: don't inline so muchStephen Hemminger
Don't need to inline quite so many routines, let the compiler decide Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17[PATCH] sky2: use kzallocStephen Hemminger
Can use kzalloc here. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17[PATCH] sky2: ratelimit error messagesStephen Hemminger
Make sure and rate limit all the error messages that might occur. If a problem occurs then a few messages are enough. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17[PATCH] sky2: optimize for 32 bit dmaStephen Hemminger
Small optimization, if dma addresses are 32 bits, then high bits are always zero. Signed-off-by: Stephen Hemminger <shemminger@osdl.or> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17[PATCH] sky2: don't bother clearing status ring elementsStephen Hemminger
Don't need to zero out the status ring entries after processing. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17[PATCH] sky2: write barrier'sStephen Hemminger
Be more careful about memory barriers. The only place we really need them is before and after updating the chip's ring interface. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17[PATCH] sky2: fix ram buffer for Yukon FE rev 2Stephen Hemminger
Fix problems with Yukon FE rev 2 chipset. Don't cut and paste bugs in from sk98lin driver. Change how the ram buffer is divided up, and make the math clearer. Also, set the thresholds where rx takes precedence. The threshold values are just guesses at this point, it might be worth tuning them later. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17[PATCH] sky2: version 0.12Stephen Hemminger
Version update. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17[PATCH] sky2: call pci_set_consistent_dma_maskStephen Hemminger
Need to call pci_set_consistent_dma_mask in the case of 64 bit DMA. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17[PATCH] sky2: receive buffer alignmentStephen Hemminger
Need to make sure that sky2 receive buffers are 64 bit aligned. Also, don't need to start off with GFP_ATOMIC on initial setup. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24[PATCH] sky2: version 0.11Stephen Hemminger
Version number change. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24[PATCH] sky2: handle hardware packet overrunStephen Hemminger
It is possible for hardware to get confused when an oversized frame is received. In that case, just drop the packet and increment a counter. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24[PATCH] sky2: don't lose multicast addressesStephen Hemminger
Don't lose multicast addresses when link goes down or ring parameters change. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24[PATCH] sky2: handle out of memory on admin changesStephen Hemminger
Don't die if we run out of memory on mtu or ring parameter change. For other admin operations, don't rebuild Rx ring, just restart the PHY. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12[PATCH] sky2: version 0.10Stephen Hemminger
Change version number. Still don't have enough history on this to call it 1.0 yet. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12[PATCH] sky2: disable rx checksum on Yukon XLStephen Hemminger
Under load, my SysKonnect SK-9S22 sees duplicate checksums from earlier packets. Doesn't happen on other platforms so just disable receive checksum there. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
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>