summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/pcnet32.c
Commit message (Collapse)AuthorAgeFilesLines
* [pcnet32] Eliminate redundant register readMichael Brown2017-03-231-2/+1Star
| | | | | | | | | | | | | | | | | | | | | The value of ( ( x & 0x0c00 ) | 0x0c00 ) is always 0x0c00 regardless of the value of x, and so the read_csr() is redundant. (There are no read side effects for this register, according to the datasheet.) This line of code originated in Linux kernel 2.3.19pre1 as a->write_csr(ioaddr, 80, a->read_csr(ioaddr, 80) | 0x0c00); and was modified in kernel 2.3.41pre4 to read a->write_csr(ioaddr, 80, (a->read_csr(ioaddr, 80) & 0x0C00) | 0x0c00); In the absence of commit messages, the intention of the code is unclear. However, the logic resulting in a fixed value of 0x0c00 has remained unaltered for over 17 years, and can probably be assumed to have the correct overall result. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [src] Fix spelling in comments, debug messages and local variable namesStefan Weil2013-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes in comments and debug messages: existance -> existence unecessary -> unnecessary occured -> occurred decriptor -> descriptor neccessary -> necessary addres, adress -> address initilize -> initialize sucessfully -> successfully paramter -> parameter acess -> access upto -> up to likelyhood ->likelihood thru -> through substracting -> subtracting lenght -> length isnt -> isn't interupt -> interrupt publically -> publicly (this one was not wrong, but unusual) recieve -> receive accessable -> accessible seperately -> separately pacet -> packet controled -> controlled dectect -> detect indicies -> indices extremly -> extremely boundry -> boundary usefull -> useful unuseable -> unusable auxilliary -> auxiliary embeded -> embedded enviroment -> environment sturcture -> structure complier -> compiler constructes -> constructs supress -> suppress intruduced -> introduced compatability -> compatibility verfication -> verification ths -> the reponse -> response Fixes in local variable names: retreive -> retrieve Most of these fixes were made using codespell. Signed-off-by: Stefan Weil <sw@weilnetz.de> Modified-by: Michael Brown <mcb30@ipxe.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [legal] Update FSF mailing address in GPL licence textsMichael Brown2012-07-201-1/+2
| | | | | Suggested-by: Daniel P. Berrange <berrange@redhat.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pci] Make driver PCI ID a property of the PCI deviceMichael Brown2011-02-171-2/+2
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pcnet32] Fix pcnet32_wio_reset() bugAndrei Faur2010-07-111-1/+1
| | | | | | | | This bug caused .probe to fail because the NIC did not reset properly. Signed-off-by: Andrei Faur <da3drus@gmail.com> Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pcnet32] Fix uninitialised variableMichael Brown2010-06-251-1/+1
| | | | | Reported-by: Geoff Lywood <glywood@vmware.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pcnet32] Replace pcnet32 with native driverAndrei Faur2010-06-221-822/+962
| | | | | | | | | This patch replaces the old pcnet32 driver with a new one that uses iPXE's API. Signed-off-by: Andrei Faur <da3drus@gmail.com> Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Rename gPXE to iPXEMichael Brown2010-04-201-2/+2
| | | | | | | | | | | Access to the gpxe.org and etherboot.org domains and associated resources has been revoked by the registrant of the domain. Work around this problem by renaming project from gPXE to iPXE, and updating URLs to match. Also update README, LOG and COPYRIGHTS to remove obsolete information. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [ethernet] Move struct mii_if_info to mii.hDaniel Verkamp2009-05-261-6/+0Star
| | | | Signed-off-by: Michael Brown <mcb30@etherboot.org>
* [legal] Add a selection of FILE_LICENCE declarationsMichael Brown2009-05-181-0/+2
| | | | | Add FILE_LICENCE declarations to almost all files that make up the various standard builds of gPXE.
* [pcnet32] Fix received packet corruptionMichael Brown2009-03-261-3/+3
| | | | | | | | | | The pcnet32 driver mismanages its RX buffers, with the result that packets get corrupted if more than one packet arrives between calls to poll(). Originally-fixed-by: Bill Lortz <Bill.Lortz@premier.org> Reviewed-by: Stefan Hajnoczi <stefanha@gmail.com> Tested-by: Stefan Hajnoczi <stefanha@gmail.com>
* [pci] Add driver_data field to struct pci_device_idThomas Miletich2009-03-261-3/+3
| | | | | Modified-by: Michael Brown <mcb30@etherboot.org> Signed-off-by: Michael Brown <mcb30@etherboot.org>
* Modify gPXE core and drivers to work with the new timer subsystemAlexey Zaytsev2008-03-021-1/+0Star
| | | | Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
* Remove *_fill_nic() calls, and directly set nic->ioaddr and nic->irqno .Marty Connor2007-12-131-1/+8
| | | | | | | | | | This needs to be done manually because if the irq() routine is implemented then we want something like "nic->irqno = pci->irqno;", else we do "nic->irqno = 0;" nic->ioaddr may also need to be set carefully. Also added local variables to end of many files, for emacs indentation to match kernel style (tab does 8 space indent).
* make cards_found static and add missing initializationHolger Lubitz2007-07-271-1/+1
|
* Warnings purge of drivers (continued)Marty Connor2007-07-041-2/+2
|
* Add "name" field to struct device to allow human-readable hardware deviceMichael Brown2007-01-101-1/+1
| | | | | | | | | | | names. Add "dev" pointer in struct net_device to tie network interfaces back to a hardware device. Force natural alignment of data types in __table() macros. This seems to prevent gcc from taking the unilateral decision to occasionally increase their alignment (which screws up the table packing).
* Minor fixMichael Brown2006-09-251-1/+1
|
* eth_ntoa and warnings fixups, memcpy compilation fixMarty Connor2006-09-251-9/+17
|
* Added a very quick and dirty compatibility layer, to allowMichael Brown2006-06-051-1/+0Star
| | | | not-yet-updated drivers to at least function.
* Restructured PCI subsystem to fit the new device model.Michael Brown2006-05-161-2/+2
| | | | | | | | | | | | | | Generic PCI code now handles 64-bit BARs correctly when setting "membase"; drivers should need to call pci_bar_start() only if they want to use BARs other than the first memory or I/O BAR. Split rarely-used PCI functions out into pciextra.c. Core PCI code is now 662 bytes (down from 1308 bytes in Etherboot 5.4). 284 bytes of this saving comes from the pci/pciextra split. Cosmetic changes to lots of drivers (e.g. vendor_id->vendor in order to match the names used in Linux).
* Header rearrangement.Michael Brown2006-04-241-1/+1
| | | | | | | | | I want to get to the point where any header in include/ reflects a standard user-level header (e.g. a POSIX header), while everything that's specific to gPXE lives in include/gpxe/. Headers that reflect a Linux header (e.g. if_ether.h) should also be in include/gpxe/, with the same name as the Linux header and, preferably, the same names used for the definitions.
* Merge from Etherboot 5.4Michael Brown2006-03-161-12/+34
|\
* | Synced across updates from Etherboot 5.4 treeMichael Brown2005-05-191-7/+0Star
|/
* Symbol fixupsMichael Brown2005-05-031-45/+36Star
|
* Automatically updated withMichael Brown2005-04-261-2/+1Star
| | | | perl -pi -0777 -e 's/^static struct \w+_driver (\w+) =\s*(\w+_DRIVER \()/${2} ${1},/msg' *.c
* Coerced into compilingMichael Brown2005-04-221-2/+2
|
* Automatically updated with the programMichael Brown2005-04-211-5/+7
| | | | | | | | | | | | | | | | | | | | | | #!/usr/bin/perl -w -pi -0777 use strict; ( my $type ) = /find_(\w+?)_boot_device/ or die "Could not find type\n"; ( my $disable ) = /\.disable\s*=\s*(\w+)/ or die "Could not locate disable\n"; s/(${disable}\s*\(\s*struct\s+nic\s+\*nic)(\s*\)\s*\{)(\s*)/${1}, struct ${type}_device \*${type} __unused${2}${3}nic_disable ( nic );${3}/s; s/(${disable}\s*\(\s*struct\s+nic\s+\*nic)(\s*\)\s*;)/${1}, struct ${type}_device \*${type}${2}/g; s/^\s*.disable\s*=\s*${disable}\s*,\s*?$//m; s/(_probe\s*\(\s*)struct\s+dev\s+\*dev/${1}struct nic \*nic/g; s/^\s*struct\s+nic\s+\*nic\s*=\s*nic_device\s*\(\s*dev\s*\)\s*;\s*?$//m; s/^(\s*)(nic->(ioaddr|irqno)\s*=\s*${type})/${1}${type}_fill_nic ( nic, ${type} );\n${1}${2}/m;
* Automatically modified byMichael Brown2005-04-141-4/+1Star
| | | | perl -pi -0777 -e 's/\s*?if\s*\(\s*!\s*find_pci_device.*?,\s*\&(\w+)\s*\)\s*\)\s*return\s*0;(.*BOOT_DRIVER\s*\(.*?,)(.*?\))/$2 find_pci_boot_device, $1,$3/sm' *.c
* Automatically updated usingMichael Brown2005-04-141-2/+1Star
| | | | | | perl -pi -0777 -e 's/(_probe\s*\(\s*struct\s+dev.*?)(\s*\)\s*{.*?$)\s*struct pci_device.*?=\s*pci_device \( dev \);$/${1}, struct pci_device *pci${2}/ms' *.c sis900 excluded from update
* Finished by handMichael Brown2005-04-131-13/+17
|
* Automatically updated usingMichael Brown2005-04-131-5/+9
| | | | perl -pi -0777 -e 's/^(\s*)dev->disable(\s*)=\s*(\w+)_disable;\s*nic->poll\s*=\s*(\w+);\s*nic->transmit\s*=\s*(\w+);\s*nic->irq\s*=\s*(\w+);/static struct nic_operations ${3}_operations;\nstatic struct nic_operations ${3}_operations = {\n\t.connect\t= dummy_connect,\n\t.poll\t\t= $4,\n\t.transmit\t= $5,\n\t.irq\t\t= $6,\n\t.disable\t= ${3}_disable,\n};${1}nic->nic_op\t= &${3}_operations;/msg' *.c
* Manual tweaks to get all drivers to follow the "disable, poll, transmit,Michael Brown2005-04-131-1/+1
| | | | irq" pattern.
* Automatically updated usingMichael Brown2005-04-131-2/+1Star
| | | | | | perl -pi -0777 -e 's/_disable\s*\(\s*struct dev \*dev\s*\)\s*{\s*struct nic \*nic.*?$/_disable ( struct nic *nic ) {/ms' *.c perl -pi -0777 -e 's/_disable\s*\(\s*struct dev \*dev(\s*__unused)?\)\s*{/_disable ( struct nic *nic$1 ) {/ms' *.c
* Automatically updated usingMichael Brown2005-04-131-3/+5
| | | | perl -pi -0777 -e 's/_probe\s*\(\s*struct dev \*dev,\s*struct pci_device \*(\w+?)\s*\)\s*{(\s*)struct nic \*nic.*?$/_probe ( struct dev *dev ) {\n${2}struct nic *nic = nic_device ( dev );\n${2}struct pci_device *$1 = pci_device ( dev );/ms' *.c
* Auto-updated usingMichael Brown2005-04-131-8/+4Star
| | | | | | perl -pi -0777 -e 's/static struct pci_driver (\w+) __pci_driver = {.*\.name\s*=\s*(\"\S+\").*\.probe\s*=\s*(\w+).*\.ids\s*=\s*(\w+).*\.class\s*=\s*(\w+).*?};/static struct pci_driver $1 =\n\tPCI_DRIVER ( $2, $4, $5 );\n\nBOOT_DRIVER ( $2, $3 );/ms' *.c perl -pi -e 's/(PCI_DRIVER \(.*, )0 \);/${1}PCI_NO_CLASS );/' *.c
* Initial revisionMichael Brown2005-03-081-0/+1004