Age | Commit message (Collapse) | Author | |
---|---|---|---|
2007-08-20 | put rlphy onto the standard ramdisk; spotted by jsg | Theo de Raadt | |
2007-08-16 | I don't really know what I was thinking when I wrote this. Not only does the | Artur Grabowski | |
"array" index start at 1, the code also abused index 0 to detect that we were doing a KERN_POOL_NPOOLS. Just look at *name == KERN_POOL_NPOOLS instead of using index == 0 for that. deraadt@ ok | |||
2007-08-16 | back out part of last diff; breaks all hardware wep decryption. | Theo de Raadt | |
from damien | |||
2007-08-15 | Kernel stacks can live beyond EINTSTACK now. | Mark Kettenis | |
ok deraadt@ | |||
2007-08-15 | oops, forgot the print the intr string on attach | David Gwynne | |
2007-08-15 | hook the interrupt up | David Gwynne | |
2007-08-15 | Add sti@uturn; the C180 has it there. Tested by nick@. | Mark Kettenis | |
2007-08-15 | implement nxe_start. this is enough to put packets on the wire. the sgl | David Gwynne | |
layout of this chip is extremely weird. there's only 4 sg entries in each tx descriptor, but theyre out of order. you can use multiple tx descriptors to tx more than 4 segments, but instead of letting you use all 64bytes that a tx descriptor uses you just use the same 4 sg entries, and up to 8 descs. | |||
2007-08-15 | program the mac control thing according the the multicast or promisc | David Gwynne | |
settings that we ask for. set these flags when the interface is brought up. | |||
2007-08-15 | program the lladdr when the chip is brought up. | David Gwynne | |
2007-08-15 | sync all the bits for use by the hardware, and then point the chip at them. | David Gwynne | |
the firmware is now ready to send and recv packets. | |||
2007-08-15 | when the interface is brought up allocate all the things that are needed | David Gwynne | |
for the chip to work with, eg, the context region, the cmd consumer, the cmd/tx ring, the status ring, and the 3 rx rings. free it all when we bring the chip down. | |||
2007-08-15 | allocate pkt lists when the interface is brought up. | David Gwynne | |
make nxe_up return void and report its failure by not setting the RUNNING flag like every other nic ive read. | |||
2007-08-15 | here are the tx, rx, and status (rx completion) descriptors used in the io | David Gwynne | |
paths. | |||
2007-08-15 | move the firmware to the right state before we start allocating everything | David Gwynne | |
for it. | |||
2007-08-15 | lock accesses to the ioctl handler. | David Gwynne | |
2007-08-15 | this code definitely uses queue.h | David Gwynne | |
2007-08-15 | tell the ioctl handler to call nxe_up/down/iff at the right times. they | David Gwynne | |
are just stubs at the moment though. | |||
2007-08-15 | code to allocate, free, sync, and iterate over rings. this is based loosely | David Gwynne | |
on the fifos used in tht. very loosely. tht fifos were set up to take small writes of varying length and read or write them into the dmaable memory. nxe has fixed sized descriptors in each ring, so this ring handling is set up to just give pointers to the memory to be filled in directly. the iterator just pushes this pointer around the ring. | |||
2007-08-15 | steal pkt handling from tht. this lets us keep track of mbufs when theyre | David Gwynne | |
on the hardware. it stashes ids and dma bits. | |||
2007-08-15 | implement link state monitoring. you have to poll the firmware to see the | David Gwynne | |
state of the link. since im doing this already for the temp sensor i merged the polling for both and do them at the same time. i poll every 5 seconds now instead of every 60. i can now tell if the cable between the nxe and tht has fallen out. white space fixes while im here. | |||
2007-08-15 | hook up the ether and ifmedia layers. you can see nxe in ifconfig output | David Gwynne | |
now. just the lladdr though, i havent filled in enough of the ioctl handler for more yet. | |||
2007-08-15 | hook a kernel sensor up to the temp register on the chip. poll out of a | David Gwynne | |
timeout since reading registers doesnt need a process context. | |||
2007-08-15 | start the init of the firmware. it can take a long time, so we start it in | David Gwynne | |
attach and make sure its finished at mountroot time. | |||
2007-08-15 | When polling call ahaintr() at splbio(). Noticed by and fix tested by | Kenneth R Westerback | |
todd@. | |||
2007-08-15 | pull my wrapper around single segment dma allocations in. its got to be at | David Gwynne | |
least half a dozen drivers now that use this. | |||
2007-08-15 | white space fixes | David Gwynne | |
2007-08-15 | define the rest of the registers i know about: the interrupt registers, | David Gwynne | |
init, xg config, ring and context addresses, temp sensor, firmware states. | |||
2007-08-15 | fetch the user info off the board. the lladdr and firmware version are | David Gwynne | |
stored on it. display the fw and lladdr in attach. | |||
2007-08-15 | we're a nic, so we need the arpcom and ifmedia structs in our softc | David Gwynne | |
2007-08-15 | read the board information off the flash. check it, and stash what type of | David Gwynne | |
board they say we are. | |||
2007-08-15 | provide a map of the board type the flash memory will tell us we are to the | David Gwynne | |
type of interface it provides. drivers need to deal with 10Gb (XGB) and gigabit (GBE) differently. | |||
2007-08-15 | code to unmap the register windows if something in attach goes horribly | David Gwynne | |
wrong. | |||
2007-08-15 | list where different things lie in the flash. | David Gwynne | |
define what the board info and user info regions in the flash look like as structs. | |||
2007-08-15 | we're going to spend most of our time in crb window 1, so move the chip | David Gwynne | |
into that window in attach. | |||
2007-08-15 | move the mapping of the registers out of attach and into their own function | David Gwynne | |
2007-08-15 | code to read stuff out of the flash chip on the netxen. | David Gwynne | |
2007-08-15 | code to wait on registers in the main and crb spaces. | David Gwynne | |
2007-08-15 | add DPRINTF and DASSERT debug macros. | David Gwynne | |
2007-08-15 | there is flash on the netxens that contains things like the firmware, the | David Gwynne | |
firmware boot loader, and various structs with information about how the chip is configured. these registers are used to access that flash. | |||
2007-08-14 | stash the pci function this port is on in the softc. | David Gwynne | |
create a bus_space subregion for the CRB register window. provide a way to set which crb window you want, and a way to read and write in it. | |||
2007-08-14 | start defining the register layout. | David Gwynne | |
the netxen nics are a bit strange. their main register window is HUGE at a big 128MB size. apparently this isnt enough though, so they used the top 32 meg of the main register space as a window into a 64meg region. which half of this space (the CRB window) is available is determined by setting a register INSIDE this window. that register just happens to be available in both windows. kinda crazy. | |||
2007-08-14 | read and write routines for the big register window | David Gwynne | |
2007-08-14 | dont match on nxe boards that dont claim to be network devices. | David Gwynne | |
2007-08-14 | stash the dma tag. | David Gwynne | |
map the register windows. put a stub in place for the interrupt handler | |||
2007-08-14 | enter nxe, a driver for the netxen 10Gb cards. | David Gwynne | |
i have most of this already written but this is just the attach glue. i'll be adding code in smallish chunks so i can decruft it as i go. | |||
2007-08-14 | Indention and comment. | Marcus Glocker | |
2007-08-14 | Prevent sneaking in unencrypted packets into WEP traffic. | Alexander Bluhm | |
ok damien@, put it ok deraadt@ | |||
2007-08-14 | Work-around an interaction between FPU context switching and the VIA | Henric Jungheim | |
Padlock entropy polling on SMP boxes. ok deraadt@, kettenis@ | |||
2007-08-14 | remove my unfinished version of the nx driver, we have a better solution | Reyk Floeter | |
requested by dlg@ ok deraadt@ |