summaryrefslogtreecommitdiffstats
path: root/src/drivers
Commit message (Collapse)AuthorAgeFilesLines
...
* pkbuff->iobuf changeoverMichael Brown2007-05-193-46/+46
| | | | | | | | Achieved via Perl using: perl -pi -e 's/pk_buff/io_buffer/g; s/Packet buffer/I\/O buffer/ig; ' \ -e 's/pkbuff\.h/iobuf.h/g; s/pkb_/iob_/g; s/_pkb/_iob/g; ' \ -e 's/pkb/iobuf/g; s/PKB/IOB/g;'
* Ported bnx2 driver from Etherboot 5.4.James Harper2007-03-143-0/+10891
|\
* | t5x9 code relies on nic->ioaddr being setMichael Brown2007-03-111-7/+11
| |
* | Updated 3c509 to current device modelMichael Brown2007-03-101-165/+185
| |
* | Updated ISAPnP, EISA, MCA and ISA buses to current device model.Michael Brown2007-03-1023-1215/+742Star
| | | | | | | | | | | | | | ISA 3c509 is currently non-functional, although the EISA (3c509-eisa) and MCA (3c529) variants should build OK. None of this code is yet tested.
* | Remove no-longer-used variableMichael Brown2007-02-191-1/+0Star
| |
* | Fix some bad pointer arithmatic in the tg3 driver that was causing the ↵James Harper2007-02-101-6/+6
| | | | | | | | dynamic memory pool to be corrupted (or worse)
* | Fix padding problem - from MichaelJames Harper2007-02-101-3/+1Star
| |
* | Split bootsector execution code out into bootsector.c.Michael Brown2007-01-291-0/+91
| | | | | | | | Added basic El Torito ISO image boot capability
* | Use stdio.h instead of vsprintf.hMichael Brown2007-01-194-4/+4
| |
* | Include stdlib.h rather than malloc.hMichael Brown2007-01-181-1/+2
| |
* | Respect the RX quota. This improves poll time by about 0.7us when theMichael Brown2007-01-181-0/+1
| | | | | | | | quota is 1.
* | Create and use async_block() macro; it cuts down on the visual overheadMichael Brown2007-01-162-16/+13Star
| | | | | | | | | | of blocking on asynchronous operations, when that isn't an important aspect of the code.
* | Gave asynchronous operations approximate POSIX signal semantics. ThisMichael Brown2007-01-152-3/+14
| | | | | | | | | | | | | | | | | | | | | | will enable us to cascade async operations, which is necessary in order to properly support DNS. (For example, an HTTP request may have to redirect to a new location and will have to perform a new DNS lookup, so we can't just rely on doing the name lookup at the time of parsing the initial URL). Anything other than HTTP is probably broken right now; I'll fix the others up asap.
* | Use pkb_pad() rather than doing it the dangerous way :)Michael Brown2007-01-111-5/+2Star
| |
* | Extract packet-padding login from rtl8139.c to a separate pkbpad.c file.Michael Brown2007-01-111-21/+2Star
| |
* | Add device description fields to struct device.Michael Brown2007-01-101-0/+4
| |
* | Add "name" field to struct device to allow human-readable hardware deviceMichael Brown2007-01-1016-39/+50
| | | | | | | | | | | | | | | | | | | | | | 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).
* | Add RX quotas to the net device poll() method. This avoids the problemMichael Brown2007-01-093-5/+10
| | | | | | | | | | | | of alloc_pkb() exhaustion when e.g. an iSCSI-booted DOS session is left idle for a long time at the C:\ prompt and builds up a huge packet backlog.
* | Autopadding was sometimes overwriting the struct list_head at the endMichael Brown2007-01-091-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | of the packet buffer. Although pkbuffs are guaranteed to be at least PKB_ZLEN bytes long, there's no guarantee that the data starts at the start of the packet buffer. Since we have to align data for rtl8139 anyway, and since the start of the packet buffer is guaranteed to be aligned to PKB_ALIGN, we may as well just shuffle the packet down so that it starts at the start of the packet buffer. This simultaneously aligns the packet and ensures that there is enough room for the zero-padding.
* | Added net device TX queue; this will be needed to support the PXE UNDI APIMichael Brown2007-01-093-15/+4Star
| | | | | | | | | | | | (which will need us to wait for TX completions). Added debug autocolourisation to netdevice.c
* | Added support for wildcard device/vendor ID matchesMichael Brown2007-01-081-1/+4
| |
* | Add device to hierarchy before calling the driver's probe() function; thisMichael Brown2007-01-081-21/+16Star
| | | | | | | | | | way everything remains consistent if the probe() ends up creating child devices.
* | Make open() and close() an official part of the netdevice API.Michael Brown2007-01-043-10/+28
| | | | | | | | Call netdevice's poll() and transmit() methods only when device is open.
* | Merge changes from mcb-tcp-fixes branch.Michael Brown2006-12-281-1/+1
| |
* | Add ability to shut down iSCSI connectionMichael Brown2006-12-211-1/+16
| |
* | Default to port 0 (sic).Michael Brown2006-12-211-1/+1
| |
* | Return -EIO when verification fails, instead of -EINVAL.Michael Brown2006-12-201-1/+1
| |
* | Remove warning (at least on platforms with uint32_t == unsigned long).Michael Brown2006-12-201-1/+1
| |
* | Use stdlib.h for malloc() instead of malloc.h.Michael Brown2006-12-201-1/+1
| |
* | The "increment MAC address by port number" hack applies only to EF1.Michael Brown2006-12-181-3/+7
| |
* | Automatically select between the "10" and "16" variants of command set,Michael Brown2006-12-121-31/+72
| | | | | | | | based on the device size.
* | Catch SCSI errors, and work around the start-of-day CHECK CONDITIONMichael Brown2006-12-121-1/+32
| | | | | | | | that some targets send.
* | Add support for non-volatile stored options in the RTL8139 EEPROM.Michael Brown2006-12-061-1/+38
| |
* | Added write support for three-wire devices (e.g. the RTL8139 EEPROM)Michael Brown2006-12-061-1/+41
| |
* | Verify data after writingMichael Brown2006-12-061-1/+35
| |
* | The VPD engine is broken and can't actually handle placing VPDMichael Brown2006-12-051-1/+1
| | | | | | | | | | anywhere other than offset 0 within the EEPROM, so we have to put our settings at 0x100 instead.
* | Adjust EEPROM/flash detection to fit expected manufacturing practice.Michael Brown2006-12-051-8/+31
| |
* | Change some debugging messages to use DBG()Michael Brown2006-12-051-7/+7
| |
* | Added debug statementsMichael Brown2006-12-051-4/+20
| |
* | Added nvs_write(). This shares a lot of code in common with nvs_read();Michael Brown2006-12-041-0/+43
| | | | | | | | this can probably be optimised down quite a lot.
* | Add the concept of a fragment list for non-volatile stored options.Michael Brown2006-12-041-5/+12
| |
* | Fixed two logic errors that were cancelling each other out.Michael Brown2006-12-041-3/+3
| |
* | Migrated etherfabric driver to using generic SPI layer.Michael Brown2006-12-041-127/+58Star
| |
* | Added the generic block-splitting code to nvs.cMichael Brown2006-12-042-22/+41
| |
* | Added generic SPI protocol handler with read and write support.Michael Brown2006-12-041-0/+122
| |
* | Abstracted out part of the concept of an SPI device to a generalised NVSMichael Brown2006-12-045-20/+50
| | | | | | | | | | | | | | device. Separated the mechanisms of non-volatile storage access and non-volatile stored options.
* | Changed length parameter in SPI methods to be a byte length, rather thanMichael Brown2006-12-043-10/+7Star
| | | | | | | | a word length.
* | Generalised the SPI abstraction layer to also be able to handle interfacesMichael Brown2006-12-046-107/+123
| | | | | | | | | | | | that don't provide the full flexibility of a bit-bashing interface. Temporarily hacked rtl8139.c to use the new interface.
* | Basic non-volatile storage supportMichael Brown2006-11-291-11/+107
| |