Commit Graph

5033 Commits

Author SHA1 Message Date
msmith
3f7f525479 Validate the PCI bus number that we fetch from our parent, since there's no
guarantee that everything attached to *it* is a PCI bus.
2000-10-09 00:43:45 +00:00
phk
a4f549597e Initiate deorbit burn sequence for <machine/console.h>.
Replace all in-tree uses with necessary subset of <sys/{fb,kb,cons}io.h>.
This is also the appropriate fix for exo-tree sources.

Put warnings in <machine/console.h> to discourage use.
November 15th 2000 the warnings will be converted to errors.
January 15th 2001 the <machine/console.h> files will be removed.
2000-10-08 21:34:00 +00:00
n_hibma
f2b5910f00 Add HP PhotoSmart C500 id.
PR:	kern/21841
Submitted by:	josh@zipperup.org
2000-10-08 21:31:39 +00:00
bde
6590a30c38 Made this file compile again after move of stuff from <machine.ipl.h>
to <sys/ipl.h>.
2000-10-08 14:41:13 +00:00
bde
ed400ce5be Use schedsofttty() again (SMPng casualty with intentionally wrong fix
in rev.1.101).

Made this file compile again after move of stuff from <machine.ipl.h>
to <sys/ipl.h>.
2000-10-08 14:37:39 +00:00
bde
9a732eea7b Use schedsofttty() again so that siopoll() gets scheduled as designed
(SMPng casualty in rev.1.308 with wrong fix in rev.1.310).
2000-10-08 14:13:31 +00:00
gibbs
90447d2ee7 Correct corruption of the qinfifo in ahc_search_qinififo() for all
non-LVD controllers.  We only need to take special action on the qinfifo
if we have dectected the case of an SCB that has been removed from the
qinfifo but has not been fully DMAed to the controller.  A missing
conditional caused this code to be executed every time an SCB was
aborted from the queue

Don't attempt to print the path of an SCB that has been freed.

Clean up the traversal of the pending scb list in
ahc_update_pending_syncrates().  This has no functional change.

Correct ahc_timeout()'s requeing of a timedout SCB to effect a
recovery action.  We now use ahc_qinfifo_requeue() and a
new function ahc_qinfifo_count() instead of performing the
requeue inline.  The old code did not conform to the new qinfifo
method.

Clear the timedout SCB from the disconnected list.  This ensures
that the SCB_NEXT field is free to be used for queuing us to
the qinfifo.
2000-10-08 03:37:52 +00:00
n_hibma
2f43c70141 Regen. 2000-10-07 11:11:12 +00:00
n_hibma
c6c89ef633 Sync with NetBSD. More ids, more! 2000-10-07 11:10:53 +00:00
n_hibma
c6ababe072 Regen. 2000-10-07 11:02:25 +00:00
n_hibma
279764097c Zyxel keyboard Id 2000-10-07 11:01:54 +00:00
imp
fec7b68553 o Implement get_ivars so matching routines will work (this causes
compat probe routines to work).
o Have a null driver_added routines.  We need to be careful about probing
  until after we know we have a card.  For the moment, we do nothing
  (which is safe).  This fixes a panic when a driver is loaded w/o a
  card in the slot.

XXX still need to fix the resource list code.  It is totally busted and
XXX causes a panic in the child printing routine after the probe has
XXX succeeded.
2000-10-07 05:48:51 +00:00
imp
6830d0499d Fix arguments to kthread_create (submitted by takawata@freebsd.org).
Remove unnecessary includes
2000-10-07 05:42:43 +00:00
gibbs
91a024c35e Fix single character typo in legacy transfer settings function
thereby re-enable tagged queuing.
2000-10-06 19:34:40 +00:00
gibbs
1cc3d5d7b7 Bring in a slew of fixes that were supposed to be in the last commit.
In ahc_search_qinfifo, the SEARCH_REMOVE case must also handle
an SCB that has been removed from the QINFIFO but not yet been
fully dmaed to the card.

Correct locking for ahc_get_scb() calls.

Set SCB syncrate settings in ahc_execute_scb() to avoid a race
condition that could allow a newly queued SCB to be missed
by ahc_update_pending_syncrates().

When notifying the system of transfer negotiation updates, only
set the valid bits for tagged queuing and disconnection if the
path is fully qualified.  Sync/Wide settins apply to all luns
of a target, but tagged queuing and disconnection may change
on a per-lun basis.

