summaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000/e1000_main.c
Commit message (Collapse)AuthorAgeFilesLines
* e100, e1000, ixgb: update copyright header and remove LICENSEAuke Kok2006-09-271-18/+17
| | | | | | | | This update to the copyright header adds the mailinglist, and aligns it with the kernel licensing as well as remove the offending 'all rights reserved'. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* Merge branch 'upstream-linus' of ↵Linus Torvalds2006-09-241-62/+92
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (217 commits) net/ieee80211: fix more crypto-related build breakage [PATCH] Spidernet: add ethtool -S (show statistics) [NET] GT96100: Delete bitrotting ethernet driver [PATCH] mv643xx_eth: restrict to 32-bit PPC_MULTIPLATFORM [PATCH] Cirrus Logic ep93xx ethernet driver r8169: the MMIO region of the 8167 stands behin BAR#1 e1000, ixgb: Remove pointless wrappers [PATCH] Remove powerpc specific parts of 3c509 driver [PATCH] s2io: Switch to pci_get_device [PATCH] gt96100: move to pci_get_device API [PATCH] ehea: bugfix for register access functions [PATCH] e1000 disable device on PCI error drivers/net/phy/fixed: #if 0 some incomplete code drivers/net: const-ify ethtool_ops declarations [PATCH] ethtool: allow const ethtool_ops [PATCH] sky2: big endian [PATCH] sky2: fiber support [PATCH] sky2: tx pause bug fix drivers/net: Trim trailing whitespace [PATCH] ehea: IBM eHEA Ethernet Device Driver ... Manually resolved conflicts in drivers/net/ixgb/ixgb_main.c and drivers/net/sky2.c related to CHECKSUM_HW/CHECKSUM_PARTIAL changes by commit 84fa7933a33f806bbbaae6775e87459b1ec584c0 that just happened to be next to unrelated changes in this update.
| * [PATCH] e1000 disable device on PCI errorLinas Vepstas2006-09-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A recent patch in -mm3 titled "gregkh-pci-pci-don-t-enable-device-if-already-enabled.patch" causes pci_enable_device() to be a no-op if the kernel thinks that the device is already enabled. This change breaks the PCI error recovery mechanism in the e1000 device driver, since, after PCI slot reset, the card is no longer enabled. This is a trivial fix for this problem. Tested. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: John Ronciak <john.ronciak@intel.com> Cc: Jesse Brandeburg <jesse.brandeburg@intel.com> Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Acked-by: Auke Kok <auke-jan.h.kok@intel.com> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] e1000: revert 'e1000: Remove 0x1000 as supported device'Auke-Jan H Kok2006-09-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The commit 'e1000: Remove 0x1000 as supported device' (Jeff Kirsher, 673a052fde79ab5e9dce569b0336358812ddba2d) Removes PIC device ID 8086:1000 from the list of supported devices. A fix was submitted for the original issue (commit 6a9516989f94df10d9a27ba543c6b53b3e69c84a). This commit reverts commit 673a052fde79ab5e9dce569b0336358812ddba2d and re-enables 82542rev3 chips completely. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * Merge branch 'upstream-fixes' into upstreamJeff Garzik2006-09-121-4/+4
| |\
| * | e1000: Increment driver version to 7.2.7-k2Auke Kok2006-08-311-1/+1
| | | | | | | | | | | | Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * | e1000: clean up skb allocation codeChristoph Hellwig2006-08-311-11/+6
| | | | | | | | | | | | | | | | | | Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * | e1000: Add PCI ID 0x10a4 for our new 4-port PCI-Express deviceJesse Brandeburg2006-08-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Device 0x10a4 is a double 82571 on a single PCI-Express card and has 4 gigabit capable ports. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * | e1000: unify WoL capability detection codeJesse Brandeburg2006-08-311-13/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | WoL is constantly giving problems and needed a rewrite. Consolidates all WoL capabilities into a single function, and disables WoL for all other ports on the device except for port A. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * | e1000: remove unused part_num reading codeAuke Kok2006-08-281-2/+0
| | | | | | | | | | | | | | | | | | | | | Remove the code that reads part_num from the EEPROM. This part number is never displayed or queryable by the user. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * | e1000: error out if we cannot enable PCI device on resumeAuke Kok2006-08-281-2/+5
| | | | | | | | | | | | | | | | | | Do not ignore errors returned by pci_enable_device, instead error out. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * | e1000: ring buffers resources cleanupVasily Averin2006-08-281-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Memory leak was found in 2.6.18-rc4 and e1000 7.2.7 from sourceforge: We should free resources allocated for previous rings if following allocation fails. Signed-off-by: Vasily Averin <vvs@sw.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * | e1000: e1000_probe resources cleanupVasily Averin2006-08-281-16/+28
| | | | | | | | | | | | | | | | | | | | | | | | Fix resources cleanup in e1000_probe() Signed-off-by: Vasily Averin <vvs@sw.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * | e1000: IRQ resources cleanupVasily Averin2006-08-281-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | irq leak was found in 2.6.18-rc4 and e1000 7.2.7 from sourceforge: if e1000_up fails in e1000_open() we do not free allocated irq Signed-off-by: Vasily Averin <vvs@sw.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * | e1000: Whitespace cleanup, cosmetic changesAuke Kok2006-08-281-3/+2
| | | | | | | | | | | | Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * | Merge branch 'upstream-fixes' of ↵Jeff Garzik2006-08-241-6/+3
| |\ \ | | | | | | | | | | | | git://lost.foo-projects.org/~ahkok/git/netdev-2.6 into tmp
| | * | e1000: Increment driver version to 7.1.9-k6Auke Kok2006-08-161-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: Disable aggressive clocking on esb2 with SERDES portJeff Kirsher2006-08-161-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disable aggressive clocking on esb2 with SERDES port as it causes hardware problems. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: Explicitly power up the PHY during loopback testing.Jesse Brandeburg2006-08-161-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: Remove 0x1000 as supported deviceJeff Kirsher2006-08-161-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove pci ID 8086:1000 from the list fo supported devices. This device has not functioned with the driver for very long (since v. 5.2.4!) and we lack the resources to come with a substantial fix. There are only few cards of this type out there. Signed-off-by: Jeff Kirsher <Jeffrey.t.kirsher@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: Same cosmetic fix as earlier sent out for IPV4.Auke Kok2006-08-161-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * | | drivers/net: Remove deprecated use of pci_module_init()Jeff Garzik2006-08-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | From: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Signed-off-by: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | | [NET]: Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETEPatrick McHardy2006-09-221-4/+4
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace CHECKSUM_HW by CHECKSUM_PARTIAL (for outgoing packets, whose checksum still needs to be completed) and CHECKSUM_COMPLETE (for incoming packets, device supplied full checksum). Patch originally from Herbert Xu, updated by myself for 2.6.18-rc3. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | [PATCH] e1000: fix TX timout hang regression for 82542rev3Auke Kok2006-09-121-4/+4
|/ / | | | | | | | | | | | | | | | | | | | | | | | | Commit 581d708eb47cccb5f41bc0817e50c9b004011ba8 (oct. 5 2005) introduced partial Multiqueue support for e1000 which broke macro smartness in setting up head/tail registers for 82542 rev3 chipsets, making these adapters completely non-working since 2.6.15. This commit sets the proper head and tail registers for read and write descriptor rings. Ths fix was tested on an 82542 rev3 NIC and newer NICs. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | [PATCH] drivers/net/e1000/: possible cleanupsAdrian Bunk2006-08-191-0/+2
|/ | | | | | | | | | | | | | | | | | | | | - make needlessly global functions static - #if 0 the following unused global functions: - e1000_hw.c: e1000_mc_addr_list_update() - e1000_hw.c: e1000_read_reg_io() - e1000_hw.c: e1000_enable_pciex_master() - e1000_hw.c: e1000_ife_disable_dynamic_power_down() - e1000_hw.c: e1000_ife_enable_dynamic_power_down() - e1000_hw.c: e1000_write_ich8_word() - e1000_hw.c: e1000_duplex_reversal() - e1000_main.c: e1000_io_read() Signed-off-by: Adrian Bunk <bunk@stusta.de> Cc: John Ronciak <john.ronciak@intel.com> Cc: Jesse Brandeburg <jesse.brandeburg@intel.com> Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Cc: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [E1000]: Convert to netdev_alloc_skbDavid S. Miller2006-08-021-5/+6
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* e1000: bump version to 7.1.9-k4Auke Kok2006-07-141-1/+1
| | | | | | Bump the version to 7.1.9-k4 to indicate three extra changes. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: fix panic on large frame receive when mtu=defaultAuke Kok2006-07-141-2/+1
| | | | | | | | | | A panic was reported when receiving 1522 size packets if using the default MTU. we should set the initial rx buffer length to the value that e1000changemtu sets so that we can receive any packet that would not be dropped by LPE=0. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke.jan.h.kok@intel.com>
* e1000: remove CRC bytes from measured packet lengthAuke Kok2006-07-141-1/+9
| | | | | | | | After removing the hardware CRC stripping which causes problems with SOL and related issues, we need to compensate for this changed size. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* e1000: Redo netpoll fix to address community concernsAuke Kok2006-07-141-22/+15
| | | | | | | | | | The original suggested fix for netpoll was found to be racy on SMP kernels. While it is highly unlikely that this race would ever be seen in the real world due to current netpoll usage models, we implemented this updated fix to address concerns. Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
* [PATCH] e1000: irq naming updateAndrew Morton2006-07-121-1/+1
| | | | | | | | | Use the new names. Cc: Auke Kok <auke-jan.h.kok@intel.com> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* Merge commit master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 of HEADLinus Torvalds2006-07-091-4/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * HEAD: [AX.25]: Use kzalloc [ATM] net/atm/clip.c: fix PROC_FS=n compile [PKT_SCHED]: act_api: Fix module leak while flushing actions [NET]: Fix IPv4/DECnet routing rule dumping [NET] gso: Fix up GSO packets with broken checksums [NET] gso: Add skb_is_gso [IRDA]: fix drivers/net/irda/ali-ircc.c:ali_ircc_init() [ATM]: fix possible recursive locking in skb_migrate() [ATM]: Typo in drivers/atm/Kconfig... [TG3]: add amd8131 to "write reorder" chipsets [NET]: Fix network device interface printk message priority
| * [NET] gso: Add skb_is_gsoHerbert Xu2006-07-081-4/+3
| | | | | | | | | | | | | | | | | | | | This patch adds the wrapper function skb_is_gso which can be used instead of directly testing skb_shinfo(skb)->gso_size. This makes things a little nicer and allows us to change the primary key for indicating whether an skb is GSO (if we ever want to do that). Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'upstream' of git://lost.foo-projects.org/~ahkok/git/netdev-2.6 ↵Jeff Garzik2006-07-051-113/+265
|\ \ | |/ |/| | | | | | | | | | | into upstream Conflicts: drivers/net/e1000/e1000_main.c
| * e1000: increase version to 7.1.9-k2Auke Kok2006-06-271-1/+1
| | | | | | | | | | | | | | | | Increment the version to 7.1.9-k2 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * e1000: add ich8lan device ID'sAuke Kok2006-06-271-0/+7
| | | | | | | | | | | | | | | | Add the device ID's of the supported ICH8 LAN devices. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * e1000: integrate ich8 support into driverAuke Kok2006-06-271-16/+104
| | | | | | | | | | | | | | | | This hooks up the ich8 structure into the driver itself. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * e1000: disable ERTAuke Kok2006-06-271-3/+0
| | | | | | | | | | | | | | | | | | | | Hardware is reported to have problems with ERT. We disable it for all hardware to make sure we are not seeing unexplainable user problems. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * e1000: disable CRC stripping workaroundAuke Kok2006-06-271-4/+1
| | | | | | | | | | | | | | | | | | CRC stripping is breaking SMBUS-connected BMC's. We disable this feature to make it work. This fixes related bugs regarding SOL. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * e1000: force register write flushes to circumvent broken platformsAuke Kok2006-06-271-7/+11
| | | | | | | | | | | | | | | | | | A certain AMD64 bridge (8132) has an option to turn on write combining which breaks our adapter. To circumvent this we need to flush every write. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * e1000: recycle skbAuke Kok2006-06-271-1/+2
| | | | | | | | | | | | | | | | Recycle an skb to improve performance a bit. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * e1000: change printk into DPRINTKAuke Kok2006-06-271-1/+1
| | | | | | | | | | | | | | | | | | Changing a printk message to make clear that this message is originating from e1000. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * e1000: add smart power down codeAuke Kok2006-06-271-0/+15
| | | | | | | | | | | | | | | | | | | | Smart Power Down is a power saving feature in newer e1000 hardware. We disable it because it causes time to link to be long, but make it a user choice. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * e1000: small performance tweak by removing double codeAuke Kok2006-06-271-1/+0
| | | | | | | | | | | | | | | | buffer_info is already filled at the end of this while() loop. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * e1000: fix CONFIG_PM blocksAuke Kok2006-06-271-2/+4
| | | | | | | | | | | | | | | | | | e1000_suspend is called even when !CONFIG_PM. The non-PM code inside of it is properly #ifdef'd. This fixes the compiler warnings when !CONFIG_PM. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * e1000: Make PHY powerup/down a functionAuke Kok2006-06-271-27/+49
| | | | | | | | | | | | | | | | | | | | | | In relation to the irq work done earlier we also move the PHY powerup and powerdown functions into separate functions and move the calls to _close and _open, making the PHY stay in it's power state as long as the device is _up. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * e1000: rework driver hardware reset lockingAuke Kok2006-06-271-53/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After studying the driver mac reset code it was found that there were multiple race conditions possible to reset the unit twice or bring it e1000_up() double. This fixes all occurences where the driver needs to reset the mac. We also remove irq requesting/releasing into _open and _close so that while the device is _up we will never touch the irq's. This fixes the double free irq bug that people saw. To make sure that the watchdog task doesn't cause another race we let it run as a non-scheduled task. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| * e1000: prevent statistics from garbling during bus resetsAuke Kok2006-06-091-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | If a PCI bus error/fault triggers a PCI bus reset, attempts to get the ethernet packet count statistics from the hardware will fail, returning garbage data upstream. This patch skips statistics data collection if the PCI device is not on the bus. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Acked-by: Auke Kok <auke-jan.h.kok@intel.com>
* | [PATCH] irq-flags: drivers/net: Use the new IRQF_ constantsThomas Gleixner2006-07-021-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>
* | [NET]: Merge TSO/UFO fields in sk_buffHerbert Xu2006-06-231-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having separate fields in sk_buff for TSO/UFO (tso_size/ufo_size) is not going to scale if we add any more segmentation methods (e.g., DCCP). So let's merge them. They were used to tell the protocol of a packet. This function has been subsumed by the new gso_type field. This is essentially a set of netdev feature bits (shifted by 16 bits) that are required to process a specific skb. As such it's easy to tell whether a given device can process a GSO skb: you just have to and the gso_type field and the netdev's features field. I've made gso_type a conjunction. The idea is that you have a base type (e.g., SKB_GSO_TCPV4) that can be modified further to support new features. For example, if we add a hardware TSO type that supports ECN, they would declare NETIF_F_TSO | NETIF_F_TSO_ECN. All TSO packets with CWR set would have a gso_type of SKB_GSO_TCPV4 | SKB_GSO_TCPV4_ECN while all other TSO packets would be SKB_GSO_TCPV4. This means that only the CWR packets need to be emulated in software. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
OpenPOWER on IntegriCloud