aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/sky2.c
AgeCommit message (Collapse)Author
2007-04-13sky2: turn on clocks when doing resumeStephen Hemminger
Some of these chips are disabled until clock is enabled. This fixes: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=404107 Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-04-13sky2: turn carrier off when downStephen Hemminger
Driver needs to turn off carrier when down. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-02-26sky2: email and version change.Stephen Hemminger
Put in new email address. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-02-26sky2: add more pci idsStephen Hemminger
Update the pci device id table to match 2.6.20 (except for new 88e807x that is still experimental). Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-02-26sky2: more statsStephen Hemminger
This is a simple enhancement to dump more device statistics with ethtool. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-02-26sky2: fix for use on big endianStephen Hemminger
Ben added this for 2.6.18, it allows sky2 to run on big endian. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-02-26sky2: allow multicast pause framesStephen Hemminger
The 802 standard allows pause frames to be either unicast or multicast. Switches seem to send unicast frames, but on a direct link, other boards send multicast pause. Unless the filter bit is set, these pause frames get dropped. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-02-26sky2: fix ram buffer allocation settingsStephen Hemminger
Different chipsets have different amount of ram buffer (some have none), so need to make sure that driver does proper setup for all cases from 0 on to 48K, in units of 1K. This is a backport of the code from 2.6.19 or later Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-02-22sky2: dual-port pci-x checksum fixStephen Hemminger
Add a workaround for dual port PCI-X card that returns status out of order sometimes because of split transactions. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2007-02-22sky2: fix for NAPI with dual port boardsStephen Hemminger
This driver uses port 0 to handle receives on both ports. So the netif_poll_disable call in dev_close would end up stopping the second port on dual port cards. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-10-13sky2: fix fiber supportStephen Hemminger
Fix support for fiber based devices. Needed to keep track of PMD type to add workaround in setup. Add support for gigabit half duplex fiber. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-10-13sky2: use dev_alloc_skb for receive buffersStephen Hemminger
Several code paths assume an additional 16 bytes of header padding on the receive path. Use dev_alloc_skb to get that padding. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-04-17[PATCH] sky2: bad memory reference on dual port cardsStephen Hemminger
Sky2 driver will oops referencing bad memory if used on a dual port card. The problem is accessing past end of MIB counter space. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-03-09sky2: truncate oversize packetsStephen Hemminger
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>
2006-03-09sky2: force early transmit interruptsStephen Hemminger
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>
2006-03-09sky2: not random enoughStephen Hemminger
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>
2006-02-28[PATCH] sky2: remove MSI supportStephen Hemminger
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>
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>