Add missing ahc_unlock() calls in ahc_timeout() for the target
mode case.
2000-10-06 04:01:06 +00:00
jhb
27c334b71b During a verbose boot, call the null device 'null' rather than 'null0' to
be more consistent with the rest of the kernel.
2000-10-06 00:46:29 +00:00
archie
9226f07233 Driver for the Intel 82801AA (ICH) SMBus controller and compatibles.
Obtained from:	Whistle source tree
2000-10-06 00:09:46 +00:00
n_hibma
5b6fc885e2 Regen. 2000-10-05 23:11:13 +00:00
jhb
71938e9fcd - Heavyweight interrupt threads on the alpha for device I/O interrupts.
- Make softinterrupts (SWI's) almost completely MI, and divorce them
  completely from the x86 hardware interrupt code.
  - The ihandlers array is now gone.  Instead, there is a MI shandlers array
    that just contains SWI handlers.
  - Most of the former machine/ipl.h files have moved to a new sys/ipl.h.
- Stub out all the spl*() functions on all architectures.

Submitted by:	dfr
2000-10-05 23:09:57 +00:00
n_hibma
d3d06a3e7c Additional Ids 2000-10-05 23:09:48 +00:00
wpaul
094e009b7b Add support for parsing the media blocks from the SROM on 21143
adapters. This is necessary in order to make this driver work with
the built-in ethernet on the alpha Miata machines. These systems
have a 21143-PC chip on-board and optional daughtercards with either
a 10/100 MII transceiver or a 10baseT/10base2 transceiver. In both
cases, you need to twiddle the GPIO bits on the controller in order
to turn the transceivers on, and you have to read the media info
from the SROM in order to find out what bits to twiddle.
2000-10-05 17:36:14 +00:00
sos
de97df0285 Cleanup the chipset specific interrupt code a bit. 2000-10-05 08:28:06 +00:00
gibbs
eb2e3ded12 Correct pedantic errors in arrays generated by the assembler (trailing
comma in array declarations).

Output a constant indicating the number of critical section entries
in the firmware.
2000-10-05 04:25:42 +00:00
gibbs
53b245ea4d Convert the driver to use a single DMA for fetching new commands instead
of two (one to access the circular input fifo, the other to get the SCB).
This costs us a command slot so the driver can now only queue 254
simultaneous commands.

Have the kernel driver honor critical sections in sequencer code.

When prefetching S/G segments only pull a cacheline's worth but
never less than two elements.  This reduces the impact of the
prefetch on the main data transfer when compared to the 128
byte fetches the driver used to do.

Add "bootverbose" logging for transfer negotiations.

Correct a bug in ahc_set_syncrate() that would prevent an update
of the sync parameters if only the ppr_options had changed.

Correct locking for calls to ahc_free_scb().  ahc_free_scb() is no
longer protected internally to simplify ports to other platforms.

Make sure we unfreeze our SIMQ if a resource shortage has occurred
and an SCB is been freed.

ahc_pci.c:
	Turn on cacheline streaming for all controllers that support it.

	Clarify diagnostic messages about PCI interrupts.
2000-10-05 04:24:14 +00:00
sos
97127e8974 Fix the MASTERDEV breakage the caused the PIIX controllers to get
missed in the probe. This might break the CMD chips again, more
testing is needed on that, but we need the mainstream chips to
work again ...
2000-10-04 08:28:37 +00:00
jasone
4e290e67b7 Convert lockmgr locks from using simple locks to using mutexes.
Add lockdestroy() and appropriate invocations, which corresponds to
lockinit() and must be called to clean up after a lockmgr lock is no
longer needed.
2000-10-04 01:29:17 +00:00
sos
98f1b14aba Add support for ServerWorks ROSB4 ATA33 chipset.
Add support for CMD 648 ATA66 & CMD 649 ATA100 chipsets.

Fix the "resource already allocated" panic with the CMD and other
braindead controllers.

Add options ATA_ENABLE_TAGS, without this option tagged queuing will
not be attempted.
2000-10-03 13:12:36 +00:00
nyan
9d7b8375a5 Don't use bus_get_resource() and bus_get_resource_start() functions if
bus_alloc_resource() failed. So, error messages are changed more simply.

Suggested by:	"Matthew N. Dodd" <winter@jurai.net>
2000-10-03 11:47:34 +00:00
msmith
047ac5679f Fix up some more comments that were reversed.
Submitted by:	Niklas Hallqvist <niklas@appli.se>
2000-10-03 10:26:29 +00:00
msmith
1ae2451ffe Fix reversed comments re: OISR/OIMR
Submitted by:	Niklas Hallqvist <niklas@appli.se>
2000-10-03 08:28:04 +00:00
jhb
030e1f307a Move sys/dev/nulldev to sys/dev/null to be more consistent with naming
under sys/dev.
2000-10-02 20:16:37 +00:00
nyan
bd4026ebae Added NEC PC-9801-83, 84, PC-9801-103, 104, PC-9801N-25 and PC-9801N-J02R
support which use National Semiconductor DP8393X (SONIC) as ethernet
controller. Currently, this driver is used on only PC-98.

Submitted by:	Motomichi Matsuzaki <mzaki@e-mail.ne.jp>
Obtained from:	NetBSD/pc98
2000-10-02 14:27:20 +00:00
iwasaki
cbe743540c Fix StallOp implementaion. I've noticed that StallOp corresponds to
OsdSleepUsec(), SleepOp corresponds to OsdSleep() by reading ACPICA
source code.
 - Add OsdSleepUsec() which uses DELAY() simply.
 - Change unit of acpi_sleep() argument; microseconds to milliseconds.
2000-10-02 08:58:50 +00:00
archie
bc3a00b59c Add definition for PCIS_SERIALBUS_SMBUS PCI device subclass.
Remove cut & paste leftovers.
2000-10-02 00:41:43 +00:00
gibbs
205e8a1a92 ahc_set_transaction_status() takes an SCB. This makes it difficult to
use this helper function to report an error when SCB allocation fails.
2000-10-01 20:56:44 +00:00
iwasaki
7e501d2902 Remove ACPI_NO_OSDFUNC_INLINE option from kernel configuration. Now
that it's enabled in acpireg.h only if DIAGNOSTIC option is specified.
ACPICA OSD functions will be compiled in machine/acpi_machdep.c again
tentatively (if DIAGNOSTIC option is specified).
# Should we have acpica_osd.c ?
2000-10-01 08:17:47 +00:00
iwasaki
e50592ac57 - Add acpi_disable_events() and set it with EVENTHANDLER_REGISTER in order to
avoid power on again problem after acpi_soft_off() calling.
 - Implement SleepOp/StallOp in AML interpreter.  Also provide ACPICA
   compatibility.
 - Minor changes on __inline function declaration in acpica_osd.h
   (obtained from NetBSD porting).
2000-09-30 22:37:24 +00:00
msmith
43b494595e More updates to the ACPI code:
- Move all register I/O into acpi_io.c
 - Move event handling into acpi_event.c
 - Reorganise headers into acpivar/acpireg/acpiio
 - Move find-RSDT and find-ACPI-owned-memory into acpi_machdep
 - Allocate all resources (except those detailed only by AML)
   as real resources.  Add infrastructure that will make adding
   resource support to AML code easy.
 - Remove all ACPI #ifdefs in non-ACPI code
 - Removed unnecessary includes
 - Minor style and commenting fixes

Reviewed by:	iwasaki
2000-09-30 20:12:27 +00:00
scottl
22f6ca78dc Fix compiling with AAC_DEBUG. 2000-09-30 13:41:04 +00:00
dfr
ee266293b6 Make the alpha hacks dependant on __alpha__ instead of !__i386__. 2000-09-29 16:50:31 +00:00
imp
55c46e5b71 Add support for pccard attachments of the ex driver. It supports the
Olicom OC-2220 card, and maybe others.

Submitted by: iwasaki
Reviewed by: mdodd
2000-09-29 03:58:06 +00:00
nsayer
f01a7783fc Add suspend/resume hooks.
Submitted by: sean@stat.duke.edu
2000-09-28 14:02:49 +00:00
imp
c3af029613 Implement sn_pccard_match. The match routines are the compromise
matching methods so that we can run the same driver on both NEWCARD
and OLDCARD.  Also set the device description to the card that we
found, if any.

The sn driver should be ready when the NEWCARD catches up.  There's a
config activation issue as well as a kernel thread issue to resolve
first.
2000-09-28 07:35:06 +00:00
peter
04e4b06d1c Get out the roto-rooter and clean up the abuse of nexus ivars by the
i386/isa/pcibus.c.  This gets -current running again on multiple host->pci
machines after the most recent nexus commits.  I had discussed this with
Mike Smith, but ended up doing it slightly differently to what we
discussed as it turned out cleaner this way.  Mike was suggesting creating
a new resource (SYS_RES_PCIBUS) or something and using *_[gs]et_resource(),
but IMHO that wasn't ideal as SYS_RES_* is meant to be a global platform
property, not a quirk of a given implementation.  This does use the ivar
methods but does so properly.  It also now prints the physical pci bus that
a host->pci bridge (pcib) corresponds to.
2000-09-28 00:37:32 +00:00
msmith
1f23b408b2 Whitespace, spelling and comments cleanup. Try to bring this a little
closer to a consistent style without going totally overboard.  Preserve
the 8-space indents even though I loathe them.
2000-09-27 05:43:54 +00:00
msmith
26212795a8 Shut up some debugging messages that appear to have been left on by
default.

Fix the identify/probe/attach cycle somewhat.  Now in acpi_identify we
parse enough of the RSDT/FACP to find the communications port and
interrupt so that we can establish these as resources on the acpi device.

Pass the softc to acpi_queue_event so that it doesn't dereference NULL
when acpi_intr is invoked in the attach routine (because devclass_get_softc
isn't going to work yet).

Account for our allocated resources properly so that we can free them
if required.
2000-09-27 01:40:47 +00:00
iwasaki
16ca3f5f60 Add code for device wake capability during sleeping state.
- Add acpi_gpe_enable_bit() to manipulate GPE enable registers based
  on _PRW objects.
 - Add acpi_set_device_wakecap().  This will manipulate related
   PowerResource objects and execute _PSW method of the device.
 - Cleanup and some small fixes.

This code was implemented based on 7.2.1 _PRW in spec mainly.
2000-09-26 20:21:19 +00:00
phk
ebec87c8dc Call make_dev() with the correct minor number.
(no, this driver still doesn't play ball with DEVFS)
2000-09-26 19:09:44 +00:00
iwasaki
0cb15fca72 Add struct proc *acpi_thread in acpi_softc. 2000-09-26 17:42:34 +00:00
takawata
63a61f074e Clear intrrupt before kthread gets ready.
Submitted by:	iwasaki
2000-09-26 12:39:37 +00:00
takawata
3838f94560 Add event queueing kernel thread and GPE related code. 2000-09-26 12:09:57 +00:00
gibbs
e04f70f17c Correct a logic mistake introduced in a recent cleanup of
ahc_build_transfer_msg() that would cause use to fail to send the
DT_REQ ppr_option in a PPR message for periods where DT transfers
are required.
2000-09-25 21:56:19 +00:00
phk
6da2b22ce5 GC some old no longer supported options. 2000-09-25 12:38:55 +00:00
tanimura
25b044e9f1 Allocate memory resource to access the attribute memory of a card.
Reviewed by:	imp
2000-09-25 06:01:42 +00:00
sos
1e62854c84 Fix the breakage that snatched the ioports from the fdc device.
Fix promise support.
2000-09-24 18:19:43 +00:00
cg
3e27c54902 prepare for adding a rate conversion feeder.
move format conversion feeders to feeder_fmt.c - no pertinent history so no
repo-copy.
2000-09-23 22:11:32 +00:00
cg
27a6dc9c5a only probe mandatory channels on known bad codecs 2000-09-23 22:00:09 +00:00
jhb
a307605d91 Enable the snd_maestro module and have the snd_driver module depend on it.
Approved by:	cg
2000-09-23 17:35:37 +00:00
jasone
0633919abe Don't #include <sys/proc.h>, since machine/mutex.h does it now. 2000-09-23 00:01:37 +00:00
gibbs
d98dfab164 Add Perforce RCSIDs for easy revision correlation to my local tree.
Add support for constructing a table of critical section regions in
the firmware image.  The kernel driver will soon have support for
single stepping the sequencer outside of a critical region prior
to starting exception handling.
2000-09-22 22:19:55 +00:00
gibbs
872c96a9d4 Add Perforce RCSIDs for easy revision correlation to my local tree.
ahc_pci.c:
	Bring back the AHC_ALLOW_MEMIO option at least until the
	memory mapped I/O problem on the SuperMicro 370DR3 is
	better understood.

aic7xxx.c:
	If we see a spurious SCSI interrupt, attempt to clear it and
	continue by unpausing the sequencer.

	Change the interface to ahc_send_async().  Some async messages
	need to be broadcast to all the luns of a target or all the
	targets of a bus.  This is easier to achieve by passing explicit
	channel, target, and lun parameters instead of attempting to
	construct a device info struct to match.

	Filter the sync parameters for the PPR message in exactly the
	same way we do for an old fashioned SDTR message.

	Correct some typos and correct a panic message.

	Handle rejected PPR messages.

	In ahc_handle_msg_reject(), let ahc_build_transfer_msg() build
	any additional transfer messages instead of doing this inline.

aic7xxx.h:
	Increase the size of both msgout_buf and msgin_buf to
	better accomodate PPR messages.

aic7xxx_freebsd.c:
	Update for change in ahc_send_async() parameters.

aic7xxx_freebsd.h
	Update for change in ahc_send_async() parameters.

	Honor AHC_ALLOW_MEMIO.

aic7xxx_pci.c:
	Check the error register before going into full blown PCI
	interrupt handling.  This avoids a few costly PCI configuration
	space reads when we run our PCI interrupt handler because another
	device sharing our interrupt line is more active than we are.

	Also unpause the sequencer after processing a PCI interrupt.
2000-09-22 22:18:05 +00:00
gibbs
41b2530efd Use quoted includes instead of full path references inside the aic7xxx
sequencer files.  Different platforms place the included files in different
locations and it is easier to modify the include path passed as arguments
to the assembler than adding #ifdef support to the assembler.

Remove a spurious 'nop' instruction.
2000-09-22 22:06:44 +00:00
wpaul
067fa527a3 Tweak the aue driver so that the homePNA PHYs will be detected and
attached by the pnaphy driver. This seems to work fine with my sample
ADMtek adapter (which has both 10/100 ethernet and homePNA connectors
and hardware).
2000-09-22 18:53:05 +00:00
nyan
7e9cf0ffb0 Removed unneeded include files.
Submitted by:	phk
2000-09-22 09:59:23 +00:00
jhb
cc0d71a81f - Wrap functions and variables that aren't used in the alpha console probe
with #ifndef __alpha__/#endif
- Add function prototypes for functions used during the alpha console
  probe and gdb port setup inside of #ifdef __alpha__/#endif.
2000-09-22 08:42:30 +00:00
jhb
dfad46a0af Fix several 64-bit-ism warnings due to sizeof(int) != sizeof(void *) on
the alpha.
2000-09-22 08:40:05 +00:00
imp
433760d5d5 o Merge in changes to the NetBSD sources:
pcmciavar.h	1.9->1.12
		1.12, enami, minor coding nits
		1.11, augustss, (pcmcia_devinfo NRFB)
		1.10, cgd, add generic lookup routines
	pcmcia.c	1.14->1.23
		1.23, drochner, (probe code printing, NRFB)
		1.22, augustss, KNF
		1.21, uch, (hpcmips tweaks NRFB)
		1.20, chopps, remove bogus debug
		1.19, enami, minor coding nits
		1.18, augustss, (pcmcia_devinfo NRFB)
		1.17, nathanw, LP64 printf fixes
		1.16, cgd, add generic lookup routines
		1.15, aymeric, printf fixes
	NRFB == not relevant to freebsd
o Expand the pccard matching routines to include the ability to match
  against the CIS strings since our current driver database is based on
  that.
o Add lots more ivars to get the information necessary to snag these values.
2000-09-22 01:15:26 +00:00
msmith
826d816451 Fix a race in ASR_ccbAdd and ASR_ccbRemove, which were both manipulating
the ccb queue without masking interrupts.

Submitted by:	Petr Lampa <lampa@fee.vutbr.cz>
2000-09-21 20:21:30 +00:00
mjacob
106cf32d9b some copyright cleanups 2000-09-21 20:16:04 +00:00
wpaul
61832b06a8 Add the PCI device ID for the on-board ethernet controllers on the
Intel 815E motherboard, which I believe is an i82562. Seems to work
just fine with the fxp driver.
2000-09-21 20:01:57 +00:00
mjacob
a5b979afa0 Inintialize the queue index stuff from what the f/w sends back- just
in case it's insane enough to not do what you tell it to.

Print out (LOGINFO level) initiator ID.
2000-09-21 17:06:45 +00:00
mjacob
ed5fa86ecb remove unneeded includes
(obtained from phk@freebsd.org)
2000-09-21 16:32:38 +00:00
iwasaki
01521915aa Fix LINT breakage by options ACPI_NO_OSDFUNC_INLINE.
Also space/tab-fix in NOTE.
Grrr, my bad.

Pointed-out by:	eivind
2000-09-21 13:01:19 +00:00
markm
2e74df8cf9 Remove unneeded includes.
Submitted by:	phk
2000-09-21 06:23:16 +00:00
iwasaki
de69fdf50b Add new function in AML interpreter; aml_invoke_method().
Also remove unneeded includes in aml_obj.c and aml_parse.c.

This new function takes 'struct aml_name *' as a argument rather than
'char *' where aml_invoke_method_by_name() does.  It's worth to have
these two interfaces in many cases.
2000-09-20 22:53:39 +00:00
imp
e3b148ff2f remove 5 unnecessary includes, per phk's script 2000-09-20 19:34:17 +00:00
imp
0f024efc37 Remove 7 unnecessary includes frmo phk's script 2000-09-20 19:31:37 +00:00
imp
ace346f2ab Remove 8 unnecessary includes from phk's script 2000-09-20 19:05:32 +00:00
wpaul
258ce9d2c6 Add a homePNA PHY driver. This is really only a stub: MII-based homePNA
PHYs tend to look like 10mbps PHYs with no autonegotiation. This allows
us to display the proper media type and link status however.
2000-09-20 17:04:30 +00:00
wpaul
a5f9667ade regenerate 2000-09-20 17:02:32 +00:00
wpaul
8edfa1d6e7 Add the ID for the built-in homePNA PHY in the AMD 79C798 controller. 2000-09-20 17:02:16 +00:00
sos
af52df6334 Remove unneeded includes
Pointed out by: phk
2000-09-20 07:00:24 +00:00
gibbs
d33239bba3 Remove the last two uses of ahc->unit in the FreeBSD version of the driver.
ahc->unit is depricated and will be going away as soon as the Linux
driver catches up.  In the FreeBSD case, it is always initialized to 0
and this caused some strangeness in registering multiple ahc controllers
with CAM.

Noticed by:	Tor.Egge@fast.no
2000-09-20 04:46:15 +00:00
iwasaki
41b627fced Ignore power button and sleep button events for 5 sec.
Wakeup event is generated by power button and/or sleep button on some
laptops but this also generates SCI interrupt, and shutdown the system
as result.  So this kind of mechanism is introduced so that acpi
driver ignore given events for certain period.
2000-09-20 01:53:11 +00:00
iwasaki
25e47ad7a2 Improve region I/O sub-routines by re-writing most of low level part
of AML interpreter.
 - Delete and cleanup a lot of almost duplicated code in kernel/userland.
 - Add new common functions for kernel/userland code.
      aml_adjust_readvalue(), aml_adjust_updatevalue(),
      aml_region_handle_alloc(), aml_region_handle_free() and
      aml_region_io().
 - Add primitive functions for both versions of kernel/userland in order to
   have shared code as much as possible.
      aml_region_read_simple(), aml_region_write_simple(),
      aml_region_prompt_read(), aml_region_prompt_write() and
      aml_region_prompt_update_value().
 - Consider update rule and access type in field flags. Also add a lot of
   definitions for the flags.
 - Fix bugs on bit manipulation for read/write operations.
 - Fix bugs on IndexField I/O part.  Also add workaround for temporary
   object corruption during StoreOp interpretation.
2000-09-20 01:01:32 +00:00
wpaul
1794dd5857 If this is a Davicom DM9102A and we're enabling the homePNA link, force
dc_link to 1 and don't activate the tick routine. Without this, dc_start()
always thinks the link is down and never transmits in homePNA mode.
2000-09-20 00:59:17 +00:00
sos
344ad581f6 Add support for tagged queuing on ATA drives. There is only support for
IBM's DPTA and DTLA series of drives (no other disk vendors are known
to support this) on non-Promise controllers (promise controllers lockup
when given the tagged queuing specific commands).
It gives especially master/slave comboes about 5% better performance.

Add support for the Promise ATA100 OEM chip (pdc20265)

Add support for the Cyrix 5530

Change the way status is read from the drives, use the alternate
status reg when possible.

Better support for DEVFS, the acdXtY devices are now created when needed.

Lots of little cleanups.
2000-09-19 11:08:39 +00:00
imp
222e32bc49 Implement indirection in the pccard probe/attach. This should make it
possible to have different probe/attach semantics between the two
systems and yet still use the same driver for both.

Compatibility methods for OLDCARD drivers.  We use these routines to make
it possible to call the OLDCARD driver's probe routine in the context that
it expects.  For OLDCARD these are implemented as pass throughs to the
device_{probe,attach} routines.  For NEWCARD they are implemented such
such that probe becomes strictly a matching routine and attach does both
the old probe and old attach.

compat devices should use the following:

	/* Device interface */
	DEVMETHOD(device_probe),	pccard_compat_probe),
	DEVMETHOD(device_attach),	pccard_compat_attach),
	/* Card interface */
	DEVMETHOD(card_compat_match,	foo_match),	/* newly written */
	DEVMETHOD(card_compat_probe,	foo_probe),	/* old probe */
	DEVMETHOD(card_compat_attach,	foo_attach),	/* old attach */

