david/ipxe
Archived
1
0
Commit Graph

273 Commits

Author SHA1 Message Date
Udayan Kumar
6d4dafdc6e added netdev_tx_complete to natsemi.c 2007-07-14 21:08:05 -04:00
Udayan Kumar
c6d0ef3478 added endianness to natsemi. 2007-07-14 21:08:05 -04:00
Udayan Kumar
0c324caecf free_netdev -> netdev_put 2007-07-14 21:08:05 -04:00
Udayan Kumar
623d10c66f debugging natsemi.c 2007-07-14 21:08:05 -04:00
Udayan Kumar
4a73631106 added eeprom from rtl8139 but not working 2007-07-14 21:08:05 -04:00
Udayan Kumar
9e962c3a01 natsemi now needs eeprom access 2007-07-14 21:08:05 -04:00
Udayan Kumar
99c680f743 same as before, but now compiling natsemi 2007-07-14 21:08:05 -04:00
Udayan Kumar
c8f6207e7e added polling and transmit. eeprom access still remaining 2007-07-14 21:08:05 -04:00
Udayan Kumar
97efdbe9d7 skel of new natsemi driver (still in developments) 2007-07-14 21:08:05 -04:00
Udayan Kumar
4cea792470 testing if it works 2007-07-14 21:08:05 -04:00
Michael Brown
208ff0d42e Revert mdc's warnings purge on natsemi.c, to allow for a clean rebase. 2007-07-14 21:08:05 -04:00
Michael Brown
e330db3c74 Dead code removal.
Kill off use of etherboot.h outside drivers/net.
2007-07-14 15:42:26 +01:00
Michael Brown
55d03ccbe3 Added missing "static" 2007-07-09 03:54:29 +01:00
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.
2007-07-07 16:43:39 +01:00
Michael Brown
2823688a92 Revert "Replace natsemi driver with Indolent's updated one that uses the gPXE API"
This reverts commit 3487640397.
2007-07-07 16:40:58 +01:00
Michael Brown
436adb2890 Revert "convert to zalloc"
This reverts commit 68add6e814.
2007-07-07 03:59:37 +01:00
Holger Lubitz
68add6e814 convert to zalloc 2007-07-06 20:42:05 +02:00
Michael Brown
ed7eae6005 Use netdev_rx_err() to report receive errors. 2007-07-05 17:23:03 +01:00
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.
2007-07-05 08:54:12 -04:00
Marty Connor
1069a74d20 Warnings purge for via-velocity.[ch] 2007-07-04 21:58:28 -04:00
Marty Connor
8d39559192 Update warnings in depca.c ns8390.c 2007-07-04 20:14:10 -04:00
Marty Connor
13016297ed Purge warnings from tg3.c 2007-07-04 19:49:46 -04:00
Marty Connor
e5950283ec Purge warnings from prism2 drivers 2007-07-04 19:47:01 -04:00
Marty Connor
1af1668c95 Warnings purge of drivers (continued) 2007-07-04 05:52:56 -04:00
Michael Brown
ca4bd3e24e Kill off now-redundant _irq() methods. 2007-07-03 15:37:56 +01:00
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.
2007-07-03 14:44:33 +01:00
Michael Brown
71f500ff1b Enable/disable interrupts in driver open/close. 2007-07-03 12:50:58 +01:00
Michael Brown
290280f90e Enable/disable interrupts at open/close time. 2007-07-03 03:34:08 +01:00
Michael Brown
a2a0c2eace Enable/disable interrupts on open/close. 2007-07-03 00:57:04 +01:00
Michael Brown
31fe5b9415 Hack together far enough to support ne2k-pci. 2007-07-01 00:37:29 +01:00
Michael Brown
f33bbd4112 How has the legacy wrapper been working for the past month or so...? 2007-07-01 00:36:48 +01:00
Michael Brown
f77815f2b1 Kill off hotplug.h and just make net devices normal reference-counted
structures.

