Loading drivers/net/3c59x.c +0 −166 Original line number Diff line number Diff line Loading @@ -17,172 +17,6 @@ 410 Severn Ave., Suite 210 Annapolis MD 21403 Linux Kernel Additions: 0.99H+lk0.9 - David S. Miller - softnet, PCI DMA updates 0.99H+lk1.0 - Jeff Garzik <jgarzik@pobox.com> Remove compatibility defines for kernel versions < 2.2.x. Update for new 2.3.x module interface LK1.1.2 (March 19, 2000) * New PCI interface (jgarzik) LK1.1.3 25 April 2000, Andrew Morton <andrewm@uow.edu.au> - Merged with 3c575_cb.c - Don't set RxComplete in boomerang interrupt enable reg - spinlock in vortex_timer to protect mdio functions - disable local interrupts around call to vortex_interrupt in vortex_tx_timeout() (So vortex_interrupt can use spin_lock()) - Select window 3 in vortex_timer()'s write to Wn3_MAC_Ctrl - In vortex_start_xmit(), move the lock to _after_ we've altered vp->cur_tx and vp->tx_full. This defeats the race between vortex_start_xmit() and vortex_interrupt which was identified by Bogdan Costescu. - Merged back support for six new cards from various sources - Set vortex_have_pci if pci_module_init returns zero (fixes cardbus insertion oops) - Tell it that 3c905C has NWAY for 100bT autoneg - Fix handling of SetStatusEnd in 'Too much work..' code, as per 2.3.99's 3c575_cb (Dave Hinds). - Split ISR into two for vortex & boomerang - Fix MOD_INC/DEC races - Handle resource allocation failures. - Fix 3CCFE575CT LED polarity - Make tx_interrupt_mitigation the default LK1.1.4 25 April 2000, Andrew Morton <andrewm@uow.edu.au> - Add extra TxReset to vortex_up() to fix 575_cb hotplug initialisation probs. - Put vortex_info_tbl into __devinitdata - In the vortex_error StatsFull HACK, disable stats in vp->intr_enable as well as in the hardware. - Increased the loop counter in issue_and_wait from 2,000 to 4,000. LK1.1.5 28 April 2000, andrewm - Added powerpc defines (John Daniel <jdaniel@etresoft.com> said these work...) - Some extra diagnostics - In vortex_error(), reset the Tx on maxCollisions. Otherwise most chips usually get a Tx timeout. - Added extra_reset module parm - Replaced some inline timer manip with mod_timer (Franois romieu <Francois.Romieu@nic.fr>) - In vortex_up(), don't make Wn3_config initialisation dependent upon has_nway (this came across from 3c575_cb). LK1.1.6 06 Jun 2000, andrewm - Backed out the PPC defines. - Use del_timer_sync(), mod_timer(). - Fix wrapped ulong comparison in boomerang_rx() - Add IS_TORNADO, use it to suppress 3c905C checksum error msg (Donald Becker, I Lee Hetherington <ilh@sls.lcs.mit.edu>) - Replace union wn3_config with BFINS/BFEXT manipulation for sparc64 (Pete Zaitcev, Peter Jones) - In vortex_error, do_tx_reset and vortex_tx_timeout(Vortex): do a netif_wake_queue() to better recover from errors. (Anders Pedersen, Donald Becker) - Print a warning on out-of-memory (rate limited to 1 per 10 secs) - Added two more Cardbus 575 NICs: 5b57 and 6564 (Paul Wagland) LK1.1.7 2 Jul 2000 andrewm - Better handling of shared IRQs - Reset the transmitter on a Tx reclaim error - Fixed crash under OOM during vortex_open() (Mark Hemment) - Fix Rx cessation problem during OOM (help from Mark Hemment) - The spinlocks around the mdio access were blocking interrupts for 300uS. Fix all this to use spin_lock_bh() within mdio_read/write - Only write to TxFreeThreshold if it's a boomerang - other NICs don't have one. - Added 802.3x MAC-layer flow control support LK1.1.8 13 Aug 2000 andrewm - Ignore request_region() return value - already reserved if Cardbus. - Merged some additional Cardbus flags from Don's 0.99Qk - Some fixes for 3c556 (Fred Maciel) - Fix for EISA initialisation (Jan Rekorajski) - Renamed MII_XCVR_PWR and EEPROM_230 to align with 3c575_cb and D. Becker's drivers - Fixed MII_XCVR_PWR for 3CCFE575CT - Added INVERT_LED_PWR, used it. - Backed out the extra_reset stuff LK1.1.9 12 Sep 2000 andrewm - Backed out the tx_reset_resume flags. It was a no-op. - In vortex_error, don't reset the Tx on txReclaim errors - In vortex_error, don't reset the Tx on maxCollisions errors. Hence backed out all the DownListPtr logic here. - In vortex_error, give Tornado cards a partial TxReset on maxCollisions (David Hinds). Defined MAX_COLLISION_RESET for this. - Redid some driver flags and device names based on pcmcia_cs-3.1.20. - Fixed a bug where, if vp->tx_full is set when the interface is downed, it remains set when the interface is upped. Bad things happen. LK1.1.10 17 Sep 2000 andrewm - Added EEPROM_8BIT for 3c555 (Fred Maciel) - Added experimental support for the 3c556B Laptop Hurricane (Louis Gerbarg) - Add HAS_NWAY to "3c900 Cyclone 10Mbps TPO" LK1.1.11 13 Nov 2000 andrewm - Dump MOD_INC/DEC_USE_COUNT, use SET_MODULE_OWNER LK1.1.12 1 Jan 2001 andrewm (2.4.0-pre1) - Call pci_enable_device before we request our IRQ (Tobias Ringstrom) - Add 3c590 PCI latency timer hack to vortex_probe1 (from 0.99Ra) - Added extended issue_and_wait for the 3c905CX. - Look for an MII on PHY index 24 first (3c905CX oddity). - Add HAS_NWAY to 3cSOHO100-TX (Brett Frankenberger) - Don't free skbs we don't own on oom path in vortex_open(). LK1.1.13 27 Jan 2001 - Added explicit `medialock' flag so we can truly lock the media type down with `options'. - "check ioremap return and some tidbits" (Arnaldo Carvalho de Melo <acme@conectiva.com.br>) - Added and used EEPROM_NORESET for 3c556B PM resumes. - Fixed leakage of vp->rx_ring. - Break out separate HAS_HWCKSM device capability flag. - Kill vp->tx_full (ANK) - Merge zerocopy fragment handling (ANK?) LK1.1.14 15 Feb 2001 - Enable WOL. Can be turned on with `enable_wol' module option. - EISA and PCI initialisation fixes (jgarzik, Manfred Spraul) - If a device's internalconfig register reports it has NWAY, use it, even if autoselect is enabled. LK1.1.15 6 June 2001 akpm - Prevent double counting of received bytes (Lars Christensen) - Add ethtool support (jgarzik) - Add module parm descriptions (Andrzej M. Krzysztofowicz) - Implemented alloc_etherdev() API - Special-case the 'Tx error 82' message. LK1.1.16 18 July 2001 akpm - Make NETIF_F_SG dependent upon nr_free_highpages(), not on CONFIG_HIGHMEM - Lessen verbosity of bootup messages - Fix WOL - use new PM API functions. - Use netif_running() instead of vp->open in suspend/resume. - Don't reset the interface logic on open/close/rmmod. It upsets autonegotiation, and hence DHCP (from 0.99T). - Back out EEPROM_NORESET flag because of the above (we do it for all NICs). - Correct 3c982 identification string - Rename wait_for_completion() to issue_and_wait() to avoid completion.h clash. LK1.1.17 18Dec01 akpm - PCI ID 9805 is a Python-T, not a dual-port Cyclone. Apparently. And it has NWAY. - Mask our advertised modes (vp->advertising) with our capabilities (MII reg5) when deciding which duplex mode to use. - Add `global_options' as default for options[]. Ditto global_enable_wol, global_full_duplex. LK1.1.18 01Jul02 akpm - Fix for undocumented transceiver power-up bit on some 3c566B's (Donald Becker, Rahul Karnik) - See http://www.zip.com.au/~akpm/linux/#3c59x-2.3 for more details. - Also see Documentation/networking/vortex.txt LK1.1.19 10Nov02 Marc Zyngier <maz@wild-wind.fr.eu.org> - EISA sysfs integration. */ /* Loading Loading
drivers/net/3c59x.c +0 −166 Original line number Diff line number Diff line Loading @@ -17,172 +17,6 @@ 410 Severn Ave., Suite 210 Annapolis MD 21403 Linux Kernel Additions: 0.99H+lk0.9 - David S. Miller - softnet, PCI DMA updates 0.99H+lk1.0 - Jeff Garzik <jgarzik@pobox.com> Remove compatibility defines for kernel versions < 2.2.x. Update for new 2.3.x module interface LK1.1.2 (March 19, 2000) * New PCI interface (jgarzik) LK1.1.3 25 April 2000, Andrew Morton <andrewm@uow.edu.au> - Merged with 3c575_cb.c - Don't set RxComplete in boomerang interrupt enable reg - spinlock in vortex_timer to protect mdio functions - disable local interrupts around call to vortex_interrupt in vortex_tx_timeout() (So vortex_interrupt can use spin_lock()) - Select window 3 in vortex_timer()'s write to Wn3_MAC_Ctrl - In vortex_start_xmit(), move the lock to _after_ we've altered vp->cur_tx and vp->tx_full. This defeats the race between vortex_start_xmit() and vortex_interrupt which was identified by Bogdan Costescu. - Merged back support for six new cards from various sources - Set vortex_have_pci if pci_module_init returns zero (fixes cardbus insertion oops) - Tell it that 3c905C has NWAY for 100bT autoneg - Fix handling of SetStatusEnd in 'Too much work..' code, as per 2.3.99's 3c575_cb (Dave Hinds). - Split ISR into two for vortex & boomerang - Fix MOD_INC/DEC races - Handle resource allocation failures. - Fix 3CCFE575CT LED polarity - Make tx_interrupt_mitigation the default LK1.1.4 25 April 2000, Andrew Morton <andrewm@uow.edu.au> - Add extra TxReset to vortex_up() to fix 575_cb hotplug initialisation probs. - Put vortex_info_tbl into __devinitdata - In the vortex_error StatsFull HACK, disable stats in vp->intr_enable as well as in the hardware. - Increased the loop counter in issue_and_wait from 2,000 to 4,000. LK1.1.5 28 April 2000, andrewm - Added powerpc defines (John Daniel <jdaniel@etresoft.com> said these work...) - Some extra diagnostics - In vortex_error(), reset the Tx on maxCollisions. Otherwise most chips usually get a Tx timeout. - Added extra_reset module parm - Replaced some inline timer manip with mod_timer (Franois romieu <Francois.Romieu@nic.fr>) - In vortex_up(), don't make Wn3_config initialisation dependent upon has_nway (this came across from 3c575_cb). LK1.1.6 06 Jun 2000, andrewm - Backed out the PPC defines. - Use del_timer_sync(), mod_timer(). - Fix wrapped ulong comparison in boomerang_rx() - Add IS_TORNADO, use it to suppress 3c905C checksum error msg (Donald Becker, I Lee Hetherington <ilh@sls.lcs.mit.edu>) - Replace union wn3_config with BFINS/BFEXT manipulation for sparc64 (Pete Zaitcev, Peter Jones) - In vortex_error, do_tx_reset and vortex_tx_timeout(Vortex): do a netif_wake_queue() to better recover from errors. (Anders Pedersen, Donald Becker) - Print a warning on out-of-memory (rate limited to 1 per 10 secs) - Added two more Cardbus 575 NICs: 5b57 and 6564 (Paul Wagland) LK1.1.7 2 Jul 2000 andrewm - Better handling of shared IRQs - Reset the transmitter on a Tx reclaim error - Fixed crash under OOM during vortex_open() (Mark Hemment) - Fix Rx cessation problem during OOM (help from Mark Hemment) - The spinlocks around the mdio access were blocking interrupts for 300uS. Fix all this to use spin_lock_bh() within mdio_read/write - Only write to TxFreeThreshold if it's a boomerang - other NICs don't have one. - Added 802.3x MAC-layer flow control support LK1.1.8 13 Aug 2000 andrewm - Ignore request_region() return value - already reserved if Cardbus. - Merged some additional Cardbus flags from Don's 0.99Qk - Some fixes for 3c556 (Fred Maciel) - Fix for EISA initialisation (Jan Rekorajski) - Renamed MII_XCVR_PWR and EEPROM_230 to align with 3c575_cb and D. Becker's drivers - Fixed MII_XCVR_PWR for 3CCFE575CT - Added INVERT_LED_PWR, used it. - Backed out the extra_reset stuff LK1.1.9 12 Sep 2000 andrewm - Backed out the tx_reset_resume flags. It was a no-op. - In vortex_error, don't reset the Tx on txReclaim errors - In vortex_error, don't reset the Tx on maxCollisions errors. Hence backed out all the DownListPtr logic here. - In vortex_error, give Tornado cards a partial TxReset on maxCollisions (David Hinds). Defined MAX_COLLISION_RESET for this. - Redid some driver flags and device names based on pcmcia_cs-3.1.20. - Fixed a bug where, if vp->tx_full is set when the interface is downed, it remains set when the interface is upped. Bad things happen. LK1.1.10 17 Sep 2000 andrewm - Added EEPROM_8BIT for 3c555 (Fred Maciel) - Added experimental support for the 3c556B Laptop Hurricane (Louis Gerbarg) - Add HAS_NWAY to "3c900 Cyclone 10Mbps TPO" LK1.1.11 13 Nov 2000 andrewm - Dump MOD_INC/DEC_USE_COUNT, use SET_MODULE_OWNER LK1.1.12 1 Jan 2001 andrewm (2.4.0-pre1) - Call pci_enable_device before we request our IRQ (Tobias Ringstrom) - Add 3c590 PCI latency timer hack to vortex_probe1 (from 0.99Ra) - Added extended issue_and_wait for the 3c905CX. - Look for an MII on PHY index 24 first (3c905CX oddity). - Add HAS_NWAY to 3cSOHO100-TX (Brett Frankenberger) - Don't free skbs we don't own on oom path in vortex_open(). LK1.1.13 27 Jan 2001 - Added explicit `medialock' flag so we can truly lock the media type down with `options'. - "check ioremap return and some tidbits" (Arnaldo Carvalho de Melo <acme@conectiva.com.br>) - Added and used EEPROM_NORESET for 3c556B PM resumes. - Fixed leakage of vp->rx_ring. - Break out separate HAS_HWCKSM device capability flag. - Kill vp->tx_full (ANK) - Merge zerocopy fragment handling (ANK?) LK1.1.14 15 Feb 2001 - Enable WOL. Can be turned on with `enable_wol' module option. - EISA and PCI initialisation fixes (jgarzik, Manfred Spraul) - If a device's internalconfig register reports it has NWAY, use it, even if autoselect is enabled. LK1.1.15 6 June 2001 akpm - Prevent double counting of received bytes (Lars Christensen) - Add ethtool support (jgarzik) - Add module parm descriptions (Andrzej M. Krzysztofowicz) - Implemented alloc_etherdev() API - Special-case the 'Tx error 82' message. LK1.1.16 18 July 2001 akpm - Make NETIF_F_SG dependent upon nr_free_highpages(), not on CONFIG_HIGHMEM - Lessen verbosity of bootup messages - Fix WOL - use new PM API functions. - Use netif_running() instead of vp->open in suspend/resume. - Don't reset the interface logic on open/close/rmmod. It upsets autonegotiation, and hence DHCP (from 0.99T). - Back out EEPROM_NORESET flag because of the above (we do it for all NICs). - Correct 3c982 identification string - Rename wait_for_completion() to issue_and_wait() to avoid completion.h clash. LK1.1.17 18Dec01 akpm - PCI ID 9805 is a Python-T, not a dual-port Cyclone. Apparently. And it has NWAY. - Mask our advertised modes (vp->advertising) with our capabilities (MII reg5) when deciding which duplex mode to use. - Add `global_options' as default for options[]. Ditto global_enable_wol, global_full_duplex. LK1.1.18 01Jul02 akpm - Fix for undocumented transceiver power-up bit on some 3c566B's (Donald Becker, Rahul Karnik) - See http://www.zip.com.au/~akpm/linux/#3c59x-2.3 for more details. - Also see Documentation/networking/vortex.txt LK1.1.19 10Nov02 Marc Zyngier <maz@wild-wind.fr.eu.org> - EISA sysfs integration. */ /* Loading