This will allow a single driver binary image to be used for both
OLDCARD and NEWCARD.

Drivers wishing to not retain OLDCARD compatibility needn't do this.

ep driver minorly updated.

sn driver updated more than minorly.  Add module dependencies to allow
module to load.  Also change name to if_sn.  Add some debugging code.
attempt to fix the cannot allocate memory problem I'd been seeing.
Minor formatting nits.
2000-09-19 04:39:20 +00:00
msmith
d9fb5a86b5 Include <sys/proc.h> so that we can dereference something in the proc
structure.  Looks like someone removed a nested include somewhere else.

Submitted by:	gallatin, dg
2000-09-19 00:35:03 +00:00
dg
c87b8ba8f7 Removed NetBSD support, which bit-rotted long ago.
Changed new SMP locking macros given the new situation.
2000-09-18 21:12:19 +00:00
rwatson
b55f3608d0 Include <sys/proc.h> to silence suser() compiler warning.
Approved by:	markm
2000-09-18 20:42:04 +00:00
sos
5bfbc0f339 Only read to the end of the select track. 2000-09-18 12:13:32 +00:00
tanimura
e368cca5cf Since the unit number of a midi/sequencer device is expressed in 4
bits, we can configure only up to 16 units.
2000-09-18 10:17:38 +00:00
cg
9bd1dd51e8 dynamify- probe codec for supported channels
add channel mappings for mixer
2000-09-17 23:51:00 +00:00
cg
2078d1f36c fix warnings 2000-09-17 23:46:32 +00:00
dg
add9046a97 Added a couple more missing FXP_SPLVAR()'s. 2000-09-17 23:23:22 +00:00
dg
46ce32e170 As a minor optimization, do suspended checking more like it was originally
in the PR - before the while loop.
2000-09-17 23:04:57 +00:00
dg
683279a04a Added missing FXP_SPLVAR() to fxp_intr(). 2000-09-17 22:59:58 +00:00
dg
7d81424343 Attempt to replicate the new fxp SMP locking in the changes committed
in the previous (APM suspend/resume) commit.
2000-09-17 22:20:33 +00:00
dg
6fd9f8fc68 Added support for APM suspend/resume.
PR:		18756
Submitted by:	mike ryan <msr@elision.org>, with modifications by me.
2000-09-17 22:12:12 +00:00
cp
a1dbfee158 Add include of proc.h to make compile without SMP defined. This
change is likely interm, the include happens automagically
when SMP is defined.

