freebsd-nq/sys/dev
Duncan Barclay 9385b6d6d7 A bit of a messy monster.
Simple stuff
------------

	Split _download up so that the MIB settings are in their own functions.

	Made "tx completed but status is ..." a recoverable error

	Cut down verbosity of "unloaded" messages

	Moved ccs_free and com_runq from intr_ccs to ecf_done and runq_done
	to avoid embarasing mistakes and waits.

	Merged runq_add and runq_arr into one and called it runq_add

	Made RAY_COM_DUMP a real debug called RAY_DCOM

	Consistnet debugging around tsleeps.

	Use bus_activate_resource for attr/cm mapping, and set the flags
	correctly in the allocation routines (needs more hacks to
	sys/pccard/pcic.c)

	com_malloc is now seperated from the comq initialization. This was
	done whilst trying to set automatic variables for the comqs.

Harder Stuff
------------

	As part of the IFF_RUNNING fixes, remove the panic in runq if we are
	not running.

	Change, again, runq_add. This time we don't do any cleaning up
	if there were errors. This is so that callers get the chance
	to re-try (not that I ever see it being used).

	In runq_add, only sleep when there is something to sleep on!

	ioctl locking routines, stolen from awi.c but not used


Hardest Stuff
-------------

	Dealing with serialing ioctls correctly means that we must QUEUE
	changes to IFF_RUNNING and check it in the QUEUED commands, not
	in the user commands. Whilst simple to state, it took a few
	hours of head scratching to get it right. The realisation was that
	I only have to guarantee that sub-commands from a single process
	are serialised and "atomic", and that they check the status of the
	interface flags when invoked and not when they are queued.

	Another way of looking at it, is that the driver's state is stored
	in the runq and the IFF_RUNNING flag. These must be changed together.

	What this means practically, is that IFF_RUNNING is set after
	we have started/joined/associated with a network. And it is
	cleared by ray_stop via the runq so that unfinsished commands are
	not distrupted.

	I still have to fix up promisc, upp/repparams and mcast.

	Oh yeah, stop is essentially a noop in that it only
	changes IFF_RUNNING
