diff options
Diffstat (limited to 'drivers/net/forcedeth.c')
-rw-r--r-- | drivers/net/forcedeth.c | 53 |
1 files changed, 43 insertions, 10 deletions
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index 4ebcd052e150..64f0f697c958 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c | |||
@@ -82,6 +82,9 @@ | |||
82 | * 0.31: 14 Nov 2004: ethtool support for getting/setting link | 82 | * 0.31: 14 Nov 2004: ethtool support for getting/setting link |
83 | * capabilities. | 83 | * capabilities. |
84 | * 0.32: 16 Apr 2005: RX_ERROR4 handling added. | 84 | * 0.32: 16 Apr 2005: RX_ERROR4 handling added. |
85 | * 0.33: 16 May 2005: Support for MCP51 added. | ||
86 | * 0.34: 18 Jun 2005: Add DEV_NEED_LINKTIMER to all nForce nics. | ||
87 | * 0.35: 26 Jun 2005: Support for MCP55 added. | ||
85 | * | 88 | * |
86 | * Known bugs: | 89 | * Known bugs: |
87 | * We suspect that on some hardware no TX done interrupts are generated. | 90 | * We suspect that on some hardware no TX done interrupts are generated. |
@@ -93,7 +96,7 @@ | |||
93 | * DEV_NEED_TIMERIRQ will not harm you on sane hardware, only generating a few | 96 | * DEV_NEED_TIMERIRQ will not harm you on sane hardware, only generating a few |
94 | * superfluous timer interrupts from the nic. | 97 | * superfluous timer interrupts from the nic. |
95 | */ | 98 | */ |
96 | #define FORCEDETH_VERSION "0.32" | 99 | #define FORCEDETH_VERSION "0.35" |
97 | #define DRV_NAME "forcedeth" | 100 | #define DRV_NAME "forcedeth" |
98 | 101 | ||
99 | #include <linux/module.h> | 102 | #include <linux/module.h> |
@@ -2005,7 +2008,9 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i | |||
2005 | /* handle different descriptor versions */ | 2008 | /* handle different descriptor versions */ |
2006 | if (pci_dev->device == PCI_DEVICE_ID_NVIDIA_NVENET_1 || | 2009 | if (pci_dev->device == PCI_DEVICE_ID_NVIDIA_NVENET_1 || |
2007 | pci_dev->device == PCI_DEVICE_ID_NVIDIA_NVENET_2 || | 2010 | pci_dev->device == PCI_DEVICE_ID_NVIDIA_NVENET_2 || |
2008 | pci_dev->device == PCI_DEVICE_ID_NVIDIA_NVENET_3) | 2011 | pci_dev->device == PCI_DEVICE_ID_NVIDIA_NVENET_3 || |
2012 | pci_dev->device == PCI_DEVICE_ID_NVIDIA_NVENET_12 || | ||
2013 | pci_dev->device == PCI_DEVICE_ID_NVIDIA_NVENET_13) | ||
2009 | np->desc_ver = DESC_VER_1; | 2014 | np->desc_ver = DESC_VER_1; |
2010 | else | 2015 | else |
2011 | np->desc_ver = DESC_VER_2; | 2016 | np->desc_ver = DESC_VER_2; |
@@ -2215,56 +2220,84 @@ static struct pci_device_id pci_tbl[] = { | |||
2215 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_4, | 2220 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_4, |
2216 | .subvendor = PCI_ANY_ID, | 2221 | .subvendor = PCI_ANY_ID, |
2217 | .subdevice = PCI_ANY_ID, | 2222 | .subdevice = PCI_ANY_ID, |
2218 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ, | 2223 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, |
2219 | }, | 2224 | }, |
2220 | { /* nForce3 Ethernet Controller */ | 2225 | { /* nForce3 Ethernet Controller */ |
2221 | .vendor = PCI_VENDOR_ID_NVIDIA, | 2226 | .vendor = PCI_VENDOR_ID_NVIDIA, |
2222 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_5, | 2227 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_5, |
2223 | .subvendor = PCI_ANY_ID, | 2228 | .subvendor = PCI_ANY_ID, |
2224 | .subdevice = PCI_ANY_ID, | 2229 | .subdevice = PCI_ANY_ID, |
2225 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ, | 2230 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, |
2226 | }, | 2231 | }, |
2227 | { /* nForce3 Ethernet Controller */ | 2232 | { /* nForce3 Ethernet Controller */ |
2228 | .vendor = PCI_VENDOR_ID_NVIDIA, | 2233 | .vendor = PCI_VENDOR_ID_NVIDIA, |
2229 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_6, | 2234 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_6, |
2230 | .subvendor = PCI_ANY_ID, | 2235 | .subvendor = PCI_ANY_ID, |
2231 | .subdevice = PCI_ANY_ID, | 2236 | .subdevice = PCI_ANY_ID, |
2232 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ, | 2237 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, |
2233 | }, | 2238 | }, |
2234 | { /* nForce3 Ethernet Controller */ | 2239 | { /* nForce3 Ethernet Controller */ |
2235 | .vendor = PCI_VENDOR_ID_NVIDIA, | 2240 | .vendor = PCI_VENDOR_ID_NVIDIA, |
2236 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_7, | 2241 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_7, |
2237 | .subvendor = PCI_ANY_ID, | 2242 | .subvendor = PCI_ANY_ID, |
2238 | .subdevice = PCI_ANY_ID, | 2243 | .subdevice = PCI_ANY_ID, |
2239 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ, | 2244 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, |
2240 | }, | 2245 | }, |
2241 | { /* CK804 Ethernet Controller */ | 2246 | { /* CK804 Ethernet Controller */ |
2242 | .vendor = PCI_VENDOR_ID_NVIDIA, | 2247 | .vendor = PCI_VENDOR_ID_NVIDIA, |
2243 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_8, | 2248 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_8, |
2244 | .subvendor = PCI_ANY_ID, | 2249 | .subvendor = PCI_ANY_ID, |
2245 | .subdevice = PCI_ANY_ID, | 2250 | .subdevice = PCI_ANY_ID, |
2246 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ, | 2251 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, |
2247 | }, | 2252 | }, |
2248 | { /* CK804 Ethernet Controller */ | 2253 | { /* CK804 Ethernet Controller */ |
2249 | .vendor = PCI_VENDOR_ID_NVIDIA, | 2254 | .vendor = PCI_VENDOR_ID_NVIDIA, |
2250 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_9, | 2255 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_9, |
2251 | .subvendor = PCI_ANY_ID, | 2256 | .subvendor = PCI_ANY_ID, |
2252 | .subdevice = PCI_ANY_ID, | 2257 | .subdevice = PCI_ANY_ID, |
2253 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ, | 2258 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, |
2254 | }, | 2259 | }, |
2255 | { /* MCP04 Ethernet Controller */ | 2260 | { /* MCP04 Ethernet Controller */ |
2256 | .vendor = PCI_VENDOR_ID_NVIDIA, | 2261 | .vendor = PCI_VENDOR_ID_NVIDIA, |
2257 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_10, | 2262 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_10, |
2258 | .subvendor = PCI_ANY_ID, | 2263 | .subvendor = PCI_ANY_ID, |
2259 | .subdevice = PCI_ANY_ID, | 2264 | .subdevice = PCI_ANY_ID, |
2260 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ, | 2265 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, |
2261 | }, | 2266 | }, |
2262 | { /* MCP04 Ethernet Controller */ | 2267 | { /* MCP04 Ethernet Controller */ |
2263 | .vendor = PCI_VENDOR_ID_NVIDIA, | 2268 | .vendor = PCI_VENDOR_ID_NVIDIA, |
2264 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_11, | 2269 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_11, |
2265 | .subvendor = PCI_ANY_ID, | 2270 | .subvendor = PCI_ANY_ID, |
2266 | .subdevice = PCI_ANY_ID, | 2271 | .subdevice = PCI_ANY_ID, |
2267 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ, | 2272 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, |
2273 | }, | ||
2274 | { /* MCP51 Ethernet Controller */ | ||
2275 | .vendor = PCI_VENDOR_ID_NVIDIA, | ||
2276 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_12, | ||
2277 | .subvendor = PCI_ANY_ID, | ||
2278 | .subdevice = PCI_ANY_ID, | ||
2279 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, | ||
2280 | }, | ||
2281 | { /* MCP51 Ethernet Controller */ | ||
2282 | .vendor = PCI_VENDOR_ID_NVIDIA, | ||
2283 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_13, | ||
2284 | .subvendor = PCI_ANY_ID, | ||
2285 | .subdevice = PCI_ANY_ID, | ||
2286 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, | ||
2287 | }, | ||
2288 | { /* MCP55 Ethernet Controller */ | ||
2289 | .vendor = PCI_VENDOR_ID_NVIDIA, | ||
2290 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_14, | ||
2291 | .subvendor = PCI_ANY_ID, | ||
2292 | .subdevice = PCI_ANY_ID, | ||
2293 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, | ||
2294 | }, | ||
2295 | { /* MCP55 Ethernet Controller */ | ||
2296 | .vendor = PCI_VENDOR_ID_NVIDIA, | ||
2297 | .device = PCI_DEVICE_ID_NVIDIA_NVENET_15, | ||
2298 | .subvendor = PCI_ANY_ID, | ||
2299 | .subdevice = PCI_ANY_ID, | ||
2300 | .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, | ||
2268 | }, | 2301 | }, |
2269 | {0,}, | 2302 | {0,}, |
2270 | }; | 2303 | }; |