Obtained from:	Jason Evans.
2000-09-17 22:01:21 +00:00
cp
95ec42afde Add locking to make able to run without the Giant lock being held. This
is enabling as all entries are still called with Giant being held.
Maintaining compatability with NetBSD makes what should be very simple
kinda ugly.

Reviewed by:	Jason Evans
2000-09-17 13:26:25 +00:00
gibbs
8a948fec9d Today is just not my day. Really get the right file. 2000-09-16 21:55:31 +00:00
gibbs
39399239a0 Pull the correct file over to freefall. 2000-09-16 20:59:12 +00:00
gibbs
30ccffb914 Add PCIM_CMD_MWRICEN, the bit in the command register in PCI space
that enables memory write and invalidate cycles on a bus master.
2000-09-16 20:06:13 +00:00
gibbs
0352a10958 Move aicasm to its own subdirectory. 2000-09-16 20:02:39 +00:00
gibbs
7691c1f500 Move aicasm to its own subdirectory.
Separate our platform independent hooks from core driver functionality
shared between platforms (FreeBSD and Linux at this time).

Add sequencer workarounds for several chip->chipset interactions.

Correct external SCB corruption problem on aic7895 based cards (3940AUW).

Lots of cleanups resulting from the port to another OS.
2000-09-16 20:02:28 +00:00
phk
7987bb12a4 Make LINT link.
cy driver is broken post SMPng.
2000-09-16 19:04:24 +00:00
phk
b88f8acdff Make LINT compile. 2000-09-16 18:48:11 +00:00
phk
1e9e645cf6 Make LINT compile again. 2000-09-16 18:46:05 +00:00
imp
3599553fbc Change the interface to pccard_function_init. The interface is such
that it looks for an acceptible one.  Once it finds it, it should set
the resources for the device.  I say "should" because I've not written
that.  Also set an ivar for the child of pccard.  Minor fix to the
attach message printed, we lose the slot number, which I'll have to
restore later.  Adjust the pccard ivar so that we can save the
function that corresponds to this driver so we can enable and disable
it more easily.  Save a pointer to the function so we know what we're
dealing with.

There should be some way for the driver to specify which cfg it wants
to activate.  For now the pccard_function_init function just picks
one, but we'll have to revisit this going forward.  I'm not doing it
now because I'd need some way to activate the card many times and I'm
not sure that is desirable or even safe with some cards.
2000-09-16 06:52:20 +00:00
jhb
3bfd6f0c52 Use driver_intr_t instead of the now defunct inthand2_t. 2000-09-15 19:09:15 +00:00
iwasaki
9a638b9d56 Add acpi_send_pm_event() to inform all devices that the system is
going to sleep and back from sleep.
Also re-enabling some acpi registers on wakeup.
2000-09-14 23:29:37 +00:00
jhb
ebc05310ca Remove the mtx_t, witness_t, and witness_blessed_t types. Instead, just
use struct mtx, struct witness, and struct witness_blessed.

Requested by:	bde
2000-09-14 20:15:16 +00:00
nyan
06ebe902ea - Newbus'ify and bus_space'ify.
- Separate bus dependent part and independent part.
- Moved source files to sys/dev/fe (repo copied).
- Fixed some comments by chi@bd.mbn.or.jp (Chiharu Shibata)

Tested by:	bsd-nomads@clave.gr.jp and
		FreeBSD98-testers@jp.freebsd.org
2000-09-14 12:02:07 +00:00
jhb
7013b83225 - Remove the inthand2_t type and use the equivalent driver_intr_t type from
newbus for referencing device interrupt handlers.
- Move the 'struct intrec' type which describes interrupt sources into
  sys/interrupt.h instead of making it just be a x86 structure.
- Don't create 'ithd' and 'intrec' typedefs, instead, just use 'struct ithd'
  and 'struct intrec'
- Move the code to translate new-bus interrupt flags into an interrupt thread
  priority out of the x86 nexus code and into a MI ithread_priority()
  function in sys/kern/kern_intr.c.
- Remove now-uneeded x86-specific headers from sys/dev/ata/ata-all.c and
  sys/pci/pci_compat.c.
2000-09-13 18:33:25 +00:00
imp
0cbfd9f924 Add ID for 3C1. It is a etherlink iii in a CompactFlash form factor.
It doesn't seem to work, but at least is identified correctly.  Minor
tree housekeeping on my part.
2000-09-13 03:57:37 +00:00
msmith
b3a68de811 A new driver for PCI:SCSI RAID controllers based on the Adaptec FSA
design.  This includes integrated Dell RAID controllers, the Dell
PERC 2/QC and the HP NetRAID-4M.
2000-09-13 03:20:35 +00:00
markm
8310a08654 The "struct proc" argument to read_random was ill-conceived, and a
hangover from previous experimentation. Remove it. This will clean
up gratuitous needs for forward references and other namespace
pollution.
Moaned about by:	bde
Brought to my attention by:	bp
2000-09-12 13:13:22 +00:00
ps
5f7726f4e7 Move the detection of Linksys PCMCIA cards from attach to probe.
This should solve the problems people were seeing with this driver.

