freebsd-skq/sys/dev
Justin T. Gibbs 56a7c4a852 ahc_eisa.c:
ahc_pci.c:
		Add detach support.

		Make use of soft allocated on our behalf by newbus.

		For PCI devices, disable the mapping type we aren't
		using for extra protection from rogue code.

	aic7xxx_93cx6.c:
	aic7xxx_93cx6.h:
		Sync perforce IDs.

	aic7xxx_freebsd.c:
		Capture the eventhandle returned by EVENTHANDER_REGISTER
		so we can kill the handler off during detach.

		Use AHC_* constants instead of hard coded numbers in a
		few more places.

		Test PPR option state when deciding to "really" negotiate
		when the CAM_NEGOTIATE flag is passed in a CCB.

		Make use of core "ahc_pause_and_flushwork" routine in our
		timeout handler rather than re-inventing this code.

		Cleanup all of our resources (really!) in ahc_platform_free().
		We should be all set to become a module now.

		Implement the core ahc_detach() routine shared by all of
		the FreeBSD front-ends.

	aic7xxx_freebsd.h:
		Softc storage for our event handler.

		Null implementation for the ahc_platform_flushwork() OSM
		callback.  FreeBSD doesn't need this as XPT callbacks are
		safe from all contexts and are done directly in ahc_done().

	aic7xxx_inline.h:
		Implement new lazy interrupt scheme.  To avoid an extra
		PCI bus read, we first check our completion queues to
		see if any work has completed.  If work is available, we
		assume that this is the source of the interrupt and skip
		reading INTSTAT.  Any remaining interrupt status will be
		cleared by a second call to the interrupt handler should
		the interrupt line still be asserted.  This drops the
		interrupt handler down to a single PCI bus read in the
		common case of I/O completion.  This is the same overhead
		as in the not so distant past, but the extra sanity of
		perforning a PCI read after clearing the command complete
		interrupt and before running the completion queue to avoid
		missing command complete interrupts added a cycle.

	aic7xxx.c:
		During initialization, be sure to initialize all scratch
		ram locations before they are read to avoid parity errors.
		In this case, we use a new function, ahc_unbusy_tcl() to
		initialize the scratch ram busy target table.

		Replace instances of ahc_index_busy_tcl() used to unbusy
		a tcl without looking at the old value with ahc_unbusy_tcl().

		Modify ahc_sent_msg so that it can find single byte messages.
		ahc_sent_msg is now used to determine if a transfer negotiation
		attempt resulted in a bus free.

		Be more careful in filtering out only the SCSI interrupts
		of interest in ahc_handle_scsiint.

		Rearrange interrupt clearing code to ensure that at least
		one PCI transaction occurrs after hitting CLRSINT1 and
		writting to CLRINT.  CLRSINT1 writes take a bit to
		take effect, and the re-arrangement provides sufficient
		delay to ensure the write to CLRINT is effective.  The
		old code might report a spurious interrupt on some "fast"
		chipsets.

		export ahc-update_target_msg_request for use by OSM code.

		If a target does not respond to our ATN request, clear
		it once we move to a non-message phase.  This avoids
		sending a MSG_NOOP in some later message out phase.

		Use max lun and max target constants instead of
		hard-coded values.

		Use softc storage built into our device_t under FreeBSD.

		Fix a bug in ahc_free() that caused us to delete
		resources that were not allocated.

		Clean up any tstate/lstate info in ahc_free().

		Clear the powerdown state in ahc_reset() so that
		registers can be accessed.

		Add a preliminary function for pausing the chip and
		processing any posted work.

		Add a preliminary suspend and resume functions.

	aic7xxx.h:
		Limit the number of supported luns to 64.  We don't
		support information unit transfers, so this is the
		maximum that makes sense for these chips.

		Add a new flag AHC_ALL_INTERRUPTS that forces the
		processing of all interrupt state in a single invokation
		of ahc_intr().  When the flag is not set, we use the
		lazy interrupt handling scheme.

		Add data structures to store controller state while
		we are suspended.

		Use constants instead of hard coded values where appropriate.

		Correct some harmless "unsigned/signed" conflicts.

	aic7xxx.seq:
		Only perform the SCSIBUSL fix on ULTRA2 or newer controllers.
		Older controllers seem to be confused by this.

		In target mode, ignore PHASEMIS during data phases.
		This bit seems to be flakey on U160 controllers acting
		in target mode.

	aic7xxx_pci.c:
		Add support for the 29160C CPCI adapter.

		Add definitions for subvendor ID information
		available for devices with the "9005" vendor id.
		We currently use this information to determine
		if a multi-function device doesn't have the second
		channel hooked up on a board.

		Add rudimentary power mode code so we can put the
		controller into the D0 state.  In the future this
		will be an OSM callback so that in FreeBSD we don't
		duplicate functionality provided by the PCI code.
		The powerstate code was added after I'd completed
		my regression tests on this code.

		Only capture "left over BIOS state" if the POWRDN
		setting is not set in HCNTRL.

		In target mode, don't bother sending incremental
		CRC data.
