Commit graph

228 commits

Author SHA1 Message Date
Ayaz Abdulla
ebf34c9b6f forcedeth: fix multi irq issues
This patch fixes the issues with multiple irqs.

I am resending based on feedback. I decoupled the dma mask for
consistent memory and fixed leak with multiple irq in error path.

Thanks to Manfred for catching the spin lock problem.

Signed-Off-By: Ayaz Abdulla <aabdulla@nvidia.com>
2006-05-02 15:26:06 -04:00
Ayaz Abdulla
86a0f04387 [PATCH] forcedeth: fix initialization
This patch fixes the nic initialization. If the nic was in low power
mode, it brings it back to normal power. Also, it utilizes a new
hardware reset during the init.

I am resending based on feedback, I corrected the register size mapping
and delay after posted write.

Signed-Off-By: Ayaz Abdulla <aabdulla@nvidia.com>

Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-04-26 06:19:46 -04:00
Matthias Gehre
910638ae7e [PATCH] Replace 0xff.. with correct DMA_xBIT_MASK
Replace all occurences of 0xff..  in calls to function pci_set_dma_mask()
and pci_set_consistant_dma_mask() with the corresponding DMA_xBIT_MASK from
linux/dma-mapping.h.

Signed-off-by: Matthias Gehre <M.Gehre@gmx.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-28 09:16:07 -08:00
Ayaz Abdulla
d33a73c812 [PATCH] forcedeth: Add support for MSI/MSIX
This forcedeth patch adds support for MSI/MSIX interrupts.

Signed-off-By: Ayaz Abdulla <aabdulla@nvidia.com>

Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-20 05:59:18 -05:00
Ayaz Abdulla
0832b25a75 [PATCH] forcedeth: Add support for 64bit rings
This forcedeth patch adds high dma support for tx/rx rings.

Signed-off-By: Ayaz Abdulla <aabdulla@nvidia.com>

Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-20 05:59:18 -05:00
Ayaz Abdulla
ee407b02f3 [PATCH] forcedeth: Add vlan support
This forcedeth patch adds support for vlan stripping/inserting in hardware.

Signed-off-By: Ayaz Abdulla <aabdulla@nvidia.com>

Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-02-20 05:59:18 -05:00
Ayaz Abdulla
fa45459e5e [PATCH] forcedeth: TSO fix for large buffers
This contains a bug fix for large buffers.  Originally, if a tx buffer to
be sent was larger then the maximum size of the tx descriptor, it would
overwrite other control bits.  In this patch, the buffer is split over
multiple descriptors.  Also, the fragments are now setup in forward order.

Signed-off-by: Ayaz Abdulla <aabdulla@nvidia.com>
Signed-off-by: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-09 10:54:48 -05:00
Manfred Spraul
1836098f97 [PATCH] forcedeth: fix random memory scribbling bug
Two critical bugs were found in forcedeth 0.47:
 - TSO doesn't work.
 - pci_map_single() for the rx buffers is called with size==0.  This bug
   is critical, it causes random memory corruptions on systems with an
   iommu.

Below is a minimal fix for both bugs, for 2.6.15.

TSO will be fixed properly in the next version.  Tested on x86-64.

Signed-Off-By: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-24 11:53:32 -08:00
Ayaz Abdulla
7a33e45a24 [netdrvr forcedeth] phy address scan range
Added phy address 0 to the phy scan.

Signed-off-by: Ayaz Abdulla <aabdulla@nvidia.com>
2005-11-11 08:31:11 -05:00
Ayaz Abdulla
a971c32488 [netdrvr forcedeth] support for irq mitigation
This patch contains support for different modes of interrupt mitigation
of forcedeth. It includes changes based on Jeff's comments. Currently,
the modes are changed through module parameters since ethtool does not
support something similar.

Signed-off-by: Ayaz Abdulla <aabdulla@nvidia.com>
2005-11-11 08:30:38 -05:00
Ayaz Abdulla
4ea7f299bb [netdrvr forcedeth] remove superfluous rx engine stop/start
Signed-off-by: Ayaz Abdulla <aabdulla@nvidia.com>
2005-11-11 08:29:59 -05:00
Ayaz Abdulla
ac9c18974f [netdrvr forcedeth] scatter gather and segmentation offload support
also:
- eliminate use of pointless get_nvpriv() wrapper,
  and use netdev_priv() directly.