Reported by:	phk & others.
2000-09-12 11:03:12 +00:00
msmith
789d5e9f4c Whoops. The AMR_QUARTZ_GOFASTER option is meant to disable, not enable
this check.  It looks like it doesn't work on at least the 466 controllers.
2000-09-11 23:19:13 +00:00
dwmalone
eeb5416b47 Add the ability to define a "shutdown" and "shutdown and poweroff" key
to syscons. I have a man page to follow describing the format of the
kbdmap file.

PR:		19273
Reviewed by:	sheldonh
2000-09-11 20:37:42 +00:00
jhb
5a1ae8110e Move the prototypes for random_set_wakeup* from yarrow.c to yarrow.h so that
both yarrow.c and harvest.c can use them.

Approved by:	markm
2000-09-11 19:31:28 +00:00
roger
b4359f4581 Make MOD_UNLOAD return EBUSY to prevent it being unloaded automatically when we
unload the bktr driver.
Change the sub-section from SI_SUB_PSEDUO to SI_SUB_DRIVERS to make
sure the module initialises before the bktr module
2000-09-11 12:23:50 +00:00
roger
2d1297fbf3 Change to SI_ORDER_FIRST to make sure this module runs before
the bktr module if both are loaded at the same time (eg in the boot
loader)
2000-09-11 10:37:27 +00:00
roger
d5e49687c7 Add MODULE_VERSION and MODULE_DEPENDS to make the bktr module load the
bktr_mem module
2000-09-11 07:14:43 +00:00
jhb
25c0ff28f3 Add a nasty hack to get remote kernel gdb working from ddb. ddb would
complain before that a suitable gdb port had not been setup because gdbdev
was NULL.  This abuses the fact that the gdb port is hard-coded to the
address normally assigned to sio1 and thus hard-codes in sio1 as the gdb
port.  Yuck.
2000-09-11 04:33:36 +00:00
jhb
0ccc0648b7 - Use RFHIGHPID when creating the kthread to get a more sensible pid.
- Don't fake walking a tailq.  Instead, use a while loop that pulls items
  off the head of the queue while the queue is not empty.
2000-09-11 04:09:08 +00:00
roger
2957843814 Update to driver 2.15.
Main change is the addition of the bktr_mem module.

This holds onto the bktr driver's contiguously allocated memory
when the bktr driver is unloaded and reloaded.

This has to be done because it is virtually impossible to get
contiguous memory once a system is running.

Also tidied up the use of SMBUS, added a new Hauppauge tuner type (0x2c)
and a new Flyvideo vendor ID.
2000-09-10 14:34:08 +00:00
markm
92be8785e1 Harvest mouse events for the entropy device in a better place. In the
new location, all mouse events are harvested, not just the ones being
written out to moused(8). This means that mouse entropy is harvested
at the consoles as well as in X.
2000-09-10 14:27:17 +00:00
markm
bda6631159 Large upgrade to the entropy device; mainly inspired by feedback
from many folk.

o The reseed process is now a kthread. With SMPng, kthreads are
  pre-emptive, so the annoying jerkiness of the mouse is gone.

o The data structures are protected by mutexes now, not splfoo()/splx().

o The cryptographic routines are broken out into their own subroutines.
  this facilitates review, and possible replacement if that is ever
  found necessary.

Thanks to:		kris, green, peter, jasone, grog, jhb
Forgotten to thank:	You know who you are; no offense intended.
2000-09-10 13:52:19 +00:00
cg
cda24837e2 disable 16bit mono support- this will be handled by software conversion to
stereo as hardware mono is very noisy
2000-09-09 21:31:06 +00:00
cg
b5350bb3a5 add 16bit mono/stereo conversion feeder
prefer feeder chains of length 1 over length 2
2000-09-09 21:24:03 +00:00
cg
a081b436a3 detach support
remove un-needed setdir functions
add bus_teardown_intr calls where necessary
destroy our dma tags where necessary
destroy ac97 before releasing resources
2000-09-09 19:21:04 +00:00
jhb
26e551127d Back out my previous commit as well as some SMPng changes to revert the
siosetwater() function to its previous behavior of always disabling
interrupts and obtaining the com_lock before returning.

Requested by:	bde (in principle)
2000-09-08 08:50:25 +00:00
grog
5d888c38ed siointr1: Schedule soft interrupt when needed. This fixes the "no
interrupt" problem people had seen with SMPng.

Approved by:       jasone
Tested by:         bp
2000-09-08 06:58:58 +00:00
jhb
7818bcb78c Fix a problem where we would recursively try to get the com lock within
comparam when calling siosetwater().

Noticed by:	bp
2000-09-08 00:35:46 +00:00
mjacob
ca48f25217 Per msmith's request, don't attach to Qlogic 12160 id'd cards that have
a certain SubVendorID.
2000-09-07 20:27:40 +00:00
wpaul
e7db16f407 Special-case the LED twiddling code so that it doesn't do anything
on the NEC VersaPro NoteBook PC. This 21143 implementation has no LEDs,
and flipping the LED control bits somehow stops it from establishing
a link. We check the subsystem ID and don't flip the LED control
bits for the NEC NIC.
2000-09-07 18:51:04 +00:00
wpaul
2e3a03013d Close PR #20963. Do not pass encryption keys back to the caller via
wi_ioctl() unless they're the superuser.
2000-09-07 17:05:12 +00:00
jasone
769e0f974d Major update to the way synchronization is done in the kernel. Highlights
include:

* Mutual exclusion is used instead of spl*().  See mutex(9).  (Note: The
  alpha port is still in transition and currently uses both.)

* Per-CPU idle processes.

* Interrupts are run in their own separate kernel threads and can be
  preempted (i386 only).

Partially contributed by:	BSDi (BSD/OS)
Submissions by (at least):	cp, dfr, dillon, grog, jake, jhb, sheldonh
2000-09-07 01:33:02 +00:00
cg
434a102504 ess maestro driver - not enabled by default
Submitted by:   Taku YAMAMOTO <taku@cent.saitama-u.ac.jp>
2000-09-06 20:10:55 +00:00
wpaul
73d445d426 Add support for D-Link DSB-650 USB ethernet adapter. 2000-09-06 19:35:01 +00:00
wpaul
275fd0d63f Regenerate. 2000-09-06 19:28:47 +00:00
wpaul
b7ef169503 Add new device ID for the D-Link DSB-650 USB ethernet adapter. This is
a pegasus device, which has product ID 0xABC1. I'm not sure why they
changed it; there's already an entry for a DSB-650TX.
2000-09-06 19:28:27 +00:00
cg
4940b0a8a7 initial support for multiple ac97 codecs 2000-09-05 21:08:01 +00:00
cg
37e1644191 add detach support 2000-09-05 21:06:11 +00:00
cg
b878b7cbc6 allow a null setdir implementation 2000-09-05 21:00:45 +00:00
cg
55b00bdc52 be more verbose about failed unload attempts 2000-09-05 20:58:51 +00:00
cg
d76980428d tidy up a little, add a mask for 32bit formats 2000-09-05 20:56:31 +00:00
imp
d0a5f2be36 MFNetBSD:
1.6 2000/04/12 21:07:55 scw
	Add support for the SOHOware PCMCIA Ethernet card, model ND5100-E.
	This seems to be a re-badged NDC (National Datacomms. Corp) card.
	It needs a quirk entry due to lack of manufacturer tuple in the CIS.
	For some reason, the 'Tx/Rx' LED on the connector module is inverted
	such that it is off during network activity...
2000-09-05 18:25:49 +00:00
gehenna
61412ddf36 Regen. 2000-09-05 16:01:34 +00:00
gehenna
7f7dfca294 Add product ID (Prolific ATAPI-4 Bridge Controller).
Reported by: "K.Sumitani" <sumitani@bd2.hnes.nec.co.jp>
2000-09-05 16:00:55 +00:00
n_hibma
3eadff95f5 Regen. 2000-09-05 12:28:33 +00:00
n_hibma
a9f667eb59 Fix typo's 2000-09-05 12:26:37 +00:00
n_hibma
0f6874ce0d Loads of scanner Ids. 2000-09-05 12:24:05 +00:00
sheldonh
75c63c707d Add ZTIA001 - Zoom Internal V90 Faxmodem.
PR:		21028
Submitted by:	Glenn Johnson <glennpj@charter.net>
2000-09-05 09:42:47 +00:00
peter
6707cffa6f Regenerate 2000-09-05 01:10:33 +00:00
peter
7fafcfea9c When dumping the 'found devices' list in verbose mode, actually show the
bus/slot/function numbers.  The old PCI code used other markers or
something, but without it here under the new pci code it is very hard to
tell which device is which (this only affects bootverbose mode).
2000-09-05 00:32:19 +00:00
n_hibma
344d099229 Support for RBC devices, like Sony Memory Sticks.
Not extensively tested yet, so be warned.

