summaryrefslogtreecommitdiffstats
path: root/drivers/net/skge.c
AgeCommit message (Collapse)AuthorFilesLines
2006-07-02[PATCH] irq-flags: drivers/net: Use the new IRQF_ constantsThomas Gleixner1-1/+1
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: "David S. Miller" <davem@davemloft.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-30Remove obsolete #include <linux/config.h>Jörn Engel1-1/+0
Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-06-27[PATCH] 64bit resource: fix up printks for resources in networks driversGreg Kroah-Hartman1-2/+2
This is needed if we wish to change the size of the resource structures. Based on an original patch from Vivek Goyal <vgoyal@in.ibm.com> Cc: Vivek Goyal <vgoyal@in.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-23[NET]: Avoid allocating skb in skb_padHerbert Xu1-2/+1
First of all it is unnecessary to allocate a new skb in skb_pad since the existing one is not shared. More importantly, our hard_start_xmit interface does not allow a new skb to be allocated since that breaks requeueing. This patch uses pskb_expand_head to expand the existing skb and linearize it if needed. Actually, someone should sift through every instance of skb_pad on a non-linear skb as they do not fit the reasons why this was originally created. Incidentally, this fixes a minor bug when the skb is cloned (tcpdump, TCP, etc.). As it is skb_pad will simply write over a cloned skb. Because of the position of the write it is unlikely to cause problems but still it's best if we don't do it. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
2006-06-08[PATCH] skge: version 1.6Stephen Hemminger1-1/+1
Update version string. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-06-08[PATCH] skge: dont allow bad hardware address from ROMStephen Hemminger1-0/+8
Sometimes boards don't reset properly, and the address read out of the EEPROM is zero. Stop the insanity before the device gets registered. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-06-08[PATCH] skge: transmit complete via IRQ not NAPIStephen Hemminger1-70/+101
The transmit side code has a number of ring problems that caused some of the Bugzilla reports. Rather than trying to fix the details, it is safer to rewrite the code that handles transmit completion and freeing. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-06-08[PATCH] skge: TX low water mark definitionStephen Hemminger1-3/+4
Consolidate all usage of ring low water mark to one value. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-06-08[PATCH] skge: use workq for PHY handlingStephen Hemminger1-23/+23
Since accessing the PHY can take 100's of usecs, use a work queue to allow spinning in outside of soft/hard irq. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-05-20[PATCH] skge: don't allow transmit ring to be too smallStephen Hemminger1-1/+1
The driver will get stuck (permanent transmit timeout), if the transmit ring size is set too small. It needs to have enough ring elements to hold one maximum size transmit. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-05-20[PATCH] skge: bad checksums on big-endian platformsStephen Hemminger1-2/+1
Skge driver always causes bad checksums on big-endian. The checksum in the receive control block was being swapped when it doesn't need to be. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-05-20[PATCH] Subjec: sky2, skge: correct PCI id for DGE-560TStephen Hemminger1-2/+1
The Dlink DGE-560T uses Yukon2 chipset so it needs sky2 driver; and the DGE-530T uses Yukon1 so it uses skge driver. Bug: http://bugzilla.kernel.org/show_bug.cgi?id=6544 Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-04-12[PATCH] dlink pci cards using wrong driverStephen Hemminger1-0/+2
This patch fixes the problem of some Dlink cards picking the wrong driver. It looks like these cards use Yukon 1 chipset, not Yukon 2. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-23[PATCH] skge: version 1.5Stephen Hemminger1-1/+1
Update version to allow tracking of complaints. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-23[PATCH] skge: compute available ring buffersStephen Hemminger1-10/+10
Don't need to keep track of available buffers, it is simpler to just compute the value (ala e1000). Don't need tes on link up because should always have available buffers then. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-23[PATCH] skge: dont free skb until multi-part transmit completeStephen Hemminger1-35/+38
Don't free transmit buffers until the whole set of transmit descriptors has been marked as done. Otherwise, we risk freeing a skb before the whole transmit is done. This changes the transmit completion handling from incremental to a two pass algorithm. First pass scans and records the start of the last done descriptor, second cleans up until that point. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-23[PATCH] skge: multicast statistics fixStephen Hemminger1-1/+1
Fix count of multicast packets. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-23[PATCH] skge: rx_reuse called twiceStephen Hemminger1-3/+2
In the error case we call skge_rx_reuse twice. This is harmless but unnecessary. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-23[PATCH] skge: dont use dev_alloc_skb for rx buffsStephen Hemminger1-3/+3
The skge driver was using dev_alloc_skb which reserves space for the Ethernet header. This unnecessary and it should just use alloc_skb, also by using GFP_KERNEL during startup it won't run into problems when a user asks for a huge ring size or mtu and potentially drains the reserved atomic pool. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-23[PATCH] skge: align receive buffersStephen Hemminger1-1/+2
The skge driver aligns the header on the initial receive buffers, but but doesn't on followon receive buffer allocations. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] skge: version 1.4Stephen Hemminger1-1/+1
Update version number Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] skge: handle pci errors betterStephen Hemminger1-21/+30
When a PCI error occurs, try and report more info. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] skge: formmating and whitespace cleanupStephen Hemminger1-12/+18
Reformat some code to make it easier to read. And whitespace fixes. Signed-off-by: Stephen Hemminger <sheminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] skge: use mmiowbStephen Hemminger1-1/+5
Add mmio barriers at the appropriate places, don't have a platform that needs them, but this is where the documentation of the patch says to add them. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] skge: use kcallocStephen Hemminger1-2/+1
Use kcalloc when allocating ring data structure. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] skge: dma configuration cleanupStephen Hemminger1-14/+10
Cleanup of the part of the code that sets up DMA configuration. Should cause no real change in operation, just clearer. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] skge: check the allocation of ring bufferStephen Hemminger1-1/+9
The SysKonnect Genesis and Yukon chip sets have restrictions on the possible control block area. The memory needs to not cross 4 Gig boundary, and it needs to be 8 byte aligned. This patch checks and fails to bring the device up if region is unacceptable. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] skge: use auto masking of irqsStephen Hemminger1-33/+21
Improve performance of skge driver by not touching irq mask register as much. Since the interrupt source auto-masks, the driver can just leave it disabled until the end of the soft irq. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] skge: use NAPI for tx cleanup.Stephen Hemminger1-55/+44
Cleanup transmit buffers using NAPI. This allows the transmit routine to leave interrupts enabled, and that improves performance. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-02-23skge: protect interrupt maskStephen Hemminger1-7/+14
There is a race between updating the irq mask and setting it which can be triggered on SMP with a bad cable. Similar patch from Ingo Molnar and Thomas Gleixner Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23skge: genesis phy initialzationStephen Hemminger1-11/+26
The SysKonnect Genesis based board would fail on initialization with phy_read errors caused by not waiting for last phy write. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-23skge: NAPI/irq race fixStephen Hemminger1-12/+5
Fix a race in the receive NAPI, irq handling. The interrupt clear and the start need to be separated. Otherwise there is a window between the last frame received and the NAPI done level handling. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2006-02-17[PATCH] skge: speed settingStephen Hemminger1-1/+9
This is a clone of John Linville's fixed for speed setting on sky2 driver. The skge driver has the same code (and bug). It would not allow manually forcing 100 and 10 mbit. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-17[PATCH] skge: fix dma mask setup.Stephen Hemminger1-5/+15
There are a couple of problems in the DMA setup code for skge. * In the 64 bit case, it doesn't set the consistent mask. * In the 32 bit case, the error check is backwards! It likely will only be visible as a bug on 64 bit platforms. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-04Merge branch 'upstream-linus' of ↵Linus Torvalds1-31/+49
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
2006-01-03[INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.hArnaldo Carvalho de Melo1-0/+1
To help in reducing the number of include dependencies, several files were touched as they were getting needed headers indirectly for stuff they use. Thanks also to Alan Menegotto for pointing out that net/dccp/proto.c had linux/dccp.h include twice. Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-24[PATCH] skge: error handling on resumeStephen Hemminger1-2/+2
Also have to handle out of memory condition on resume. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24[PATCH] skge: version number (1.3)Stephen Hemminger1-1/+1
Enough changes for one version. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24[PATCH] skge: handle out of memory on ring parameter changeStephen Hemminger1-1/+4
If changing ring parameters is unable to allocate memory, we need to return an error and take the device down. Fixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=5715 Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24[PATCH] skge: handle out of memory on MTU size changesStephen Hemminger1-6/+16
Changing the MTU size causes the receiver to have to reallocate buffers. If this allocation fails, then we need to return an error, and take the device offline. It can then be brought back up or reconfigured for a smaller MTU. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24[PATCH] skge: avoid up/down on pause param changesStephen Hemminger1-4/+2
Change the pause settings doesn't need to cause link to go down/up. It can be handled by the phy_reset code. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24[PATCH] skge: avoid up/down on speed changesStephen Hemminger1-17/+24
Change the speed settings doesn't need to cause link to go down/up. It can be handled by doing the same logic as nway_reset. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-13[netdrvr skge] fix buildJeff Garzik1-1/+1
2005-12-12[PATCH] skge: get rid of warning on raceStephen Hemminger1-4/+6
Get rid of warning in case of race with ring full and lockless tx on the skge driver. It is possible to be in the transmit routine with no available slots and already stopped. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01[netdrvr skge] fix typo, fix buildJeff Garzik1-1/+1
2005-12-01[PATCH] skge: handle VLAN checksum correctly on yukon rev 0Stephen Hemminger1-3/+1
If using UDP over VLAN, with the skge driver there is a possibility of generating an incorrect checksum. This is a unlikely occurrence because it is only an issue on Yukon revision 0, and that revision doesn't seem to exist on any current hardware (probably early prototype). Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-08[PATCH] skge: increase version numberStephen Hemminger1-2/+2
Increase the driver version number and print version when probing. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-08[PATCH] skge: spelling fixesStephen Hemminger1-14/+14
Fix some of my bad spelling. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-08[PATCH] skge: use prefetch on receiveStephen Hemminger1-7/+15
Use prefetch() in the interrupt path to try and look ahead at the next place will be looking at in the ring. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-08[PATCH] skge: goto low power mode on shutdownStephen Hemminger1-8/+20
Go into power down mode on shutdown. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>