2000-05-28 23:10:12 +00:00
..
advansys Use the correct register names, not the FreeBSD 2.2 compatability ones. 2000-05-28 15:47:00 +00:00
aha Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ahb Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
aic Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
aic7xxx Use the correct register names, not the FreeBSD 2.2 compatability ones. 2000-05-28 15:47:00 +00:00
amd Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
amr Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
an Oops, nearly forgot to commit this one. Use correct register names, or 2000-05-28 16:38:28 +00:00
ar Mass update of isa drivers using compatability shims to use 2000-05-28 13:40:48 +00:00
ata Add a new pmap entry point, pmap_enter_temporary() to be used during 2000-05-28 15:49:55 +00:00
atkbdc Manipulate with AltGR Led (really CapsLock Led) only in K_XLATE mode, because 2000-05-28 12:43:24 +00:00
awi Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
bktr Use the correct register names. s/PCI_MAP_REG_START/PCIR_MAPS/ 2000-05-28 15:48:48 +00:00
buslogic Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
cardbus Sync to latest cardbusdevs file 1999-11-18 07:22:59 +00:00
ccd Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
cs Move code to handle BPF and bridging for incoming Ethernet packets out 2000-05-14 02:18:43 +00:00
cy Mass update of isa drivers using compatability shims to use 2000-05-28 13:40:48 +00:00
dc Use the correct register names. s/PCI_COMMAND_STATUS_REG/PCIR_COMMAND/ 2000-05-28 16:02:05 +00:00
de Use the correct name for the PCI command register (PCIR_COMMAND). Don't 2000-05-28 16:06:56 +00:00
dec Add missing $FreeBSD$ 2000-05-01 19:54:26 +00:00
dgb Mass update of isa drivers using compatability shims to use 2000-05-28 13:40:48 +00:00
dpt Use correct register values. This one was in aic7xxx and advansys too. 2000-05-28 15:50:40 +00:00
ed Move code to handle BPF and bridging for incoming Ethernet packets out 2000-05-14 02:18:43 +00:00
eisa Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
en Ahhrggg. Put the test for the compat shims AFTER the file that includes 2000-03-27 20:24:02 +00:00
ep Move code to handle BPF and bridging for incoming Ethernet packets out 2000-05-14 02:18:43 +00:00
ex Move code to handle BPF and bridging for incoming Ethernet packets out 2000-05-14 02:18:43 +00:00
fb Prevent vidcontrol -i from crashing alphas 2000-05-21 01:16:47 +00:00
fdc Step down a level and issue format requests with a struct bio instead 2000-05-06 07:01:47 +00:00
fe Mass update of isa drivers using compatability shims to use 2000-05-28 13:40:48 +00:00
fxp Move code to handle BPF and bridging for incoming Ethernet packets out 2000-05-14 02:18:43 +00:00
hea Remove un-needed #include's. 2000-01-17 20:49:59 +00:00
hfa Ensure that DMA mappings are freed in error situations. 2000-01-15 21:01:04 +00:00
ic Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
ida Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ie Move code to handle BPF and bridging for incoming Ethernet packets out 2000-05-14 02:18:43 +00:00
iicbus Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
isp Fix some breakage about how we build WWNs. Do some other fabric related 2000-05-09 01:14:43 +00:00
joy Add ADS7182 as a known Joystick. 2000-01-18 08:38:35 +00:00
kbd Manipulate with AltGR Led (really CapsLock Led) only in K_XLATE mode, because 2000-05-28 12:43:24 +00:00
lmc Adjust to accomodate recent changes to the rcvdata and rcvmsg 2000-05-01 03:31:58 +00:00
lnc Mass update of isa drivers using compatability shims to use 2000-05-28 13:40:48 +00:00
mc146818 Add missing $FreeBSD$ 2000-05-01 19:54:26 +00:00
mca Set the RF_SHAREABLE flage when we allocate an IRQ. 2000-03-13 11:43:53 +00:00
mcd Mass update of isa drivers using compatability shims to use 2000-05-28 13:40:48 +00:00
md Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
mii Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
mlx Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
mse - `Newbus'ified the driver. 2000-03-18 15:13:30 +00:00
pccard Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
pcf Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
pci Encapsulate the old PCI compatability support and APIs completely under 2000-05-28 16:35:57 +00:00
pcic Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
pdq Uh, ya, sure this almost compiled for __bsdi__. NOT! 2000-05-21 05:33:40 +00:00
ppbus Match the include protection with the install location. 2000-05-20 05:45:04 +00:00
ppc Port ppc driver to alpha. 2000-05-14 13:47:57 +00:00
ray A bit of a messy monster. 2000-05-28 23:10:12 +00:00
rc Mass update of isa drivers using compatability shims to use 2000-05-28 13:40:48 +00:00
rp Mass update of isa drivers using compatability shims to use 2000-05-28 13:40:48 +00:00
scd Mass update of isa drivers using compatability shims to use 2000-05-28 13:40:48 +00:00
sf Use the correct register name. s/PCI_COMMAND_STATUS_REG/PCIR_COMMAND/ 2000-05-28 16:13:43 +00:00
si Always leave SP_DCEN on (monitor DCD). Otherwise the firmware *really* 2000-01-25 16:45:54 +00:00
sio Add SUP1670 - Supra 336i V+ Intl. Since we update the PnP IDs 2000-05-26 11:41:08 +00:00
sk Use the correct register name. s/PCI_COMMAND_STATUS_REG/PCIR_COMMAND/ 2000-05-28 16:13:43 +00:00
smbus Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
sn Move code to handle BPF and bridging for incoming Ethernet packets out 2000-05-14 02:18:43 +00:00
snp Unstaticize this driver. You can have as many snoop devices as you can 2000-04-02 00:35:37 +00:00
sound Use the correct name for a mapping register, not the old FreeBSD 2.x 2000-05-28 15:15:14 +00:00
speaker Don't use struct buf for random small temporary buffers. 2000-05-05 09:05:39 +00:00
sr Mass update of isa drivers using compatability shims to use 2000-05-28 13:40:48 +00:00
streams Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
sym - Make the NVRAM debug code compile and work. 2000-05-28 17:49:18 +00:00
syscons Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
ti Use the correct register name. s/PCI_COMMAND_STATUS_REG/PCIR_COMMAND/ 2000-05-28 16:13:43 +00:00
twe Initial import of a driver for the 3ware Escalade family of ATA RAID 2000-05-24 23:35:23 +00:00
tx Avoid double-call to bpf_mtap(). This is now handled in ether_input(). 2000-05-24 00:05:44 +00:00
usb Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
vinum Don't forget 'stripe' and 'mirror' commands when we turn off 2000-05-20 03:21:50 +00:00
vn Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
vr Use the correct register name. s/PCI_COMMAND_STATUS_REG/PCIR_COMMAND/ 2000-05-28 16:13:43 +00:00
vx Warn that this as an oldpci device.. 2000-05-28 15:59:52 +00:00
wi Move code to handle BPF and bridging for incoming Ethernet packets out 2000-05-14 02:18:43 +00:00
wl Mass update of isa drivers using compatability shims to use 2000-05-28 13:40:48 +00:00
xe Move code to handle BPF and bridging for incoming Ethernet packets out 2000-05-14 02:18:43 +00:00