1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-30 16:51:41 +00:00
freebsd/sys/dev
Justin T. Gibbs 6fb77fef4d This is an MFC candidate.
ahc_eisa.c:
	Change aic7770_map_int to take an additional irq parameter.
	Although we can get the irq from the eisa dev under FreeBSD,
	we can't do this under linux, so the OSM interface must supply
	this.

ahc_pci.c:
	Move ahc_power_state_change() to the OSM.  This allows us to
	use a platform supplied function that does the same thing.
	-current will move to the FreeBSD native API in the near
	future.

aic7770.c:
	Sync up with core changes to support Linux EISA.

	We now store a 2 bit primary channel number rather
	than a bit flag that only allows b to be the primary
	channel.   Adjust for this change.

aic7xxx.c:
	Namespace and staticization cleanup.  All exported symbols
	use an "ahc_" prefix to avoid collisions with other modules.

	Correct a logic bug that prevented us from dropping
	ATN during some exceptional conditions during message
	processing.

	Take advantage of a new flag managed by the sequencer
	that indicates if an SCB fetch is in progress.  If so,
	the currently selected SCB needs to be returned to the
	free list to prevent an SCB leak.  This leak is a rarity
	and would only occur if a bus reset or timeout resulting
	in a bus reset occurred in the middle of an SCB fetch.

	Don't attempt to perform ULTRA transfers on ultra capable
	adapters missing the external precision resistor required
	for ultra speeds.  I've never encountered an adapter
	configured this way, but better safe than sorry.

        Handle the case of 5MHz user sync rate set as "0" instead of 0x1c
        in scratch ram.

        If we lookup a period of 0 in our table (async), clear the scsi offset.

aic7xxx.h:
	Adjust for the primary channel being represented as
	a 2 bit integer in the flags member of the ahc softc.

	Cleanup the flags definitions so that comment blocks are
	not cramped.

	Update seeprom definitions to correctly reflect the fact
	that the primary channel is represented as a 2 bit integer.

	Add AHC_ULTRA_DIASABLED softc flag to denote controllers
	missing the external precision resistor.

aic7xxx.reg:
	Add DFCACHETH to the definition of DFSTATUS for completness sake.

	Add SEQ_FLAGS2 which currently only contains the SCB_DMA
	(SCB DMA in progress) flag.

aic7xxx.seq:
	Correct a problem when one lun has a disconnected untagged
	transaction and another lun has disconnected tagged transactions.
	Just because an entry is found in the untagged table doesn't
	mean that it will match.  If the match on the lun fails, cleanup
	the SCB (return it to the disconnected list or free it), and snoop
	for a tag message.  Before this change, we reported an unsolicited
	reselection.  This bug was introduced about a month ago during an
	overly aggressive optimization pass on the reselection code.

	When cleaning up an SCB, we can't just blindly free the SCB.  In
	the paging case, if the SCB came off of the disconnected list, its
	state may never have been updated in host memory.  So, check the
	disconnected bit in SCB_CONTROL and return the SCB to the disconnected
	list if appropriate.

	Manage the SCB_DMA flag of SEQ_FLAGS2.

	More carefully shutdown the S/G dma engine in all cases by using
	a subroutine.  Supposedly not doing this can cause an arbiter hang
	on some ULTRA2 chips.

	Formatting cleanup.

	On some chips, at least the aic7856, the transition from
	MREQPEND to HDONE can take a full 4 clock cycles.  Test
	HDONE one more time to avoid this race.  We only want our
	FIFO hung recovery code to execute when the engine is
	really hung.

aic7xxx_93cx6.c:
	Sync perforce ids.

aic7xxx_freebsd.c:
	Adjust for the primary channel being a 2 bit integer
	rather than a flag for 'B' channel being the primary.

	Namespace cleanup.

	Unpause the sequencer in one error recovery path that
	neglected to do so.  This could have caused us to perform
	a bus reset when a recovery message might have otherwise been
	successful.

aic7xxx_freebsd.h:
	Use AHC_PCI_CONFIG for controlling compilation of PCI
	support consistently throughout the driver.

	Move ahc_power_state_change() to OSM.