- use NETDEV_TX_xxx return codes
2005-10-26 00:51:24 -04:00
Manfred Spraul
8a4ae7f2e2 forcedeth: add hardware tx checksumming
Recent forcedeth nics support checksum offloading for tx.

The attached patch, written by Ayaz Abdulla, adds the support to the
driver.

It also cleans up the handling of the three dma ring entry formats that
are supported by the driver.

Signed-off-By: Manfred Spraul <manfred@colorfullife.com>
Signed-off-By: Jeff Garzik <jgarzik@pobox.com>
2005-09-21 23:22:10 -04:00
John W. Linville
c704b8566b [PATCH] forcedeth: support ETHTOOL_GPERMADDR
Add support for ETHTOOL_GPERMADDR to forcedeth.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-14 08:29:32 -04:00
viro@ftp.linux.org.uk
25097d4bda [PATCH] __user annotations (forcedeth.c)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-06 22:17:12 -04:00
Manfred Spraul
1b1b3c9b6d [PATCH] forcedeth: Initialize link settings in every nv_open()
Rüdiger found a bug in nv_open that explains some of the reports
with duplex mismatches:
nv_open calls nv_update_link_speed for initializing the hardware link speed
registers. If current link setting matches the values in np->linkspeed and
np->duplex, then the function does nothing.
Usually, doing nothing is the right thing, but not in nv_open: During
nv_open, the registers must be initialized because the nic was reset.

The attached patch fixes that by setting np->linkspeed to an invalid value
before calling nv_update_link_speed from nv_open.

Signed-Off-By: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-19 02:12:16 -04:00
Manfred Spraul
b3df9f813b [PATCH] forcedeth: write back original mac address during ifdown
This is a multi-part message in MIME format.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-31 12:59:57 -04:00
Manfred Spraul
72b3178257 [PATCH] forcedeth: Add set_mac_address support
This is a multi-part message in MIME format.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-31 12:59:57 -04:00
Manfred Spraul
ee73362cdd [PATCH] forcedeth: 64-bit DMA support
This is a multi-part message in MIME format.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-31 12:59:56 -04:00
Manfred Spraul
c2dba06dae [PATCH] forcedeth: rewritten tx irq handling
This is a multi-part message in MIME format.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-31 12:59:56 -04:00
Manfred Spraul
dc8216c192 [PATCH] forcedeth: Improve ethtool support
This is a multi-part message in MIME format.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-31 12:59:56 -04:00
Manfred Spraul
d81c0983de [PATCH] forcedeth: Jumbo Frame Support
This is a multi-part message in MIME format.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-07-31 12:59:56 -04:00
Manfred Spraul
f49d16ef2d [PATCH] forcedeth: Add support for new device id
This is a multi-part message in MIME format.
2005-06-27 00:08:29 -04:00
Manfred Spraul
8f767fc83c [PATCH] forcedeth: Poll for link changes
This is a multi-part message in MIME format.
2005-06-27 00:08:29 -04:00
Manfred Spraul
9992d4aa6b [PATCH] forcedeth: add two new pci ids
This is a multi-part message in MIME format.
2005-06-27 00:08:28 -04:00
Manfred Spraul
22c6d143f3 [PATCH] forcedeth: Update error handling
Ayaz wrote an update to the error handling for forcedeth (which I
modified heavily, thus all bugs are mine):
The ERROR4 bit is not a fatal error, it just indicates a mismatch
between the actual packet len and the len according to the 802.3 header.
The patch adds proper handling.
The patch also removes the code that drops all packets with RX_ERROR &
(!RX_FRAMINGERR): ERROR4 errors are also not fatal.
2005-05-15 18:10:01 -04:00
Michal Schmidt
2918c35d31 [PATCH] forcedeth: netpoll support 2005-05-12 19:42:06 -04:00
Linus Torvalds
1da177e4c3 Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
2005-04-16 15:20:36 -07:00