DHCP still broken and #if 0'd out.
2007-06-27 14:48:31 +01:00
Michael Brown
0316eaf85d Add missing call to free_iob(). 2007-06-10 18:33:42 +01:00
Marty Connor
f97e642d17 Update email addresses in drivers 2007-06-09 15:23:17 -04:00
Marty Connor
8c25ea0970 Updated email mdc's email address 2007-06-08 11:23:26 -04:00
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;'
2007-05-19 18:39:40 +00:00
James Harper
80cc27cbc4 Ported bnx2 driver from Etherboot 5.4. 2007-03-13 23:03:50 +00:00
Michael Brown
13137a4d61 t5x9 code relies on nic->ioaddr being set 2007-03-11 00:37:46 +00:00
Michael Brown
62548c9f0d Updated 3c509 to current device model 2007-03-10 22:28:22 +00:00
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.
2007-03-10 18:08:33 +00:00
Michael Brown
c63af1ea14 Remove no-longer-used variable 2007-02-19 17:31:20 +00:00
James Harper
e1735d5fc2 Fix some bad pointer arithmatic in the tg3 driver that was causing the dynamic memory pool to be corrupted (or worse) 2007-02-10 00:28:41 +00:00
James Harper
1c971f1234 Fix padding problem - from Michael 2007-02-10 00:27:46 +00:00
Michael Brown
73b09ecba6 Use stdio.h instead of vsprintf.h 2007-01-19 01:13:12 +00:00
Michael Brown
5ff23aa406 Include stdlib.h rather than malloc.h 2007-01-18 20:06:03 +00:00
Michael Brown
48fe701716 Respect the RX quota. This improves poll time by about 0.7us when the
quota is 1.
2007-01-18 12:34:12 +00:00
Michael Brown
03390f0cd6 Use pkb_pad() rather than doing it the dangerous way :) 2007-01-11 05:26:16 +00:00
Michael Brown
a3ed0cbbc7 Extract packet-padding login from rtl8139.c to a separate pkbpad.c file. 2007-01-11 05:25:50 +00:00
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).
2007-01-10 04:22:09 +00:00
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.
2007-01-09 21:47:01 +00:00
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.
2007-01-09 21:01:55 +00:00
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
2007-01-09 20:18:31 +00:00
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.
2007-01-04 04:20:08 +00:00
Michael Brown
7ce3df65c2 Default to port 0 (sic). 2006-12-21 17:16:06 +00:00
Michael Brown
a497e16767 The "increment MAC address by port number" hack applies only to EF1. 2006-12-18 15:28:34 +00:00
Michael Brown
29db66fb51 Add support for non-volatile stored options in the RTL8139 EEPROM. 2006-12-06 20:45:44 +00:00
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.
2006-12-05 17:56:13 +00:00
Michael Brown
4c3e0fede5 Adjust EEPROM/flash detection to fit expected manufacturing practice. 2006-12-05 16:00:06 +00:00
Michael Brown
cb883b3faf Change some debugging messages to use DBG() 2006-12-05 10:01:00 +00:00
Michael Brown
cc9bcb99a0 Add the concept of a fragment list for non-volatile stored options. 2006-12-04 21:46:13 +00:00
Michael Brown
f944737045 Fixed two logic errors that were cancelling each other out. 2006-12-04 21:12:52 +00:00
Michael Brown
d62c83a350 Migrated etherfabric driver to using generic SPI layer. 2006-12-04 20:47:51 +00:00
Michael Brown
2d8d21fe74 Added the generic block-splitting code to nvs.c 2006-12-04 19:06:07 +00:00
Michael Brown
946967f09c Abstracted out part of the concept of an SPI device to a generalised NVS
device.

Separated the mechanisms of non-volatile storage access and non-volatile
stored options.
2006-12-04 18:23:06 +00:00
Michael Brown
dc06c895fc Changed length parameter in SPI methods to be a byte length, rather than
a word length.
2006-12-04 16:09:59 +00:00
Michael Brown
931f94dca3 Generalised the SPI abstraction layer to also be able to handle interfaces
that don't provide the full flexibility of a bit-bashing interface.

Temporarily hacked rtl8139.c to use the new interface.
2006-12-04 15:36:51 +00:00
Michael Brown
4cd56820ea Basic non-volatile storage support 2006-11-29 02:41:08 +00:00
Michael Brown
3234ef1b0b Merged changes from Solarflare 2006-11-28 13:25:23 +00:00
Marty Connor
757618edea eth_ntoa and warnings cleanup 2006-09-27 03:05:21 +00:00
Marty Connor
cd8168b071 eth_ntoa cleanup. still has warnings. needs work. 2006-09-27 03:00:21 +00:00
Marty Connor
727a88709e eth_ntoa and warnings cleanup 2006-09-27 02:18:07 +00:00
Marty Connor
0d1087a5de eth_ntoa and warnings cleanup 2006-09-27 02:07:59 +00:00
Marty Connor
859cc71158 compilation warnings cleanup 2006-09-26 22:18:00 +00:00
Marty Connor
a02dccdafa eth_ntoa cleanup 2006-09-26 22:11:45 +00:00
Marty Connor
b88aa51b07 warnings cleanup (still gives lots of compilation warnings from unused functions and missing legacy support) 2006-09-26 22:09:03 +00:00
Marty Connor
9588e20828 warnings cleanup 2006-09-26 22:04:33 +00:00
Marty Connor
e753444e04 compilation warnings cleanup 2006-09-26 21:58:08 +00:00
Marty Connor
cf84605271 eth_ntoa and compilation warnings fixes 2006-09-26 21:33:12 +00:00
Marty Connor
097c1b341d eth_ntoa fixes 2006-09-26 21:06:29 +00:00
Michael Brown
7952bb76ec Minor fix 2006-09-25 14:41:54 +00:00
Marty Connor
cce8755fb8 eth_ntoa and warnings fixups, memcpy compilation fix 2006-09-25 09:06:50 +00:00
Marty Connor
d86c080024 eth_ntoa and warnings fixups 2006-09-25 03:52:01 +00:00
Marty Connor
eefac0e258 eth_ntoa and warnings fixups 2006-09-25 03:21:25 +00:00
Marty Connor
d4b060be3b eth_ntoa and warnings fixups 2006-09-25 02:55:13 +00:00
Marty Connor
f4d0f2e5b5 eth_ntoa and warnings fixups 2006-09-25 02:47:50 +00:00
Marty Connor
9e71390930 eth_ntoa and warnings fixups 2006-09-25 02:41:46 +00:00
Marty Connor
447ed77525 eth_ntoa and warnings fixups 2006-09-25 02:18:11 +00:00
Marty Connor
3ffeffebb2 eth_ntoa and warnings fixups 2006-09-25 02:11:52 +00:00
Marty Connor
c0e91255d0 eth_ntoa fixups 2006-09-20 00:20:37 +00:00
Marty Connor
fe62800bad eth_ntoa fixups 2006-09-20 00:06:52 +00:00
Marty Connor
637411c2ab eth_ntoa fixups 2006-09-20 00:00:44 +00:00
Marty Connor
3df3ac72e1 eth_ntoa fixups 2006-09-19 16:33:46 +00:00
Marty Connor
896f871fba eth_ntoa fixups 2006-09-19 15:58:37 +00:00
Marty Connor
077bbc220a eth_ntoa fixup 2006-09-19 15:49:57 +00:00
Marty Connor
338a6de549 eth_ntoa fixup, some warnings fixups (isa/pnp fixups still needed) 2006-09-19 15:23:28 +00:00
Marty Connor
5a39995f8b eth_ntoa fixup, _disable arg fixup 2006-09-19 15:17:51 +00:00
Marty Connor
a9cb4ca079 DBG MAC addr printout in driver 2006-09-15 12:54:11 +00:00
Marty Connor
a998286c8b change MAC address printout to DBG using eth_ntoa (temporary legacy support) 2006-09-15 12:42:43 +00:00
Marty Connor
b41f754e3a Fix compile warnings, remove unused var 2006-09-14 17:58:23 +00:00
Marty Connor
08d7ea1d34 Fixed DBG macro format, fixed compile warnings. removed extra parameter from mtd80x_disable(...) 2006-09-14 17:15:53 +00:00