summaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.c
Commit message (Collapse)AuthorAgeFilesLines
* sky2: truncate oversize packetsStephen Hemminger2006-03-091-5/+11
| | | | | | | Turn on truncation to prevent getting choked by frames larger than expected. Without this fix, driver hangs after receiving an oversize packet. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
* sky2: force early transmit interruptsStephen Hemminger2006-03-091-4/+9
| | | | | | | | | | Avoid premature transmit ring full conditions. Force a transmit status interrupt if transmit ring gets nearly full and after a TSO send. Allow more entries in transmit ring to be used if dma_addr is 32 bits Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
* sky2: not random enoughStephen Hemminger2006-03-091-2/+1
| | | | | | | Don't use sky2 to seed random pool beacause the network packet arrival time will not be truly random due to NAPI and interrupt mitigation. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
* [PATCH] sky2: remove MSI supportStephen Hemminger2006-02-281-77/+0
| | | | | | | | | | | | Remove Message Signaled Interrupt support (for 2.6.16). MSI is inherently edge-triggered and that is incompatiable (without more work) with NAPI. In future, will replace with smarter lockless-IRQ handling like tg3.c Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] sky2: close race on IRQ mask update.Stephen Hemminger2006-02-231-6/+15
| | | | | | | | 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>
* [PATCH] sky2: use device iomem to access PCI configStephen Hemminger2006-02-231-48/+33
| | | | | | | | | | 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>
* [PATCH] sky2: force early transmit statusStephen Hemminger2006-02-231-8/+6
| | | | | | | | | | | 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>
* [PATCH] sky2: poke coalescing timer to fix hangStephen Hemminger2006-02-231-0/+11
| | | | | | | | | 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>
* [PATCH] sky2: limit coalescing values to ring sizeStephen Hemminger2006-02-231-3/+3
| | | | | | | | 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>
* [PATCH] sky2: yukon-ec-u chipset initializationStephen Hemminger2006-02-231-9/+41
| | | | | | | 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>
* [PATCH] sky2: speed setting fixStephen Hemminger2006-02-171-1/+30
| | | | | | | | | | | | | | 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>
* [PATCH] sky2: version 0.15 updateStephen Hemminger2006-02-071-6/+1
| | | | | | | | 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>
* [PATCH] sky2: support msi interrupt (revised)Stephen Hemminger2006-02-071-0/+77
| | | | | | | | 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>
* [PATCH] sky2: add irq to entropy poolStephen Hemminger2006-02-071-1/+2
| | | | | | | 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>
* [PATCH] sky2: clear irq raceStephen Hemminger2006-02-071-3/+3
| | | | | | | | 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>
* [PATCH] sky2: set mac address fixStephen Hemminger2006-02-071-5/+10
| | | | | | | | | | | | | | | | | | | 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>
* [PATCH] sky2: ethtool rx_coalesce settings fixStephen Hemminger2006-02-071-1/+1
| | | | | | | | | 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>
* [PATCH] sky2: pci config space checkingStephen Hemminger2006-02-071-9/+22
| | | | | | | | | | | | 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>
* [PATCH] sky2: power management fixStephen Hemminger2006-02-071-20/+25
| | | | | | | | | 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>
* [PATCH] sky2: 0.13 versionStephen Hemminger2006-01-171-1/+1
| | | | Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] sky2: more conservative transmit lockingStephen Hemminger2006-01-171-12/+31
| | | | | | | | 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>
* [PATCH] sky2: don't inline so muchStephen Hemminger2006-01-171-6/+6
| | | | | | | | 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>
* [PATCH] sky2: use kzallocStephen Hemminger2006-01-171-2/+1
| | | | | | | Can use kzalloc here. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] sky2: ratelimit error messagesStephen Hemminger2006-01-171-17/+27
| | | | | | | | 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>
* [PATCH] sky2: optimize for 32 bit dmaStephen Hemminger2006-01-171-2/+2
| | | | | | | | 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>
* [PATCH] sky2: don't bother clearing status ring elementsStephen Hemminger2006-01-171-5/+2
| | | | | | | 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>
* [PATCH] sky2: write barrier'sStephen Hemminger2006-01-171-3/+2
| | | | | | | | 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>
* [PATCH] sky2: fix ram buffer for Yukon FE rev 2Stephen Hemminger2006-01-171-22/+30
| | | | | | | | | | 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>
* [PATCH] sky2: version 0.12Stephen Hemminger2006-01-171-1/+1
| | | | | | | Version update. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] sky2: call pci_set_consistent_dma_maskStephen Hemminger2006-01-171-6/+11
| | | | | | | | 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>
* [PATCH] sky2: receive buffer alignmentStephen Hemminger2006-01-171-7/+23
| | | | | | | | | 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>
* [PATCH] sky2: version 0.11Stephen Hemminger2005-12-241-1/+1
| | | | | | | Version number change. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] sky2: handle hardware packet overrunStephen Hemminger2005-12-241-0/+9
| | | | | | | | 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>
* [PATCH] sky2: don't lose multicast addressesStephen Hemminger2005-12-241-2/+2
| | | | | | | | 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>
* [PATCH] sky2: handle out of memory on admin changesStephen Hemminger2005-12-241-32/+52
| | | | | | | | 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>
* [PATCH] sky2: version 0.10Stephen Hemminger2005-12-121-1/+1
| | | | | | | | 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>
* [PATCH] sky2: disable rx checksum on Yukon XLStephen Hemminger2005-12-121-1/+7
| | | | | | | | | 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>
* [PATCH] sky2: turn on tx flow controlStephen Hemminger2005-12-121-1/+1
| | | | | | | | 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>
* [PATCH] sky2: prefetch tuningStephen Hemminger2005-12-121-0/+3
| | | | | | | 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>
* [PATCH] sky2: quiet ring full message in case of raceStephen Hemminger2005-12-121-3/+8
| | | | | | | 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>
* [PATCH] sky2: handle tx timeoutStephen Hemminger2005-12-121-3/+14
| | | | | | | 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>
* [PATCH] sky2: interrupt coalescing tuningStephen Hemminger2005-12-121-15/+11
| | | | | | | | 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>
* [PATCH] sky2: interrupt/poll optimizationStephen Hemminger2005-12-121-4/+2
| | | | | | | | 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>
* [PATCH] sky2: transmit complete routine optimizationStephen Hemminger2005-12-121-19/+16
| | | | | | | Hand optimize transmit completion routine. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] sky2: transmit complete index optimizationStephen Hemminger2005-12-121-16/+19
| | | | | | | | | 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>
* [PATCH] sky2: transmit logic fixesStephen Hemminger2005-12-121-4/+3
| | | | | | | | | | | 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>
* [PATCH] sky2: tx/rx ring data structure splitStephen Hemminger2005-12-121-11/+13
| | | | | | | | | 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>
* [PATCH] sky2: map length optimizationStephen Hemminger2005-12-121-29/+28
| | | | | | | | 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>
* [PATCH] sky2: ring distance optimizationStephen Hemminger2005-12-121-1/+1
| | | | | | | Faster way to compute ring distance. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] sky2: no irq disable needed during txStephen Hemminger2005-12-121-13/+9
| | | | | | | 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>
OpenPOWER on IntegriCloud