aic7xxx_inline.h
	Namespace cleanup.

	Adjust our interrupt handler so it will work in the edge
	interrupt case.  We must process all interrupt sources
	when the interrupt fires or risk not ever getting an
	interrupt again.  This involves marking the fact
	that we are relying on an edge interrupt in ahc->flags
	and checking for this condition in addition to the
	AHC_ALL_INTERRUPTS flag.  This fixes hangs on the
	284X and any other aic7770 installation where level
	interrupts are not available.

aic7xxx_pci.c:
	Move the powerstate manipulation code into the OSM.  Several
	OSes now provide this functionality natively.

	Take another shot at using the data stored in scratch ram
	if the SCB2 signature is correct and no SEEPROM data is
	available.  In the past this failed if external SCB ram
	was configured because the memory port was locked.  We
	now release the memory port prior to testing the values
	in SCB2 and re-acquire it prior to doing termination control.

	Adjust for new 2 bit primary channel setting.

	Trust the STPWLEVEL setting on v 3.X BIOSes too.

	Configure any 785X ID in the same fashion and assume
	that any device with a rev id of 1 or higher has the
	PCI 2.1 retry bug.
2001-03-11 06:34:17 +00:00
..
aac Set si_iosize_max to 64K, even though the adapter seems to be able to do more. 2001-03-07 08:37:49 +00:00
acpica Bring our local hack for wakeup back from 2001-03-07 15:22:14 +00:00
advansys Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +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 Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
ahb Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
aic Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
aic7xxx This is an MFC candidate. 2001-03-11 06:34:17 +00:00
amd Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
amr Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
an Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
ar Update include files to reflect the new location of the ar device. 2001-01-30 10:01:15 +00:00
asr Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
ata Split out the ata probes in seperate files for each bus type. 2001-03-06 21:43:46 +00:00
atkbdc Free the kbd pointer when it isn't NULL, as opposed to when it is. 2001-01-22 22:54:02 +00:00
awi Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
bktr - Lock the process while sending it a signal. 2001-03-07 03:42:42 +00:00
buslogic Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
cardbus Fix memory leaks with dev_get_children(). 2001-02-08 21:47:45 +00:00
ccd Fix a braino in ccd's clone routine. 2001-01-29 06:18:14 +00:00
cs Additional enhancments to allow IBM Etherjet cards to be probed, 2001-02-23 08:08:21 +00:00
ct Added another wd33c93 based SCSI card driver which replaces the bs driver. 2001-02-27 12:34:01 +00:00
cy Extend kqueue down to the device layer. 2001-02-15 16:34:11 +00:00
dc Apply patch to allow TX underrun handling without issuing a complete 2001-02-22 19:26:55 +00:00
de Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
dec Fix a botch where we wrote the year register with > 2 digits (and 2001-03-09 20:39:02 +00:00
dgb Extend kqueue down to the device layer. 2001-02-15 16:34:11 +00:00
dpt Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
ed Add support for Dlink DL10022 to the ed driver. This is a mii part 2001-03-03 08:31:37 +00:00
eisa Unbreak EISA. The PCI-EISA bridge bus is named eisab', not isab'. 2001-02-09 16:33:53 +00:00
en Lock down the network interface queues. The queue mutex must be obtained 2000-11-25 07:35:38 +00:00
ep Use PCCARD_CIS_xxx #defines for the table of oem ids. These usually 2001-01-21 08:15:37 +00:00
ex Mechanical change to use <sys/queue.h> macro API instead of 2001-02-04 13:13:25 +00:00
fb #if 0 out a variable only used in #if 0'd code to quiet a warning. 2001-03-06 03:07:58 +00:00
fdc Harvest interrupt entropy off the floppy disk controller. 2001-03-03 14:53:50 +00:00
fe Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
fxp A better mousetrap: use device hints, as in: 2001-02-27 22:57:32 +00:00
hea Fix typo: seperate -> separate. 2001-02-06 11:21:58 +00:00
hfa Minor tweaks to get these to stop breaking LINT. They still dont work 2001-01-17 01:08:50 +00:00
ic
ichsmb Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
ida Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
ie Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
iicbus Lock down the network interface queues. The queue mutex must be obtained 2000-11-25 07:35:38 +00:00
isp more 32 to 16 bit handle conversions 2001-03-04 18:42:51 +00:00
ispfw update to latest and greatest f/w 2001-02-11 03:35:45 +00:00
joy
kbd Free the kbd pointer when it isn't NULL, as opposed to when it is. 2001-01-22 22:54:02 +00:00
lmc Fix typo: seperate -> separate. 2001-02-06 11:21:58 +00:00
lnc There were a few changes missed when this file was converted to 2001-03-02 00:40:06 +00:00
mc146818
mca - Remove an unused write_ivars function that didn't do anything anyway. 2001-01-19 09:29:34 +00:00
mcd
md Use a more BIOS friendly geometry. 2001-03-09 20:06:30 +00:00
mii Add includes of sys/malloc.h so this actually compiles. 2001-02-09 00:16:41 +00:00
mlx Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
mly Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
mse Finish deprecating <sys/select.h> in favor of <sys/selinfo.h> in kernel code. 2001-01-20 02:24:07 +00:00
musycc Use correct index when counting short errors. 2001-02-07 08:44:42 +00:00
ncv Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
nmdm Remove warnings.. seems to compile as a module now too. 2001-02-27 17:52:49 +00:00
nsp Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +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 Another round of the <sys/queue.h> FOREACH transmogriffer. 2001-02-04 16:08:18 +00:00
pccbb Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
pcf
pci Slightly reimplement some recently added helper functions as methods, so 2001-02-27 23:13:20 +00:00
pcic o Now that I've had time to test the new interface, reintegrate it back in. 2001-01-07 16:31:09 +00:00
pdq Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
ppbus Discard extra status information if -1. This has been breaking the 2001-01-25 13:07:55 +00:00
ppc Consider that the chipset may be in ECP mode (from BIOS settings) 2001-01-25 10:51:41 +00:00
random Very large makeover of the /dev/random driver. 2001-03-10 12:51:55 +00:00
ray pkh's TAILQ changes to if_mutliaddrs missed a counting loop. 2001-03-04 20:56:45 +00:00
rc Extend kqueue down to the device layer. 2001-02-15 16:34:11 +00:00
rp Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
scd
sf Big round of minor updates: 2001-02-21 20:54:22 +00:00
si Use ttymalloc() instead of roll-our-own. 2001-02-19 04:53:55 +00:00
sio Add GVC1601 - Rockwell V.34 Plug & Play Modem 2001-03-07 14:27:56 +00:00
sk Big round of minor updates: 2001-02-21 20:54:22 +00:00
smbus
sn Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
snc Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
snp Remove unused #include "snp.h" 2001-01-29 10:06:22 +00:00
sound increase timeouts for ad_wait_init() 2001-03-05 17:59:36 +00:00
speaker Staticize some malloc M_ instances. 2000-12-08 20:09:00 +00:00
sr Fix clock selection for X.21 interfaces. 2001-02-26 16:30:02 +00:00
stg Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
streams Extend kqueue down to the device layer. 2001-02-15 16:34:11 +00:00
sym Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
syscons Grab the process lock while calling psignal and before calling psignal. 2001-03-07 03:37:06 +00:00
tdfx Zap silly #if NPCI > 0 and the hoops that we jump through for the module 2001-01-29 11:38:39 +00:00
ti Big round of minor updates: 2001-02-21 20:54:22 +00:00
twe Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
tx Add support for SMC9432FTX card, possibly othe fiber optic SMC9432 family 2001-02-07 20:11:02 +00:00
usb Grab the process lock while calling psignal and before calling psignal. 2001-03-07 03:37:06 +00:00
vinum Fix vinum for both devfs and non-devfs systems. 2001-02-20 22:07:36 +00:00
vr Remember to actually program the MAC address into the unicast filter 2001-03-07 18:52:22 +00:00
vx When I converted this driver, I neglected to deal with packet alignment. 2000-12-07 23:30:51 +00:00
wds Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
wi Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
wl Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
xe Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00