Michael Brown
e330db3c74
Dead code removal.
Kill off use of etherboot.h outside drivers/net.
пре 17 година
Michael Brown
55d03ccbe3
Added missing "static"
пре 17 година
Michael Brown
4c418d2100
Use net_device_operations structure and netdev_nullify() to allow for
safe dropping of the netdev ref by the driver while other refs still
exist.
Add netdev_irq() method. Net device open()/close() methods should no
longer enable or disable IRQs.
Remove rx_quota; it wasn't used anywhere and added too much complexity
to implementing correct interrupt-masking behaviour in pxe_undi.c.
пре 17 година
Michael Brown
2823688a92
Revert "Replace natsemi driver with Indolent's updated one that uses the gPXE API"
This reverts commit 3487640397 .
пре 17 година
Michael Brown
436adb2890
Revert "convert to zalloc"
This reverts commit 68add6e814 .
пре 17 година
Holger Lubitz
68add6e814
convert to zalloc
пре 17 година
Michael Brown
ed7eae6005
Use netdev_rx_err() to report receive errors.
пре 17 година
Marty Connor
3487640397
Replace natsemi driver with Indolent's updated one that uses the gPXE API
This version uses the gPXE driver API rather than the legacy wrapper API.
пре 17 година
Marty Connor
1069a74d20
Warnings purge for via-velocity.[ch]
пре 17 година
Marty Connor
8d39559192
Update warnings in depca.c ns8390.c
пре 17 година
Marty Connor
13016297ed
Purge warnings from tg3.c
пре 17 година
Marty Connor
e5950283ec
Purge warnings from prism2 drivers
пре 17 година
Marty Connor
1af1668c95
Warnings purge of drivers (continued)
пре 17 година
Michael Brown
ca4bd3e24e
Kill off now-redundant _irq() methods.
пре 17 година
Michael Brown
e436b993a9
Avoid double free on I/O buffer when rtl_transmit() returns failure.
Convert printf() to DBG(); printf() is not allowed in drivers.
пре 17 година
Michael Brown
71f500ff1b
Enable/disable interrupts in driver open/close.
пре 17 година
Michael Brown
290280f90e
Enable/disable interrupts at open/close time.
пре 17 година
Michael Brown
a2a0c2eace
Enable/disable interrupts on open/close.
пре 17 година
Michael Brown
31fe5b9415
Hack together far enough to support ne2k-pci.
пре 17 година
Michael Brown
f33bbd4112
How has the legacy wrapper been working for the past month or so...?
пре 17 година
Michael Brown
f77815f2b1
Kill off hotplug.h and just make net devices normal reference-counted
structures.
DHCP still broken and #if 0'd out.
пре 17 година
Michael Brown
0316eaf85d
Add missing call to free_iob().
пре 17 година
Marty Connor
f97e642d17
Update email addresses in drivers
пре 17 година
Marty Connor
8c25ea0970
Updated email mdc's email address
пре 17 година
Michael Brown
3e2c6b6736
pkbuff->iobuf changeover
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;'
пре 17 година
Michael Brown
13137a4d61
t5x9 code relies on nic->ioaddr being set
пре 17 година
Michael Brown
62548c9f0d
Updated 3c509 to current device model
пре 17 година
Michael Brown
520d9c36af
Updated ISAPnP, EISA, MCA and ISA buses to current device model.
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.
пре 17 година
Michael Brown
c63af1ea14
Remove no-longer-used variable
пре 17 година
James Harper
e1735d5fc2
Fix some bad pointer arithmatic in the tg3 driver that was causing the dynamic memory pool to be corrupted (or worse)
пре 17 година
James Harper
1c971f1234
Fix padding problem - from Michael
пре 17 година
Michael Brown
73b09ecba6
Use stdio.h instead of vsprintf.h
пре 17 година
Michael Brown
5ff23aa406
Include stdlib.h rather than malloc.h
пре 17 година
Michael Brown
48fe701716
Respect the RX quota. This improves poll time by about 0.7us when the
quota is 1.
пре 17 година
Michael Brown
03390f0cd6
Use pkb_pad() rather than doing it the dangerous way :)
пре 17 година
Michael Brown
a3ed0cbbc7
Extract packet-padding login from rtl8139.c to a separate pkbpad.c file.
пре 17 година
Michael Brown
dad5274522
Add "name" field to struct device to allow human-readable hardware device
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).
пре 17 година
Michael Brown
c65fae2475
Add RX quotas to the net device poll() method. This avoids the problem
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.
пре 17 година
Michael Brown
e822bc2a90
Autopadding was sometimes overwriting the struct list_head at the end
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.
пре 17 година
Michael Brown
b7fcfe8ece
Added net device TX queue; this will be needed to support the PXE UNDI API
(which will need us to wait for TX completions).
Added debug autocolourisation to netdevice.c
пре 17 година
Michael Brown
0c03bb5a9a
Make open() and close() an official part of the netdevice API.
Call netdevice's poll() and transmit() methods only when device is open.
пре 18 година
Michael Brown
7ce3df65c2
Default to port 0 (sic).
пре 18 година
Michael Brown
a497e16767
The "increment MAC address by port number" hack applies only to EF1.
пре 18 година
Michael Brown
29db66fb51
Add support for non-volatile stored options in the RTL8139 EEPROM.
пре 18 година
Michael Brown
a128b33b8b
The VPD engine is broken and can't actually handle placing VPD
anywhere other than offset 0 within the EEPROM, so we have to put our
settings at 0x100 instead.
пре 18 година
Michael Brown
4c3e0fede5
Adjust EEPROM/flash detection to fit expected manufacturing practice.
пре 18 година
Michael Brown
cb883b3faf
Change some debugging messages to use DBG()
пре 18 година
Michael Brown
cc9bcb99a0
Add the concept of a fragment list for non-volatile stored options.
пре 18 година
Michael Brown
f944737045
Fixed two logic errors that were cancelling each other out.
пре 18 година
Michael Brown
d62c83a350
Migrated etherfabric driver to using generic SPI layer.
пре 18 година