2000-12-20 01:11:37 +00:00
..
aac Disable calling timeout() when doing bio. It was causing more prolems than 2000-11-19 23:46:21 +00:00
acpica Fix testing reboot howto flags in acpi_shutdown_final(). 2000-12-19 15:45:11 +00:00
advansys Remove unneeded <stddef.h> #includes. 2000-10-29 16:57:42 +00:00
agp un-staticize M_AGP so that it can be used in agp*.c 2000-12-19 08:32:37 +00:00
aha Remove unnecessary includes found by phk's script a long time ago. 2000-12-13 06:25:22 +00:00
ahb Add the use of M_ZERO to some malloc calls. 2000-10-29 15:47:16 +00:00
aic Add module dependencies on CAM module. 2000-12-13 05:46:23 +00:00
aic7xxx ahc_eisa.c: 2000-12-20 01:11:37 +00:00
amd Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
amr Remove some over- 2000-11-28 20:51:04 +00:00
an Fixes to the Aironet driver to clear up some WEP issues. 2000-12-08 19:00:10 +00:00
ar Divorce the kernel binary ABI version number from the message 2000-12-18 20:03:32 +00:00
asr Use M_ZERO. 2000-12-03 13:21:55 +00:00
ata Proberly back down DMA modes on the Acer Aladdin. 2000-12-19 10:37:03 +00:00
atkbdc Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
awi Lock down the network interface queues. The queue mutex must be obtained 2000-11-25 07:35:38 +00:00
bktr Fix typo in comments 2000-10-31 14:30:29 +00:00
buslogic Classify all EISA cards with major firmware revions '2' as 742As. 2000-11-13 03:44:20 +00:00
cardbus Don't try to free the now-nonexistent hdrspec field. This one snuck by 2000-12-13 02:45:03 +00:00
ccd Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
cs Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
cy Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
dc Use pci_get_powerstate()/pci_set_powerstate() which now exists in the 2000-12-18 21:53:05 +00:00
de Lock down the network interface queues. The queue mutex must be obtained 2000-11-25 07:35:38 +00:00
dec Add missing $FreeBSD$ 2000-05-01 19:54:26 +00:00
dgb Move suser() and suser_xxx() prototypes and a related #define from 2000-10-29 16:06:56 +00:00
dpt Convert all users of fldoff() to offsetof(). fldoff() is bad 2000-10-27 11:45:49 +00:00
ed Linksys Fast Ethernet PCCARD cards supported by the ed driver now 2000-12-18 15:28:53 +00:00
eisa Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
en Lock down the network interface queues. The queue mutex must be obtained 2000-11-25 07:35:38 +00:00
ep Fixed to support 3Com 3C569B for PC-98. 2000-12-09 04:25:07 +00:00
ex Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
fb Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
fdc Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
fe The fe driver does not support pnp devices. 2000-11-10 14:05:47 +00:00
fxp Add power state manipulation to the fxp driver. Some people have 2000-12-18 22:06:12 +00:00
hea Add back some now needed #include <sys/systm.h> 2000-12-07 22:19:06 +00:00
hfa Add back some now needed #include <sys/systm.h> 2000-12-07 22:19:06 +00:00
ic Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
ichsmb Add missing #include. 2000-12-08 00:49:37 +00:00
ida Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
ie Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
iicbus Lock down the network interface queues. The queue mutex must be obtained 2000-11-25 07:35:38 +00:00
isp Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
ispfw some copyright cleanups 2000-09-21 20:16:04 +00:00
joy Add ADS7182 as a known Joystick. 2000-01-18 08:38:35 +00:00
kbd Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
lmc Divorce the kernel binary ABI version number from the message 2000-12-18 20:03:32 +00:00
lnc Switch off some debugging code. 2000-12-16 03:29:27 +00:00
mc146818 Add missing $FreeBSD$ 2000-05-01 19:54:26 +00:00
mca Reduce code duplication by using the GET_RESOURCE_LIST bus method and related 2000-11-28 07:12:12 +00:00
mcd Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
md Enforce disk unit numbers upper limit in cloning. 2000-12-15 16:42:38 +00:00
mii Grrrrr. That last commit was supposed to be to the head, not to -stable 2000-12-12 19:31:14 +00:00
mlx Avoid hardcoding the 'rid' and 'type' of the MEM/IOPORT resource. 2000-11-28 06:17:32 +00:00
mly Further use of M_ZERO. 2000-11-18 15:21:22 +00:00
mse Initiate deorbit burn sequence for <machine/mouse.h>. 2000-10-09 08:08:36 +00:00
musycc Divorce the kernel binary ABI version number from the message 2000-12-18 20:03:32 +00:00
ncv Change flags of ncv and nsp driver. Both were conflicted with the flags 2000-10-29 06:54:32 +00:00
nsp Change flags of ncv and nsp driver. Both were conflicted with the flags 2000-10-29 06:54:32 +00:00
null Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
ofw OpenFirmware/PowerPC loader, part 2. 2000-11-10 06:39:58 +00:00
pccard Oops, broke newcard because I forgot to commit this in my last round of changes to pccbb.c 2000-11-28 15:50:13 +00:00
pccbb Updates to match changes elsewhere in the PCI subsystem: 2000-12-13 01:28:00 +00:00
pcf Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
pci Remove a redundant prototype. 2000-12-13 04:22:04 +00:00
pcic add PNPID for PnP PCMCIA, SCM SwapBox Classic X2P. 2000-12-11 15:02:50 +00:00
pdq Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
ppbus Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
ppc Fix the PR. Getting a dma channel equal to 0 remains a problem though. 2000-12-19 21:28:17 +00:00
random Major speedup to /dev/random and the kernel thread that reseeds it. 2000-12-02 18:40:16 +00:00
ray Fix probe/attach a little. We don't have to call bpfattach() anymore 2000-12-08 21:35:11 +00:00
rc Move suser() and suser_xxx() prototypes and a related #define from 2000-10-29 16:06:56 +00:00
rp Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
scd Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
sf Initialize/grab the mutex earlier in the attach phase, so that 2000-12-04 22:46:50 +00:00
si Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
sio Convert the sio driver to use a spin mutex instead of a s_lock. This is 2000-12-18 23:56:16 +00:00
sk Initialize/grab the mutex earlier in the attach phase, so that 2000-12-04 22:46:50 +00:00
smbus Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
sn Add isa support: 2000-12-13 01:47:19 +00:00
snc Remove unused #includes. 2000-10-31 08:22:26 +00:00
snp Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
sound kobjify. 2000-12-18 01:36:41 +00:00
speaker Staticize some malloc M_ instances. 2000-12-08 20:09:00 +00:00
sr Divorce the kernel binary ABI version number from the message 2000-12-18 20:03:32 +00:00
stg Remove conflicts between unsinged char *s and int s. 2000-12-08 13:50:20 +00:00
streams Cleanup after repo copy of sys/svr4 to sys/compat/svr4. 2000-09-01 08:47:14 +00:00
sym Remove unneeded include of <pci.h> 2000-12-07 20:58:16 +00:00
syscons Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
tdfx Added some handling code to work with SLI configs, and removed some unused 2000-10-10 03:51:54 +00:00
ti Initialize/grab the mutex earlier in the attach phase, so that 2000-12-04 22:46:50 +00:00
twe - add support for crashdumps (courtesy of ps and Y!) 2000-12-03 02:11:35 +00:00
tx Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
usb Divorce the kernel binary ABI version number from the message 2000-12-18 20:03:32 +00:00
vinum Don't include system-specific header files for userland program. 2000-11-28 06:38:53 +00:00
vn Add a cloning function to vn(4) which triggers on "vn%d.ctl". Give the 2000-12-16 16:06:03 +00:00
vr Initialize/grab the mutex earlier in the attach phase, so that 2000-12-04 22:46:50 +00:00
vx When I converted this driver, I neglected to deal with packet alignment. 2000-12-07 23:30:51 +00:00
wds Weaken a bogus dependency on <sys/proc.h> in <sys/buf.h> by #ifdef'ing 2000-10-29 14:54:55 +00:00
wi Attempt to read and verify the card's status in wi_stop() before sending it 2000-12-18 23:49:56 +00:00
wl Move suser() and suser_xxx() prototypes and a related #define from 2000-10-29 16:06:56 +00:00
xe Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00