Messages in this thread | | | Subject | Re: IP1000 gigabit nic driver | From | Pekka Enberg <> | Date | Mon, 01 May 2006 12:31:40 +0300 |
| |
On Mon, 2006-05-01 at 00:40 +0100, David Vrabel wrote: > Thanks for doing this Pekka. I've fixed up some stuff and given it some > brief testing on a 100BaseT network and it seems to work now.
Thanks! I merged your stuff and pushed out an updated patch.
Pekka
[PATCH] IP1000 Gigabit Ethernet device driver
This is a cleaned up fork of the IP1000A device driver:
http://www.icplus.com.tw/driver-pp-IP1000A.html
Open issues:
- ipg_probe() looks really fishy and doesn't handle all errors (e.g. ioremap failing). - ipg_nic_do_ioctl() is playing games with user-space pointer. We should use ethtool ioctl instead as suggested by Arjan. - something (PHY reset/auto negotiation?) takes 2-3 seconds and appears to be done with interrupts disabled.
Changelog:
- Kill 2.2 and 2.4 compatability macros - Use proper module API - Use proper PCI API - Use netdev_priv - Consolidate headers to one file - Use __iomem annotations - Use iomap instead of read/out for I/O - Remove obfuscating register access macros - Remove changelogs - Remove ether_crc_le() -- use crc32_le() instead. - No more nonsense with root_dev -- ipg_remove() now works. - Move PHY and MAC address initialization into the ipg_probe(). It was previously filling in the MAC address on open which breaks some user space. - Folded ipg_nic_init into ipg_probe since it was broke otherwise.
I don't have the hardware, so I don't know if I broke anything. The patch is 128 KB in size, so I am not including it in this mail. You can find the patch here:
http://www.cs.helsinki.fi/u/penberg/linux/ip1000-driver.patch
Signed-off-by: David Vrabel <dvrabel@cantab.net> Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |