Michael Brown
1d7974182e
Overwrite the device descriptor's IRQ number with whatever the legacy
driver's probe() routine fills in in nic->irqno. This is so that
non-interrupt-capable legacy drivers which set nic->irqno=0 will end
up reporting IRQ#0 via PXENV_UNDI_GET_INFORMATION; this in turn means
that the calling PXE NBP will (should) hook the timer interrupt, and
everything will sort of work.
17 jaren geleden
Marty Connor
bd2607305c
Correct e1000 interrupt routine to enable on 1 disable on 0. duh.
The e1000_irq() routine should (per mcb30) do enable on non-zero,
disable on zero. This is not consistent in all drivers, so I'll
wait to update it when doing a global sweep.
17 jaren geleden
Marty Connor
1a867bfb39
Remove *_fill_nic() calls, and directly set nic->ioaddr and nic->irqno .
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).
17 jaren geleden
Michael Brown
df868476e7
Various warnings fixups for OpenBSD with gcc-3.3.5.
17 jaren geleden
Marty Connor
82a3e80645
Add copyright, clean up comments a bit, remove unnecessary code.
Cleanups for e1000.c.
17 jaren geleden
Marty Connor
fa0bd77270
Added netdev_nullify to natsemi_remove()
17 jaren geleden
Michael Brown
de329a36d0
Removed old e1000 driver.
17 jaren geleden
Marty Connor
83c5a37aae
Added netdev_nullify to natsemi_remove()
17 jaren geleden
Marty Connor
2d60a3963f
Fixed receive instability by not enabling interrupts. duh.
I have successfully booted DOS via iSCSI and PXELINUX via TFTP with this
version of the e1000 driver.
17 jaren geleden
Marty Connor
645a752bc2
This version now transmits and receives.
There may still be an issue with memory handling, since it seems to
die ungracefully when ARP packets come in after loading a kernel.
Something to debug.
17 jaren geleden
Marty Connor
8973caa1e6
Autonegotiation fixes. NIC now autonegotiates to whatever the switch supports.
17 jaren geleden
Marty Connor
e41550b0ba
A version of the new e1000 driver that transmits.
autonegotiation still needs work. receive is not working yet.
17 jaren geleden
Marty Connor
8b0d86914b
Rename e1000_main.c to e1000.c to so we can type 'make bin/e1000.dsk' instead of 'make bin/e1000_main.dsk'
17 jaren geleden
Marty Connor
0fea19c398
Introduce files for new e1000 driver
17 jaren geleden
Marty Connor
8564711c20
Move current e1000 driver files to e1000-old/ directory to avoid collisions
17 jaren geleden
Marty Connor
9a4ed0f2d5
Remove unnecessary variable.
17 jaren geleden
Michael Brown
be7d32396f
Added one more PCI ID
17 jaren geleden
Michael Brown
8069598a99
Add a missing PCI ID that is tested as working.
17 jaren geleden
Michael Brown
14fb6ba189
Quick and very dirty hack to get r8169 driver working again, prior to
any rewrite.
17 jaren geleden
Michael Brown
ed5ff61790
Standardise DBG_PRINTF()->DBG(), and remove custom definitions for
DBG_PRINTF() and assert().
17 jaren geleden
Michael Brown
0f60150c44
Reverted driver/net/mlx_ipoib to clean master state
17 jaren geleden
Michael Brown
a5ec029d24
First version that works with SELF_INIT!
17 jaren geleden
Michael Brown
8423b0b109
Gets most of the way through initialisation.
17 jaren geleden
Michael Brown
def5ae9127
Added sw2hw_mpt
17 jaren geleden
Michael Brown
da014080f9
INIT_HCA block now matches.
17 jaren geleden
Michael Brown
57bf8d9905
Seems to get through the ICM mapping process
17 jaren geleden
Michael Brown
4ea6223f5a
ICM allocation code in place; about to start test-and-compare runs.
17 jaren geleden
Michael Brown
f20cd6f721
ICM allocation code *should* now be complete.
17 jaren geleden
Michael Brown
af88f60228
Started with the ICM partitioning code.
17 jaren geleden
Michael Brown
c818d47e25
Restructured bits of initialisation (not testable at present)
17 jaren geleden
Michael Brown
dc3165b746
Starting the firmware directly now works.
17 jaren geleden
Michael Brown
0f62bcaa77
Start migrating the remaining initialisation steps.
17 jaren geleden
Michael Brown
f3fcb53faf
Don't use the mailboxless version of the HW2SW_CQ command; it seems to
crash the machine.
17 jaren geleden
Michael Brown
12b4cb964b
Removed more hacks, and adjusted number of queue entries for likely usage.
17 jaren geleden
Michael Brown
11541b1e01
Remove hacks, and fix leaving the multicast GID.
17 jaren geleden
Michael Brown
267a4483ab
Added an almost obscene amount of debugging and assertion code while
tracking down a bug that turned out to be a free_iob() used where I
needed a netdev_tx_complete(). This left the freed I/O buffer on the
net device's TX list, with bad, bad consequences later.
Also fixed the bug in question.
17 jaren geleden
Michael Brown
bdac591726
Some interesting packet corruption happening now.
17 jaren geleden
Michael Brown
2ed1acb9e9
Broadcast GID is now calculated by IPoIB layer.
17 jaren geleden
Michael Brown
32a7bbb1e3
Cleaned up some debug messages.
17 jaren geleden
Michael Brown
ab191e45db
Unicasts seem to be working. :)
17 jaren geleden
Michael Brown
2209090120
Dead code disabling
17 jaren geleden
Michael Brown
b3d3814c17
Obtains a response to the get path record!
17 jaren geleden
Michael Brown
e05a8cd4de
Use pkey table access to determine broadcast GID directly.
17 jaren geleden
Michael Brown
f6f1f2b7bb
Prepare for adding a metadata queue to IPoIB
17 jaren geleden
Michael Brown
440e7926fb
Dead code removal
17 jaren geleden
Michael Brown
4e78a53cf2
IPoIB code separated out to ipoib.c.
17 jaren geleden
Michael Brown
67836430e6
Read port GID directly using MAD IFC.
17 jaren geleden
Michael Brown
3c6a6bdc5d
Multicast join now works.
17 jaren geleden
Michael Brown
96d0c75c00
Now transmits packets on our own allocated IPoIB queue pair. :)
17 jaren geleden
Michael Brown
4ddb6570f8
Almost working with own-queue allocation.
17 jaren geleden