Submitted by:	Gerd Knops <gerti@bitart.com>
2000-09-04 15:34:14 +00:00
n_hibma
269d974fe8 Add the id for the Sony memory sticks. 2000-09-04 15:29:42 +00:00
sheldonh
9384a16e49 Add Boca K56Flex PnP modem.
PR:		21000
Submitted by:	Andrew Sparrow <spadger@best.com>
2000-09-04 13:50:37 +00:00
groudier
b87dbd50a9 PR: kern/20895
PR kern/20895:
- Add FE_DAC new feature flag to distinguish between
  64 bit PCI addressing (DAC cycles) and 64 bit PCI
  interface (64 bit Memory BARs).
- Properly deal with chips that have a 32 bit PCI
  interface but support and may generate DAC.
  (Only SYM53C895A for now).

PR misc/17584 (at least partially addressed):
- Try detecting hardware combinations that trigger
  spurious PCI master parity error detections by the
  PCI chip. This work-around is implemented in the
  `snooptest' routine and consists in retrying with
  PCI master parity checking disabled if such an
  error is reported by the PCI chip during this test.

Other:
- Fix a tiny bug in WIDE negotiation that was very
  unlikely to be triggerred. The BUS width was wrongly
  compared against chip's max. offset.
2000-09-03 12:36:21 +00:00
peter
5b3b8d25cc Replace previous change by a move of a #include since something else
#includes "smbus.h".    There is still some bogus (but harmless) stuff
here surrounding the #include <sys/bus.h> includes here and elsewhere in
the bktr code.
2000-09-03 05:54:40 +00:00
peter
e9cfe40576 If we are going to test NSMBUS, we had better #include the file that
defines it.  This creates more warnings rather than less though. These
had gone undetected until now. :-(
2000-09-03 05:44:33 +00:00
peter
fe3678e285 Fix warnings by moving static functions before they are used. 2000-09-03 05:32:09 +00:00
cg
31386ce34a update for phk's last devfs commit 2000-09-02 23:14:46 +00:00
phk
e47f61e183 Avoid the modules madness I inadvertently introduced by making the
cloning infrastructure standard in kern_conf.  Modules are now
the same with or without devfs support.

If you need to detect if devfs is present, in modules or elsewhere,
check the integer variable "devfs_present".

This happily removes an ugly hack from kern/vfs_conf.c.

This forces a rename of the eventhandler and the standard clone
helper function.

Include <sys/eventhandler.h> in <sys/conf.h>: it's a helper #include
like <sys/queue.h>

Remove all #includes of opt_devfs.h they no longer matter.
2000-09-02 19:17:34 +00:00
cg
0ab175f21b add a missing return statement, doh. 2000-09-02 18:55:01 +00:00
iwasaki
6805d4dd08 Add ACPI_BUS_SPACE stuff definitions in acpi_machdep.h.
Change to include this file rather than acpica_osd.h to use
only ACPI_BUS_SPACE stuff.
2000-09-02 15:06:54 +00:00
phk
5b79681c70 Bite the bullet and provde memcmp() and memset(), this will be cheaper
than all the copy&paste versions we already have :-(
2000-09-02 13:34:52 +00:00
n_hibma
827cc0ab25 Don't check for ohci/uhci to be loaded, check for the usb module. 2000-09-02 10:17:58 +00:00
wpaul
963489112f Define some more bits in CSR15 needed for previous change. 2000-09-02 00:02:51 +00:00
wpaul
069ba53eda Make the blinkylights on non-MII 21143 cards work. We need to enable
the link and activity LED control bits in CSR15 in order for the
controller to drive the LEDs correctly. This was largely done for the
ZNYX multiport cards, but should also work with the DEC DE500-BA
and other non-MII cards.
2000-09-01 23:59:54 +00:00
msmith
8221b137c1 If a base address register has been set up by the BIOS, but the relevant
enable bit hasn't been set in the command register, set the bit and
honour the register.  It seems that quite a few lazy BIOS writers
aren't bothering to do this, which upsets the existing code and causes
us to miss out on properly-configured devices.
2000-09-01 23:09:02 +00:00
msmith
2cc52c55cd Move the 'asr' driver to cdev major 154, since 97 is already taken. 2000-09-01 21:14:17 +00:00
iwasaki
d6381a4a90 Change the probing order priority of acpi so that acpi is probed after
pcib instance is initialized because accesses to PCI_Config region can
occur during ACPI initialization.
Note that this is a short term solution, more consideration will be
required in order to integrate ACPI into the newbus probe sequence.
2000-09-01 20:37:07 +00:00
cg
a6b7de97e3 change mixer api slightly
change channel interface - kobj implementation coming soonish
make pcm_makelinks not panic if modular
add pcm_unregister()

these changes support newpcm kld unloading, but this is only implemented
by ds1.c
2000-09-01 20:09:24 +00:00
obrien
a4f6a02cf8 Cleanup after repo copy of sys/svr4 to sys/compat/svr4. 2000-09-01 08:47:14 +00:00
msmith
7b92468572 Add MAINTAINER tag to aid updaters in finding the responsible parties. 2000-09-01 07:53:04 +00:00
msmith
3cfec8ce1d Add the 'asr' driver, supplied by Mark Salyzyn of Adaptec (nee DPT).
This provides support for the Adaptec SCSI RAID controller family,
as well as the DPT SmartRAID V and VI families.

The driver will be maintained by Mark and Adaptec, and any changes
should be referred to the MAINTAINER.
2000-09-01 07:51:25 +00:00
peter
28159a08e9 Remove duplicate static definition of pci_devclass 2000-08-31 21:27:51 +00:00
iwasaki
e6fd189e34 Cleanup on power off code under ACPI.
- Remove DELAY() kludge before power off.
 - Move EVENTHANDLER_REGISTER to acpi_attach().
 - Pass RB_POWEROFF flag to shutdown_nice().

Reviewed by:	msmith
2000-08-31 11:15:03 +00:00
msmith
afc6787158 Make it possible to pass boot()'s flags to shutdown_nice() so that the
kernel can instigate an orderly shutdown but still determine the form of
that shutdown.  Make it possible eg. to cleanly shutdown and power off the
system under ACPI when the power button is pressed.
2000-08-31 00:08:50 +00:00
msmith
57e68c62d1 Major update to the AMI MegaRAID driver.
- New support for 40LD firmware found in Series 475 and 471 adapters.
 - Better support for 8LD firmware adapters
 - Ioctl passthrough interface for userland utilities.
 - Improved error handling and queueing.
 - Several bugfixes (including the 'still open' shutdown bug and
   closing some small race conditions).
 - Zone-style command allocator, reducing memory wasted under heavy
   load conditions.
 - CAM interface (disabled and not fully working) for SCSI passthrough
   access to non-disk devices

Thanks to AMI for supplying a pile of new adapters and various other
help in making this happen.
2000-08-30 07:52:50 +00:00
imp
00a3fcaf80 Add comment about why the deletion of children is necessary in detach. 2000-08-30 06:56:03 +00:00
cg
5c34b0eac7 remove stuff accidentally left in last commit 2000-08-29 20:53:56 +00:00
cg
0ee01daa5c suspend/resume for ds1 driver
PR:		misc/20891
Submitted by:	Ira L. Cooper <ira@mit.edu>
2000-08-29 20:50:42 +00:00
iwasaki
6ee80831a1 Refine implementation of PowerResource manipulation sub-routines.
- Add new funcions for device state stuff;
   acpi_get_current_device_state() and acpi_set_device_state()
 - Add new funcions for power resource stuff;
   acpi_powerres_init(), acpi_powerres_debug(),
   acpi_get_current_powerres_state() and acpi_set_powerres_state()

These were implemented based on 7.1, 7.2, 7.2.2, 7.2.3, 7.2.4, 7.3,
7.3.3, 7.4, 7.4.1, 7.4.2, 7.4.3 and 7.5 of ACPI spec 1.0b.
2000-08-29 20:38:31 +00:00
iwasaki
a8d8728b12 A lot of changes on acpi driver code.
- The "Osd*" stuff went away from acpi driver code, use the bus_space
   functions directly instead.
 - Fix minor english bugs.
   acpi_registers_input  -> acpi_register_input
   acpi_registers_output -> acpi_register_output
 - Remove all magic numbers for the sleeping states.  We now have
   #defines for these.
 - NULL is treated the same as the return from aml_get_rootname in
   aml_find_from_namespace().

Suggested by:	msmith

Thanks mike!
2000-08-29 20:30:54 +00:00
cg
ca84dc3f91 make the test for hwptr going backwards more picky- now it only triggers if
15/16 of the buffer is skipped or we go backwards by < 1/16 of buffer size.
2000-08-29 16:32:26 +00:00
phk
8aa30a15ca Give ccd a cloning function. 2000-08-29 16:29:02 +00:00
cg
db66cff047 add devfs support. when devfs is enabled, sysctl hw.sndunit is used to set
which sound unit the /dev/{dsp,mixer,dspW,audio} links point at.  this can
also be set from the loader.
2000-08-29 16:21:33 +00:00
cg
6fbcea0a07 add driver for forte-media fm801
PR:             conf/20698
Submitted by:   dimmy the wild <diwil@dataart.com>
2000-08-29 16:12:28 +00:00
phk
07eb06526c Many and sundry changes. Still alpha quality. 2000-08-29 12:32:01 +00:00
dfr
dd8b44b395 * Completely rewrite the alpha busspace to hide the implementation from
the drivers.
* Remove legacy inx/outx support from chipset and replace with macros
  which call busspace.
* Rework pci config accesses to route through the pcib device instead of
  calling a MD function directly.

With these changes it is possible to cleanly support machines which have
more than one independantly numbered PCI busses. As a bonus, the new
busspace implementation should be measurably faster than the old one.
2000-08-28 21:48:13 +00:00
dfr
e2deb384a8 Fix disordered arguments to bus_space_barrier(). 2000-08-28 21:02:18 +00:00
imp
29a5a2cd0c Define a pcic module version 2000-08-28 04:53:36 +00:00
cokane
c851ea05b4 Removed detection for Voodoo Banshee and Voodoo3 cards. I forsee certain
possible complications with the forthcoming DRI code, and feel that DRI
should handle the device-level interaction. Read
http://people.FreeBSD.org/~cokane/3dfx.html
to find out more. Basically want to move toward using OpenGL and DRI for
everything on these cards. Added a few defines and spacing style fixes in
tdfx_vars.h
2000-08-28 04:28:53 +00:00
mjacob
e311b703ab remove clause 3 licence 2000-08-27 23:39:23 +00:00
mjacob
bcbec50333 various fixes 2000-08-27 23:38:44 +00:00
phk
7173fac529 Call destroy_dev() when sio devices go away. 2000-08-27 14:46:13 +00:00
yokota
f317a3f7e1 Fix ioctl MOUSE_SETMODE as defined in mouse(4).
(Do not return EINVAL when -1 is specified as a new value,
as it should mean "preserve the current value.")
2000-08-27 12:36:28 +00:00
peter
24dd8f6d22 Allow the DPT pci attachment to share IRQ's
Submitted by:	Jonathan Chen <jon@spock.org>
2000-08-26 22:19:53 +00:00
gehenna
41ddca4b20 Regen. 2000-08-26 05:08:11 +00:00
gehenna
9a83783c97 Add vendor IBM product USB CD-ROM Drive 2000-08-26 05:06:40 +00:00
imp
0323c0883b Minor tweaks to have the card be properly enabled via the CCR.
Minor debug changes
Minor power management pessimizations
2000-08-26 00:07:40 +00:00
iwasaki
2e169ef71a Move acpi_softc into acpi.h to be shared from additional files.
Add PowerResource manipulation code; acpi_powerres.c.  (more files to
be created something like acpi_battery, acpi_thermal.c...)
2000-08-25 19:04:16 +00:00
roger
f234fce050 Fix newbus resource allocations
PR:		kern/18744
Submitted by:	Alexander Langer <alex@cichlids.com>
2000-08-24 14:17:06 +00:00
takawata
3135216f2b Add orthogonal part of ACPI support code.
This does not come effect until non-orthogonal part is commited.

Approved by: jkh
Obtained from:	ACPI for FreeBSD CVS repository.
2000-08-24 09:33:30 +00:00
yokota
84083e097d Add spltty()/splx() in the watchdog timer routine. 2000-08-24 08:49:44 +00:00
imp
578ecafc39 Sync to pccarddevs 1.5 2000-08-24 07:01:49 +00:00
imp
4f1541715c o Fix unterminated comment
o Sync to NetBSD (rev NetBSD-user edited-log):
	1.97 onoe add Samsung MagicLAN SWL-2000N
	1.96 gmcgarry Add entries for all Xircom ethernet models.
	1.95 onoe Add Farallon SkyLINE 11mb card as Intersil Prism2 [...]
	1.94 joda add 3Com 3CRWE737A (AirConnect)
	1.93 soren Include vendor name for IBM products.
	1.92 onoe Add Farallon SkyLINE Wireless LAN Card for awi(4) [...]
	1.91 soren Add Olicom GoCard.
	1.90 gmcgarry Clean up XIRCOM entries
	- Add entry for Xircom CreditCard Ethernet + Modem 28
	- Add entry for Intel EtherExpress PRO/100
	- Add entry for Compaq Netelligent 10/100 Ethernet
	1.89 is RATOC REX-R280 (another if_mbe_pcmcia card) support by [...]
	1.88 joda Panasonic KXLC003
	1.87 scw [...] SOHOware PCMCIA Ethernet card, model ND5100-E [...]
	1.86 itojun add CIS for Corega Wireless LAN PCC-11 [...]
o Minor diffs between the two files corrected to aid future sync.
2000-08-24 07:01:12 +00:00
msmith
19a7cf4f83 This is the initial import of a new driver for the current family of
PCI:SCSI RAID controllers from Mylex.
2000-08-23 03:22:41 +00:00
marcel
29a36f349f Update include directives for Linuxulator headers after the
MD/MI split.
2000-08-22 05:57:55 +00:00
imp
ceb2a14b74 Save a pointer to the dev, if any, that each function attach.
Remove some bogus printfs.
2000-08-22 04:25:57 +00:00
tanimura
ae060674ea Fix a bug upon initialization. (_INDX_ADDR -> _INDX_DATA) 2000-08-21 13:18:56 +00:00
n_hibma
ac0a5daf19 Fix up the command in the destination buffer, not the source.
This makes the conversion from Test-Unit-Ready to Start-Stop-Unit in the case
of SCSI (Iomega Zip drive) actually work.
2000-08-21 09:39:07 +00:00
cg
cc65486f22 rework feeder sytem to allow feeders in klds
modify driver capability reporting format to list every audio format
seperately- required for above and because we could not previously indicate
that mono was unsupported.

there should be no functional impact.
2000-08-20 22:18:56 +00:00
phk
b648921acc Remove all traces of Julians DEVFS (incl from kern/subr_diskslice.c)
Remove old DEVFS support fields from dev_t.

  Make uid, gid & mode members of dev_t and set them in make_dev().

  Use correct uid, gid & mode in make_dev in disk minilayer.

  Add support for registering alias names for a dev_t using the
  new function make_dev_alias().  These will show up as symlinks
  in DEVFS.

  Use makedev() rather than make_dev() for MFSs magic devices to prevent
  DEVFS from noticing this abuse.

  Add a field for DEVFS inode number in dev_t.

  Add new DEVFS in fs/devfs.

  Add devfs cloning to:
        disk minilayer (ie: ad(4), sd(4), cd(4) etc etc)
        md(4), tun(4), bpf(4), fd(4)

  If DEVFS add -d flag to /sbin/inits args to make it mount devfs.

  Add commented out DEVFS to GENERIC
2000-08-20 21:34:39 +00:00
n_hibma
d89ba315b0 Unbreak LINT. 2000-08-20 15:30:15 +00:00
imp
5c155c532f o Move to using PCCARD_SOFTC(dev)
o fill in the size of the actual softc, rather than 1 in data structure
o minor debugging improvements.
2000-08-19 19:22:04 +00:00
imp
b7be66adbf o move to using PCIC_SOFTC(dev) to get the softc
o move pcic_deactivate into pcic_detach
o Better debug messages
2000-08-19 19:20:25 +00:00
cg
9bda127a3e fix SNDCTL_DSP_GETODELAY
PR:		kern/20340
Submitted by:	Takashi SHIRAI <shirai@nintendo.co.jp>
2000-08-19 18:29:46 +00:00
cg
91bc9d7f23 don't complain about bad irqs if using a shared irq 2000-08-19 18:22:20 +00:00
cg
048ff1b84d Recognize ESS 1888 in Dell Latitude XPi
PR:		kern/18714
Submitted by:	Sean O'Connell <sean@stat.Duke.EDU>
2000-08-19 18:17:15 +00:00
dwmalone
df0e25bf6c Replace the mbuf external reference counting code with something
that should be better.

The old code counted references to mbuf clusters by using the offset
of the cluster from the start of memory allocated for mbufs and
clusters as an index into an array of chars, which did the reference
counting. If the external storage was not a cluster then reference
counting had to be done by the code using that external storage.

NetBSD's system of linked lists of mbufs was cosidered, but Alfred
felt it would have locking issues when the kernel was made more
SMP friendly.

The system implimented uses a pool of unions to track external
storage. The union contains an int for counting the references and
a pointer for forming a free list. The reference counts are
incremented and decremented atomically and so should be SMP friendly.
This system can track reference counts for any sort of external
storage.

Access to the reference counting stuff is now through macros defined
in mbuf.h, so it should be easier to make changes to the system in
the future.

The possibility of storing the reference count in one of the
referencing mbufs was considered, but was rejected 'cos it would
often leave extra mbufs allocated. Storing the reference count in
the cluster was also considered, but because the external storage
may not be a cluster this isn't an option.

The size of the pool of reference counters is available in the
stats provided by "netstat -m".

PR:		19866
Submitted by:	Bosko Milekic <bmilekic@dsuper.net>
Reviewed by:	alfred (glanced at by others on -net)
2000-08-19 08:32:59 +00:00
imp
2f92e39a0f Call bus_generic_detach on pcic before deleting the children. This
has the side effect of detaching the children before I delete them.
When I put the last commits in a loop for loop it died after 5 or so
iterations.  After this change, I lasted 50 before I stopped the test.
2000-08-19 05:01:07 +00:00
imp
037be25ed3 Remove pcic_isa_identify. I don't think it is needed.
Add pcic_detach which removes all of the pcic's children.

This lets me load/unload pcic multiple times w/o having multiple
instances of each slot attached to pcic.
2000-08-19 04:47:09 +00:00
nyan
25d5946a2e - Fixed the conversion to bus_space interface.
- Added PC-98 Cbus devices support.
  The original patch is submitted by chi@bd.mbn.or.jp (Chiharu Shibata)
- Removed old ed driver.
2000-08-17 12:15:45 +00:00
imp
251df65ed0 Add support for loading this as a module (before there were some
problems).  Also pick an irq if one isn't specified.  Ditto for
memory.

Add additional printfs in the error paths.  These will disappear in time.

There are still some panics, but this is a good checkpoint.
2000-08-17 05:52:18 +00:00
sos
d39ed01a14 Rearrange the probe a bit, hopefully this will help to eleminate
some of the fake devices sometimes seen on single device ATA
channels.

Proberly fail on failures in ata-disk.c, retry instead of hang.

Cleanup the VIA probe/init code a bit.

Fix a couble of missing free's in atapi-cd.c in the changer code.
2000-08-16 07:09:04 +00:00
grog
5b09de9795 open_drive:
Add support for AMD RAID controllers as "disks".

Requested-by:  Marius Bendiksen <mbendiks@eunet.no>

  Remove potential panic when attempting to open non-existent drivers.

init_drive: Return error codes correctly.  Previously it would
            occasionally return 0.  The error was redetected
            elsewhere, but this was causing a number of confusing
            error messages.
2000-08-16 04:31:37 +00:00
peter
c4b3a3ad92 Add another USR modem.
PR: 20621
Submitted by: Masanori Taira <mtaira@logicaleffect.com>
2000-08-15 21:03:28 +00:00
onoe
387cc6f0df awictl configuration interface is never used and now it is replaced by
wicontrol(8).
2000-08-14 14:10:10 +00:00
onoe
258831b31a Add support for WEP functionality.
Add support for wi(4) compatible configuration interface.  It enables
wicontrol(8) to configure some 802.11 specific parameters.
Some minor fixes from NetBSD.
Obtained from:  NetBSD current
2000-08-14 13:42:38 +00:00
onoe
cf64f2aaf7 This file contains a shim just for NetBSD, and not used in FreeBSD at all. 2000-08-14 05:44:35 +00:00
tanimura
7c555f995f Newbusify ed driver.
Partly submitted by:	alex
2000-08-14 04:31:07 +00:00
nsayer
301ab84115 This patch appears to solve the problems with recording resulting
in bogus hwptr warnings. Further comments sought on -hackers
were not forthcoming. I can only hope that calling DELAY() like
this doesn't cause any heartburn.
2000-08-13 19:20:02 +00:00
n_hibma
cbb74c17bd CAM, the module: scbus, da, cd, and st wrapped in one module.
Make the umass driver depend on this module.

Makes it possible to compile the kernel without SCSI support and load it
when for example a USB floppy is conencted.
2000-08-13 18:49:40 +00:00
n_hibma
17d5aba6f2 From NetBSD:
Make it possible to move a device to its unconfigured state by
using config #0.

Add some comments.

Change error reporting in port reset function.

usbd_devinfo_vp(): search the know devs array also if the device doesn't
return product description (e.g. Kye's Genius NetScroll mouse returns
vendor, but not product); the strings returned by device are still
preferred to those in the array, though
2000-08-13 18:39:24 +00:00
n_hibma
41161f82cc Add more CDC defines. 2000-08-13 18:23:07 +00:00
n_hibma
2122121947 Fake the Power On command on the virtual hub.
This removes the two IOERROR's on startup a many has been seeing on UHCI
controllers.

Taken from NetBSD.
2000-08-13 18:21:18 +00:00
sos
a6430b961c Fix off by one error in track# calculation. 2000-08-13 09:08:19 +00:00
wpaul
b63adaba93 Fix a bug brought to light by the people working on SMPng. I don't quite
understand exactly what it is about SMPng that tickles this bug. What I
do know is that the foo_init() routine in most drivers is often called
twice when an interface is brought up. One time is due to the ifconfig(8)
command calling the SIOCSIFFLAGS ioctl to set the IFF_UP flag, and another
is probably due to the kernel calling ifp->if_init at some point. In any
case, the SMPng changes seem to affect the timing of these two events in
such a way that there is a significant delay before any packets are sent
onto the wire after the interface is first brought up. This manifested
itself locally as an SMPng test machine which failed to obtain an address
via DHCP when booting up.

It looks like the second call to fxp_init() is happening faster now than
it did before, and I think it catches the chip while it's in the process
of dealing with the configuration command from the first call. Whatever
the case, a FXP_CSR_SCB_CNA interrupt event is now generated shortly after
the second fxp_init() call. (This interrupt is apparently never generated
by a non-SMPng kernel, so nobody noticed.)

There are two problems with this: first, fxp_intr() does not handle the
FXP_CSR_SCB_CNA interrupt event (it never tests for it or does anything
to deal with it), and second, the meaning of FXP_CSR_SCB_CNA is not
documented in the driver. (Apparently it means "command unit not active.")
Bad coder. No biscuit.

The fix is to have the FXP_CSR_SCB_CNA interrupt handled just like the
FXP_SCB_STATACK_CXTNO interrupt. This prevents the state machine for
the configuration/RX filter programming stuff from getting wedged for
several seconds and preventing packet transmission.

Noticed by: jhb
2000-08-11 17:47:55 +00:00
n_hibma
8adfd748f3 Fix indentation ruined by previous commit. 2000-08-11 16:37:43 +00:00
imp
0dd71f49e0 Define get_memory_offset method 2000-08-11 15:51:51 +00:00
sos
7b84c21af7 Backout the tsleep on probe, it breaks in resume mode as tsleep
not always has a context to sleep on.
Back to the drawing board...
2000-08-11 10:34:22 +00:00
sos
5337af51e2 Add support for accessing individual tracks on a CD.
This is done by misusing the device minor a bit to encode the
track no there.

So to read track #4 just use /dev/acdNt4 where N is the device #.

The driver no automatically sets the blocksize (sectorsize) to
what the track is set to in the TOC.

This has the nice effect that you can now rip audioi tracks
by simply doing:

dd if=/dev/acdNt2 of=audiotrack2.raw bs=2352

it cant be much simpler than that :)

NOTE: the original acdNa & acdNc device still work as usual,
except the blocksize is set according to track0.
2000-08-11 09:21:36 +00:00
sos
937e4ba86d Fix the ICH2 ATA100 support, and proberly downgrade the chip setup when
going to slower DMA modes on all Intel chips.
2000-08-10 07:34:49 +00:00