Commit Graph

6687 Commits

Author SHA1 Message Date
Poul-Henning Kamp
602150cc70 Set ulptusein = 0 so that the machine doesn't hang solid after a
printjob.

There is probably a better fix, but this at least makes USB printing
working again.
2001-10-12 11:05:58 +00:00
John Baldwin
bd78cece5d Change the kernel's ucred API as follows:
- crhold() returns a reference to the ucred whose refcount it bumps.
- crcopy() now simply copies the credentials from one credential to
  another and has no return value.
- a new crshared() primitive is added which returns true if a ucred's
  refcount is > 1 and false (0) otherwise.
2001-10-11 23:38:17 +00:00
Matt Jacob
5aa8fe17f8 Fix declaration disagreement. 2001-10-11 22:02:14 +00:00
John Baldwin
7106ca0d1a Add missing includes of sys/lock.h. 2001-10-11 17:52:20 +00:00
Orion Hodson
9b6a5708db use pcm_getbuffersize() 2001-10-10 17:56:35 +00:00
Scott Long
baadfb4c1e Update to using the pcm_getbuffersize() method.
Fix an off-by-one error in the saving of the dsp memory.
Up the play channels to 2.

MFC after:	3 days
2001-10-09 19:46:09 +00:00
John Baldwin
9935282d50 Use crhold() instead of crdup(). The md(4) driver doesn't modify the ucred
that it uses, so it merely needs to bump its refcount to make it immutable
rather than obtain its own copy.
2001-10-09 16:37:51 +00:00
Yoshihiro Takahashi
5ad8aff376 Added Logitec LHA-301 pnp id. 2001-10-09 15:30:19 +00:00
Jonathan Lemon
f3a48bd0ae The kernel doesn't have <stdio.h> or <string.h>. Remove these. 2001-10-09 04:05:58 +00:00
Cameron Grant
a791cfee44 use pcm_getbuffersize()
only creat a mic recording channel if the codec supports it
2001-10-08 06:10:39 +00:00
Cameron Grant
50388172c5 use pcm_getbuffersize()
use seperate dma tags for buffers and control info
2001-10-08 06:01:13 +00:00
Cameron Grant
39dbd126c7 use pcm_getbuffersize() 2001-10-08 05:59:54 +00:00
Cameron Grant
82ab7a3bc2 * register the correct number of channels
* include hw buffer size in sndstat info
2001-10-07 23:31:52 +00:00
Cameron Grant
a9d2ee22ac use mixer channel numbers, not channel masks- this should fix sb/sbpro mixer
problems.
2001-10-07 23:28:34 +00:00
Matt Jacob
1c3749836f Add some somewhat vague documentation for this driver and a list
of Hardware that might, in fact, work.
2001-10-07 18:26:47 +00:00
Doug Rabson
a067d21032 Make the interrupt routing a bit less chatty unless bootverbose is set. 2001-10-07 18:25:43 +00:00
Matt Jacob
71793c0dc4 Some patches from Doug for ia64 support- the principle one being the
appropriate cache flush that provides MEMORY_BARRIER in between handoffs
between host && RISC processor for the shared memory request/response
queues.

Submitted by:	dfr@nlsystems.com
2001-10-07 18:18:50 +00:00
Luigi Rizzo
06bd2f9c81 Make this compile again after the changes to make bridge kld'able 2001-10-07 00:18:48 +00:00
Matt Jacob
cd37f56f5a Misunderstanding documentation caused me to try and set 1Gbps/2Gps/Auto
connection speed for the 2300 in the wrong offset in the ICB. Oops.

Respect some QLogic errat wrt PCI errors on certain shared host/RISC registers.
2001-10-06 20:41:18 +00:00
Matt Jacob
3bd4033010 Whups- remember to zero the isr pointer arg. 2001-10-06 19:34:43 +00:00
Matt Jacob
db4fa023f8 Respect QLogic's errata- read BIU_ISR even on the 2300
to see if there's an interrupt (avoids PCI parity errors
which can occur on the 2312 if you access some registers
from the host at the same time the RISC on the 2312 is
C accessing them).

MFC after:	1 day
2001-10-06 19:19:24 +00:00
Doug Rabson
bb94354d67 Enable console. There are far too many 'ifdef __i386__' in this file. 2001-10-06 13:34:30 +00:00
Søren Schmidt
8975eded26 Update with latest ATA/ATAPI ver 6 rev 2 items. 2001-10-06 11:07:04 +00:00
Marcel Moolenaar
885f6ac360 Make this compile on ia64. 2001-10-06 09:27:43 +00:00
Peter Wemm
887f6fb8d4 Fix some 64-bit uncleanliness. 2001-10-06 04:09:26 +00:00
Peter Wemm
cd5178beb8 Fix some style bugs before fixing some real bugs. 2001-10-06 04:03:20 +00:00
Peter Wemm
555143d0df Fix a stack trashing bug when int != sizeof(pointer)
This fixes the ia64 boot!  We have scsi disks!
2001-10-06 03:49:38 +00:00
Doug Rabson
aa55386965 Re-route interrupts on ia64 so that we can get the I/O SAPIC interrupt
numbers (the BIOS leaves legacy PIC interrupt numbers in the intline
registers).
2001-10-05 10:33:42 +00:00
Warner Losh
239db728ab Regen. 2001-10-05 05:32:51 +00:00
Warner Losh
e9530498a7 MFNetBSD:
1.139: augustss; Add EigerLabs sound card.
	1.138: ichiro; Typo
	1.137: ichiro; GEMTEK CF-size WaveLAN card based on Prism2.5 eval
	1.136: ichiro; Symbol Spctrum24 LA4100 Series CF WaveLAN card
	1.135: pooka; Psion Gold Card
	1.134: christos; zonet zen (Henrik Berglund)
	1.133: christos; dlink-660+ (janberg@netbsd.org)
	1.132: itojun; 3Com 3CRWE62092A Wireless LAN
2001-10-05 05:32:27 +00:00
Mike Smith
43896e913a Update usage of AcpiEnableEvent to reflect a new argument.
Fix acpi_DeviceIsPresent to check for valid _STA data and to check
the "present" and "functioning" bits.

Use acpi_DeviceIsPresent in acpi_pcib rather than rolling our own
(also broken) version.
2001-10-04 23:21:09 +00:00
Søren Schmidt
c36c574aaa Update the promise raid structure with some of the info I've gathered
before I'm accused of "lending" it from somebody else.
2001-10-04 18:02:26 +00:00
Doug Rabson
b0ee13ad5a Add busspace hacks for ia64. 2001-10-04 08:33:16 +00:00
Doug Rabson
1983594568 Use return_PTR, not return_VALUE when returning pointers. 2001-10-04 08:32:18 +00:00
Doug Rabson
ed136da6f4 Check the compatible ID as well as the hardware ID in acpi_MatchHid. 2001-10-04 08:31:17 +00:00
Søren Schmidt
e55639dbdd Doh! committed from the wrong tree, this is the right "stuff"... 2001-10-03 11:36:25 +00:00
Søren Schmidt
7f6d63666d Proberly support the Promise TX2/4.
Programming info kindly provided by Daniela Engert <dani@ngrt.de>
2001-10-03 08:27:29 +00:00
Søren Schmidt
592fcea788 cosmetics in the bootverbose probe- 2001-10-03 08:25:37 +00:00
Søren Schmidt
9b7c4d4ea0 Hopefully fix the identify failed on ATAPI slaves on some notebooks. 2001-10-03 08:25:11 +00:00
Takanori Watanabe
c84f2b288e Add PnP ID 'IBM3781' for TP240 mouse. 2001-10-03 07:26:28 +00:00
Matt Jacob
79a79ad9b8 Note the 'common knowledge' assumption that each NIC's softc starts
with an ifnet structure (so device_get_softc will get one).

If memory allocation fails in mii_phy_probe, don't just march ahead into
a panic- return ENOMEM.

MFC after:	1 week
2001-10-01 22:57:57 +00:00
Søren Schmidt
7a845ac23c Change the way DAO/TAO mode is init'ed.
Fix a bogon introduced in the previous commit, that broke CDIOREADSUBCHANNEL.
2001-10-01 14:59:52 +00:00
Matt Jacob
53036e9289 Begin to implement target mode that for Fibre Channel has a private
per-command component that we *don't* try and pass thru CAM. CAM just
is too risky and too much of a pain- structures get copied, but not
all info of interest can be considered safely transported thru all
consumers (including user space) from the incoming ATIO to the outgoing
CTIO- it's just much safer to have a buddy structure, identified by the
command's tag which *does* make it thru safely.

Pay attention to link speed and report 200MB/s xfer speed for a
23XX card in 2GPs mode.

MFC after:	1 week
2001-10-01 03:48:42 +00:00
Matt Jacob
c507669af4 Implement a call to get the actual link data rate (if 23XX) so we can
set whether it's a 2Gps or 1Gps link.

MFC after:	1 week
2001-10-01 03:45:54 +00:00
Ian Dowse
9b04180c2c Add an option ED_NO_MIIBUS, which causes the `ed' driver to be
built without support for miibus PHYs. Most ed cards don't need
miibus support, so it's useful to be able to avoid the bloat of
all the mii devices for small fixed-purpose kernels.
2001-09-29 22:32:03 +00:00
Matt Jacob
83548830a7 When calling isp_reset, set the request/response in/out pointers all at
once so there isn't a window with the ones for the 23XX cards being wrong.

When being verbose, print out some more FC NVRAM values (like framesize).

MFC after:	1 week
2001-09-29 19:37:49 +00:00
Jonathan Lemon
b256187110 Do not call mii_polltick() immediately after mii_tick().
Poiinted out by: wpaul
2001-09-29 19:31:29 +00:00
Jonathan Lemon
cd62a9cb38 Do not call mii_pollstat() from within device tick routines; the status
information is updated by mii_tick().

Pointed out by: wpaul (a while back)
2001-09-29 19:28:31 +00:00
Jonathan Lemon
d9730b8b53 Cleanup pass for mii drivers.
. Make internal service routines static.
   . Use a consistent ordering of checks in MII_TICK.  Do the work in the
     mii_phy_tick() subroutine if appropriate.
   . Call mii_phy_update() to trigger the callbacks.
2001-09-29 19:18:52 +00:00
Jonathan Lemon
105cb0c6a9 Change the order that we print the media options during device probe to
match the other mii drivers.
2001-09-29 18:59:17 +00:00
Jonathan Lemon
babc535e85 Add field for last active status, as well as function prototypes. 2001-09-29 18:48:52 +00:00
Jonathan Lemon
eb3a764866 Add new device method miibus_linkchg, along with a service routine. 2001-09-29 18:40:06 +00:00
George C A Reid
8c65132c76 Add another pnpid for the AWE64
PR:		30909
Submitted by:	Kinji Itoh <kinji-i@gray.plala.or.jp>
MFC after:	7 days
2001-09-29 12:38:58 +00:00
Cameron Grant
11149a9ac8 release isa dma channels on unload. 2001-09-29 08:01:42 +00:00
Cameron Grant
374e1c5baa allow the hardware buffer size to be controlled with hints
release isa dma channels on unload (ad1816, ess, sb8)
2001-09-29 07:57:07 +00:00
Jonathan Lemon
750c427849 Add support for 28800 baud to sio.
PR: 30906
Submitted by: "Daniel O'Connor" <darius@chowder.dons.net.au>
2001-09-29 04:49:11 +00:00
Bill Paul
0189c944e2 Set the 'no pseudo header checksum' option for RX checksums, otherwise
we may botch UDP checksums on receive, which will break NFS.
2001-09-28 18:56:57 +00:00
Bill Paul
95d674824f Add device driver support for the Broadcom BCM570x family of gigabit
ethernet controllers. This adds support for the 3Com 3c996-T, the
SysKonnect SK-9D21 and SK-9D41, and the built-in gigE NICs on
Dell PowerEdge 2550 servers. The latter configuration hauls ass:
preliminary measurements show TCP speeds of over 900Mbps using
only normal size frames.

TCP/IP checksum offload, jumbo frames and VLAN tag insertion/stripping
are supported, as well as interrupt moderation.

Still need to fix autonegotiation support for 1000baseSX NICs, but
beyond that, driver is pretty solid.
2001-09-27 23:55:28 +00:00
Bill Paul
245dd946e3 Fix typo: BGGPHY -> BRGPHY in one of the #defines I added the other day. 2001-09-27 17:32:49 +00:00
Jonathan Lemon
3a163803b7 Gate low level console output on mtx_lock_spin(&sio_lock), if the
sio_lock has been initialized.  This prevents the low level console
output (kernel printf) from clobbering the sio settings if the system
happens to be in the middle of comstart().
2001-09-27 17:00:25 +00:00
Alfred Perlstein
e93d0738f5 This driver can talk to the Rio600 as well, make it happen.
Hardware (and patience) provided by: Andrew J Caines <A.J.Caines@halplant.com>
2001-09-27 06:01:20 +00:00
Robert Watson
8c7cc7234e o Modify syscons ioctl securelevel checks to use securelevel_gt() (oh look,
yet another API to do direct hardware I/O access.)

Obtained from:	TrustedBSD Project
2001-09-26 20:17:15 +00:00
Robert Watson
19f1565901 o Modify open() and close() for /dev/random to use securelevel_gt() instead
of direct securelevel variable checks.

Obtained from:	TrustedBSD Project
2001-09-26 20:15:42 +00:00
Robert Watson
8002488bd9 o Modify access control code for /dev/pci device to use securelevel_gt()
instead of direct securelevel variable test.

Obtained from:	TrustedBSD Project
2001-09-26 20:14:03 +00:00
Brooks Davis
9efaa0ae62 Add a standard hack in the spirit of PCI_ENABLE_IO_MODES to allow systems
with weird PCI-PCI bridge configurations to work.  Defining
PCI_ALLOW_UNSUPPORTED_IO_RANGE causes the sanity checks to pass even
with out of range values.

Reviewed by:	msmith
2001-09-26 01:11:33 +00:00
Søren Schmidt
72c2f499ce Add a fix for the VIA82C686B data corruption bug.
This fixed the problem on the 3 platforms I've been able to test on.

I'm still of the oppinion that the BIOS should take care of this,
however some board makers only apply this when they spot a
SBLive! soundcard, but the problem exists even without a SBLive!.

This fix should probably go somewhere else, but for now I'll
keep it here since we havn't got a central place to put
such things.
2001-09-25 17:10:39 +00:00
Kazutaka YOKOTA
d4b248f23e Yet another turn of workaround for psm/ACPI/PnP BIOS
problems currently experienced in -CURRENT.

This should fix the problem that the PS/2 mouse is detected
twice if the acpi module is not loaded on some systems.
2001-09-25 16:59:28 +00:00
Bill Paul
9aa35f2391 Add some definitions for the DSP programming registers in the BCM5400
and BCM5401 PHYs.
2001-09-25 16:41:56 +00:00
Brian Somers
9fd4693f8a Send a .4 second BREAK rather than a .25 second break so that
we're at least consistent with what tcsendbreak(3) is documented
to do.

MFC after: 2 weeks

Note, the MFC will be to sys/dev/dgb/dgm.c on the RELENG_4 branch
2001-09-23 20:03:40 +00:00
Kazutaka YOKOTA
275658afcc Reinitialize the keyboard after the ACPI resume event.
I am not sure if this is absolutely necessary on all systems.  Yet,
there certainly are motherboards and notebook systems which require
this, although there are other systems which just don't.  I hope we
shall know when to do this on which systems, as the development of our
ACPI subsystem progresses...  (I know we didn't need this for the APM
resume.)
2001-09-23 08:42:06 +00:00
Doug Rabson
8beffae7be Tweak so I can use a serial console on ia64. 2001-09-22 19:44:37 +00:00
Poul-Henning Kamp
bd61b8e81d Give the pps driver an additional 8 inputs if we can persuade the
ppc to go into EPP mode.  These 8 inputs are timestamped in polled
loop so their resolution will be nanoseconds but their granularity
will only be 1/hz.
2001-09-22 16:34:59 +00:00
John Baldwin
ed01445d8f Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
Maxim Sobolev
78f45204d9 Introduce new syscons(4) kernel options:
- SC_CUT_SPACES2TABS - when copying text into the cut buffer convert leading
  spaces into the tabs;
- SC_CUT_SEPCHARS="XYZ" - treat supplied characters as possible words
  separators when the driver searches for words boundaries when doing cut
  operation.

Also unify cut code a bit to decrease amount of duplicated code. This fixes
line cut mode, so that it is no longer pads line with useless spaces.

Approved by:	ru
2001-09-21 20:41:24 +00:00
Søren Schmidt
f601b4eb7c Overhaul to minimize stack usage, in some places >2K was used
on the stack *blush*...
2001-09-20 15:25:36 +00:00
Coleman Kane
57110f7604 Add probe line for the AMD 761 northbridge chip. At least it detects now,
seems to set up memory spaces correctly. This change actually did work for
me using -STABLE, XFree86 4.0.3 ~ some snapshot of DRI awhile back. I sent
mail to dfr to no avail, perhaps someone else would like to test it with
DRI.

Anyway, people have been nagging me about this change for awhile, so here's
the commit.
2001-09-20 05:13:12 +00:00
Bill Paul
8ce3678a09 Handle the RX FIFO overflow condition with the rxeof handler instead
of the rxeoc handler for now. The rxeoc handler will reset the link,
and the NatSemi chip's RX FIFO will overflow on a 32-bit bus once you
start hitting it with 500Mbps or more of traffic.

Also increase the size of the RX ring to 128 descriptors (was 64).
2001-09-19 21:39:26 +00:00
Nick Hibma
dc9c72345c Regen. 2001-09-18 22:30:02 +00:00
Nick Hibma
55c883cea3 Update the header of the file with a comment on how to regenerate
the usbdevs* file correctly.

Suggested by:	phantom
2001-09-18 22:27:41 +00:00
Jonathan Lemon
ed63a3c7ee Have the driver announce its rxcsum capabilities. 2001-09-18 20:19:28 +00:00
Jonathan Lemon
84e4de28cc Have the driver to announce what capabilitis it supports. 2001-09-18 18:53:41 +00:00
Jonathan Lemon
b951f06f50 Have the driver announce what capabilities it supports. These are
currently not under user control.
2001-09-18 18:41:39 +00:00
Jonathan Lemon
53de2fb09f Have the driver advertise that it is capable of hardware checksums, and
allow the user to control the setting.  (checksums are enabled by default)
2001-09-18 18:40:22 +00:00
Cameron Grant
a6295c60ae when setting blocksize, fix blockcount to 2 to reduce latency with smaller
block sizes.
2001-09-18 15:19:44 +00:00
Cameron Grant
c2995ba2d4 make buffer size adjustable. 2001-09-18 15:12:35 +00:00
Cameron Grant
fca71897c4 don't enable the mic record channel unless the codec supports it.
allow hardware buffer size to be specified using hints.
2001-09-18 14:53:01 +00:00
Cameron Grant
a67fe5c1d6 change tracking of channel counts.
add method for retrieving "buffersize" hints for pcm devices, adjusted for
specified minimum, maximum and default values.
2001-09-18 14:50:52 +00:00
Cameron Grant
a3a1ce3024 add a tunable/sysctl, hw.snd.targetirqrate, to modify the default target
irq rate for apps that do not set a blocksize.
2001-09-18 14:45:09 +00:00
Cameron Grant
5d91ad679d add a method for retrieving codec capabilities 2001-09-18 14:34:59 +00:00
Bill Paul
1d083681bc Tweak the autoneg kickoff code to that it more closely resembles the
method uses in the nsgphy driver.
2001-09-18 00:31:19 +00:00
Mitsuru IWASAKI
23b4e251d0 Call acpi_DeviceIsPresent() only for devices. This should make
non-ACPI_TYPE_DEVICE devices (such as acpi_tz and acpi_cpu) enabled
again.

Reviewed by:	msmith
2001-09-17 15:11:55 +00:00
Murray Stokely
c896039b9b SMBus support for the AMD 756 power management unit. See smbus(4),
amdpm(4) and smb(4).

This device can be used with userland programs such as sysutils/lmmon
to retrieve sensor information from the motherboard.

PR:		   kern/23989
Obtained from:	   Matthew C. Forman <mcf@dmu.ac.uk>
Based on:	   alpm(4)
2001-09-16 22:35:07 +00:00
Murray Stokely
0aef0b4d6b Recognize two cheap PCI 16550 devices :
CyberSerial (1-port) 16550
  Oxford Semiconductor Dual Port 16550

Sort the list of PCI devices while I'm here.
2001-09-16 11:14:56 +00:00
Seigo Tanimura
4ce6a64b25 Catch up to the last commit of KSE. 2001-09-15 08:14:23 +00:00
Kazutaka YOKOTA
cd6cd68d18 Refine ACPI/PnP BIOS probe/attach routines a bit.
- Add workaround for the problematic PnP BIOS which does not assign
  irq resource for the PS/2 mouse device node; if there is no irq
  assigned for the PS/2 mouse node, refer to device.hints for an
  irq number. If we still don't find an irq number in the hints
  database, use a hard-coded value.
- Delete unused ivars.
- Bit of clean up in probe/attach.
- Add PnP ID for the PS/2 mouse port on some IBM ThinkPad models.
2001-09-15 04:38:20 +00:00
Mike Smith
b519f9d660 Disable devices that are not present; at a later stage we can then enable
them if the device arrives.

This should solve the problem where devices that have been disabled eg. in
the BIOS show up with nonsense resources and hang the bootstrap process.
2001-09-15 04:14:31 +00:00
George C A Reid
5c25132af5 - Correctly increment the channel refcount in dsp_open() such that it is
no longer possible to unload the driver module while sound is playing
  (which resulted in a panic).
- Fix a similar problem with the sndstat device that I found while looking
  at the above.
- Append a newline character to error messages in pcm_unregister()

Reviewed by:	cg
MFC after:	10 days
2001-09-14 20:26:03 +00:00
Julian Elischer
b40ce4165d KSE Milestone 2
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.

Sorry john! (your next MFC will be a doosie!)

Reviewed by: peter@freebsd.org, dillon@freebsd.org

X-MFC after:    ha ha ha ha
2001-09-12 08:38:13 +00:00
Søren Schmidt
45ae719fd9 Add kernel side support for DAO burning. 2001-09-10 11:43:20 +00:00
Kris Kennaway
bf61e26696 Fix some signed/unsigned integer confusion, and add bounds checking of
arguments to some functions.

Obtained from:	NetBSD
Reviewed by:	peter
MFC after:	2 weeks
2001-09-10 11:28:07 +00:00
Peter Wemm
22c1cd205e Fix some malformed macro concatenation that gcc-3 has objections about. 2001-09-10 04:20:34 +00:00
Brooks Davis
a744995d49 Lots of style(9) related white space fixes. Mostly missing spaces
after if, for, while, switch, '{', and '}' plus a bunch of bogus
whitespace at the end of lines.
2001-09-10 02:36:18 +00:00
Brooks Davis
51331cf32a Add support for monitor mode. This means that after enabling the
correct mode via ancontrol, you can use bpf to sniff raw 802.11 frames.
Who want's to port AirSnort. ;-)

Submitted by:	Doug Ambrisko <ambrisko@ambrisko.com> (author)
		David Wolfskill <david@catwhisker.org> (port to current)
2001-09-10 02:05:10 +00:00
Peter Wemm
4b53602153 Fix a minor buglet/typo here that gcc3 complains about. 2001-09-10 01:27:23 +00:00
Bill Paul
0af4c6d09f regenerate this file too (forgotten after last usbdevs update) 2001-09-09 17:00:32 +00:00
Dima Dorfman
610dcffd26 Add a missing newline to an error message.
PR:		30436
Submitted by:	Joerg Lehners <Lehners@Informatik.Uni-Oldenburg.DE>
2001-09-09 14:48:52 +00:00
Doug White
7b832f6f75 Add support for the Accton USB320-EC Ethernet adapter.
MFC after:	14
2001-09-09 03:08:30 +00:00
Doug White
a6ac38c5f6 Regen. 2001-09-09 03:07:32 +00:00
Doug White
884896fa2f Add entry for Accton USB320-EC Ethernet adapter.
MFC after:	14
2001-09-09 03:07:15 +00:00
Mitsuru IWASAKI
d983e760a7 Don't call tsleep from AcpiOsStall(), call DELAY() always instead.
Process switching during calling AcpiOsStall() caused fatal trap 12 at
sleeping/wakeup on some machines.
2001-09-08 17:03:26 +00:00
Brian Feldman
a46252c61f Convert the CMedia driver to using a device mutex and INTR_MPSAFE. 2001-09-08 05:20:52 +00:00
Mike Smith
b525621aed Should check debug.acpi.avoid, not .disable. 2001-09-07 03:54:37 +00:00
Mike Smith
32d18aa566 Allow the ACPI subsystem to be disabled with a hint.
Avoid fully initialising the ACPI namespace if we are attempting to avoid
parts of it.  This is a workaround for some systems that still crash
the interpreter.

Implement the ISA_IVAR_LOGICALID for ISA compatibility.  Implement stubs
for other PnP ID-related ivars.
2001-09-07 02:57:29 +00:00
Mike Smith
0a8c6c7f24 Move OsdEnvironment.c into MD code; searching for the ACPI tables is not
portable.
2001-09-07 02:55:00 +00:00
Mike Smith
1dffb34a9a Initialise the adapter status to an invalid state, so that the initial check
of the adapter object will always result in a change event.

This fixes the problem where a laptop booted without an AC adapter ran
at 100% CPU speed by default.

Submitted by:	"Christopher N . Harrell" <cnh@netvmg.com>
2001-09-06 23:33:22 +00:00
John Baldwin
0c7da7acfa Add a hack to acpi_EvaluateInteger() to handle the case of a method
returning a Buffer that contains an Integer rather an an Integer directly.

Submitted by:	msmith
Approved by:	msmith
2001-09-06 23:16:55 +00:00
Mike Smith
cb97ee57c0 Allocate system resource IRQs as shareable; this is the typical case. 2001-09-06 22:34:40 +00:00
Warner Losh
ceeb222ab4 Surf the net again and find more device IDs:
Cirrus Logic PD6834
O2micro OZ6836
O2micro OZ6912/6972
O2micro OZ6922
O2micro OZ6933
TI1260			Note: These two aren't on TI's site, but are in
TI1260B			http://www.yourvote.com/pci/vendors.txt

Plus comments for other chips found in Windows INF files, and also
referenced in various spots on the net:

 *   Intel		82092AA		0x12218086	16bit
 *   smc/Databook	DB87144		0x310610b3
 *   SMC/databook	smc34c90	0xb10610b3
 *   Omega/Trident	82c094		0x00940123?
 *   Omega/Trident	82c194		0x01941023
 *   Omega/Trident	82c722		0x07221023?
 *   Opti		82c814		0xc8141045
 *   Opti		82c824		0xc8241045
 *   NEC		uPD66369	0x003e1033
2001-09-06 20:50:10 +00:00
Warner Losh
df6567b786 minor commentary 2001-09-06 20:43:12 +00:00
Søren Schmidt
67bc4ad9b6 Fix the size of medium code, the old one failed for DVD's.
This might introduce problems on normal CD's (again) sigh...
2001-09-06 17:44:04 +00:00
Kazutaka YOKOTA
ef92e4471a Update the atkbdc, atkbd, and psm drivers to probe/attach
more cleanly and consistently in all APCI, PnP BIOS, and "hint"
cases.

NOTE: this doesn't necessarily solve the problem that the PS/2
mouse is not detected after the recent ACPI update.
2001-09-06 12:09:26 +00:00
Søren Schmidt
3da21d9f07 Fix verbose probe message.
PR: 29360
2001-09-06 09:50:25 +00:00
Scott Long
5e7e7ec92b Don't use a silly test to define INTR_ENTROPY.
Submitted by:	peter
2001-09-06 08:57:51 +00:00
Søren Schmidt
1be5b45b7c Add support for set/getting the region code on DVD drives.
PR: 28604
2001-09-06 08:52:28 +00:00
Jonathan Lemon
f9132cebdc Wrap array accesses in macros, which also happen to be lvalues:
ifnet_addrs[i - 1]  -> ifaddr_byindex(i)
        ifindex2ifnet[i]    -> ifnet_byindex(i)

This is intended to ease the conversion to SMPng.
2001-09-06 02:40:43 +00:00
Brooks Davis
920b58e88f Deconditionalize vlan support. 2001-09-05 23:33:58 +00:00
Brooks Davis
5c88c82cf3 Update tx(4) to always enable vlan(4) support.
Approved by:		semenu
2001-09-05 23:04:53 +00:00
Brooks Davis
9d4fe4b2b0 Make vlan(4) loadable, unloadable, and clonable. As a side effect,
interfaces must now always enable VLAN support.

Reviewed by:	jlemon
MFC after:	3 weeks
2001-09-05 21:10:28 +00:00
Scott Long
914da7d0d3 Bring the aac driver *much* closer to style(9).
Reviewed by:	ken
2001-09-05 20:43:02 +00:00
Cameron Grant
506a5308bc add a method for recording of specific channels for devices with more than
one hardware record channel.  new devices, /dev/dsprX.Y where X is unit
number and Y is channel index.
2001-09-05 16:28:41 +00:00
Cameron Grant
c2e6dd76ce don't try to dump nonexistent data when recording 2001-09-05 14:49:44 +00:00
Bill Paul
516f7ab7ac Regenerate. 2001-09-04 22:00:49 +00:00
Bill Paul
e1968a0d2f Add support for the BCM5401 and BCM5411 10/100/1000Mbps copper gigE PHYs.
This basically updates the brgphy driver to support 10/100 modes in
addition to 1000Mbps modes.
2001-09-04 22:00:33 +00:00
Matt Jacob
64edff948b I don't know what I was thinking- if I have two separate busses on on
SIM (as is true for the 1280 and the 12160), then I have to have separate
flags && status for *both* busses. *Whap*.

Implement condition variables for coordination with some target mode
events. It's nice to use these and not panic in obscure little places
in the kernel like 'propagate_priority' just because we went to sleep
holding a mutex, or some other absurd thing.

Remove some bogus ISP_UNLOCK calls. *Whap*.

No longer require that somebody do a lun enable on the wildcard device
to enable target mode. They are, in fact, orthogonal. A wildcard open
is a statement that somebody upstream is willing to accept commands which
are otherwise unrouteable. Now, for QLogic regular SCSI target mode, this
won't matter for a damn because we'll never see ATIOs for luns we haven't
enabled (are listening for, if you will). But for SCCLUN fibre channel
SCSI, we get all kinds of ATIOs. We can either reflect them back here
with minimal info (which is isp_target.c:isp_endcmd() is for), or the
wildcard device (nominally targbh) can handle them.

Do further checking against firmware attributes to see whether we can,
in fact, support target mode in Fibre Channel. For now, require SCCLUN
f/w to supoprt FC target mode.

This is an awful lot of change, but target mode *still* isn't quite right.

MFC after:	4 weeks
2001-09-04 21:53:12 +00:00
Matt Jacob
23ac1fce7b Note for ATIOs returned because of BDRs or Bus Resets for which bus this
applies to.  Do more bus # foo things.

Acknowledge Immediate Notifies right away prior to throwing events upstream
(where they're currently being ignored, *groan*)

Capture ASYNC_LIP_F8 as with ASYNC_LIP_OCCURRED. Don't percolate them
upstream as if they were BUS RESETS- they're not.
2001-09-04 21:48:02 +00:00
Matt Jacob
b96934e89a If we're on an interrupt stack, mark things so that we don't try
and cv_wait for mailbox commands to complete if we start them from
here.

Fix residuals for target mode such that we only check the residual and
set it in the CTIO if this is the last CTIO (when we're sending status).

MFC after:	4 weeks
2001-09-04 21:45:57 +00:00
Matt Jacob
f6a3bcf86c I don't know what I was thinking- if I have two separate busses on on
SIM (as is true for the 1280 and the 12160), then I have to have separate
flags && status for *both* busses. *Whap*.

Implement condition variables for coordination with some target mode
events. It's nice to use these and not panic in obscure little places
in the kernel like 'propagate_priority' just because we went to sleep
holding a mutex, or some other absurd thing.

MFC after:	4 weeks
2001-09-04 21:33:06 +00:00
Matt Jacob
2332ac8c61 Fix SET_IID_VAL/SET_BUS_VAL macros to usable.
MFC after:	4 weeks
2001-09-04 19:42:13 +00:00
Bill Paul
1af8bec768 Add support for Conexant LANfinity miniPCI controllers. People who have
laptops with this chip should test this and report back as I don't have
access to this hardware myself. People with -stable systems should try
the patch at:

	http://www.freebsd.org/~wpaul/conexant.patch.gz

Submitted by:	Phil Kernick <Phil@Kernick.org>
2001-09-04 17:10:11 +00:00
Mitsuru IWASAKI
dbad09ef38 Just print a message in acpi_tz_monitor() only when new active state
is different from the previous active state.
This reduce tons of 'acpi_tz0: _AC0: temperature 64.0 >= setpoint 64.0'
messages.

Reviewed by:	msmith
2001-09-04 15:40:12 +00:00
Poul-Henning Kamp
01706d206f Kill the NCCD constant by modernizing the ccd driver.
Submitted by:	sobomax
Reviewed by:	phk
2001-09-04 08:33:30 +00:00
Greg Lehey
27b286aa8c Remove an accidentally forgotten #ifdef. This could cause depletion
of mutexes if a lot of plexes are created and destroyed.
2001-09-04 06:30:05 +00:00
Noriaki Mitsunaga
48856b5fc7 We should not pass the size of the memory to bus_alloc_resource().
We should use 1 to request default iomem.

Pointed-out-by: imp
2001-09-04 04:32:48 +00:00
Scott Long
f8185d5456 Sigh. There are actually two ioctls ranges that need to be watched on the
linux side.  This will all be over soon...
2001-09-03 07:50:14 +00:00
Matt Jacob
d82b6503a9 Because we now store SCCLUN capabilities in firmware attributes, get
rid of the silly test of isp_maxluns > 16 and use the attibutes directly.

MFC after:	4 weeks
2001-09-03 03:12:10 +00:00
Matt Jacob
181640a81c Clarify issues about whether we have SCCLUN (65535 luns) or non-SCCLUN (16
luns) firmware for the Fibre Channel cards.

We used to assume that if we didn't download firmware, we couldn't know
what the firmware capability with respect to SCCLUNs is- and it's important
because the lun field changes in the request queue entry based upon which
firmware it is.

At any rate, we *do* get back firmware attributes in mailbox register 6
when we do ABOUT FIRMWARE for all 2200/2300 cards- and for 2100 cards
with at least 1.17.0 firmware. So- we now assume non-SCCLUN behaviour
for 2100 cards with firmware < 1.17.0- and we check the firmware attributes
for other cards (loaded firmware or not).

This also allows us to get rid of the crappy test of isp_maxluns > 16-
we simply can check firmware attributes for SCCLUN behaviour.

This required an 'oops' fix to the outgoing mailbox count field for
ABOUT FIRMWARE for FC cards.

Also- while here, hardwire firmware revisions for loaded code for SBus
cards. Apparently the 1.35 or 1.37 f/w we've been loading into isp1000
just doesn't report firmware revisions out to mailbox regs 1, 2 and 3
like everyone else. Grumble. Not that this fix hardly matters for FreeBSD.

MFC after:	4 weeks
2001-09-03 03:09:48 +00:00
Matt Jacob
f8597b62e5 Add some more firmware revision macros. Add firmware attributes field
to fcparam structure.
MFC after:	4 weeks
2001-09-03 03:03:32 +00:00
Orion Hodson
bb76bd1180 Return updated blocksize from setblocksize function. 2001-09-03 02:14:55 +00:00
Orion Hodson
61608985c7 Fix return value of cs4281chan_setblocksize. 2001-09-03 01:05:04 +00:00
Orion Hodson
256e749243 Fix return value of svchan_setblocksize.
Expand probing range.
2001-09-03 01:03:50 +00:00
Orion Hodson
167d1bcd19 Fix return value of setblocksize functions. Recording is interspersed
with silent intervals otherwise.
2001-09-03 00:45:00 +00:00
Scott Long
61fea38293 Work around a bug where the driver's copy of the disklabel gets corrupted
and causes diskerr() to panic.
2001-09-02 23:16:40 +00:00
Scott Long
3361abb7a7 Restrict the range of linux ioctls we will accept. 2001-09-02 23:15:26 +00:00
Takeshi Shibagaki
5f5e1ff3b1 Always turned on 8bit access card support for the fe driver
both i386/pc98, so options FE_8BIT_SUPPORT was deleted.

Reviewed by: nyan
2001-09-02 13:05:00 +00:00
Nick Hibma
aa75eeda2f Only clear endpoint stall if status was USBD_STALLED.
This avoids panicing the system by unplugging a hub. The interrupt transfer
would sometimes arrive after the driver had been removed.
2001-09-02 09:26:14 +00:00
Noriaki Mitsunaga
9d92f16230 Fix bus timeout bug which might happen when nsp do suspend I/O burst write.
A nsp chip does suspend I/O write by 512bytes burst write,
though the chip only has 48 bytes FIFO. The chip assert I/O WAIT
signal to PC-Card bus after the CPU writes more than 48 bytes to
the chip if the SCSI device does not respond immediately in supsend
I/O burst write. If the device does not respond for a while it might
cause PC-Card bus timeout.

The previous work around was to wait the request from SCSI device.
But there are some devices which request bytes for synchronous transfer
immediately. So current work aound is to fill 32bytes FIFO, wait for
FIFO empty and burst write 512-32 bytes for every 512 bytes block.

Submitted-by: Honda-san (the author of the driver)
Obtained-from: NetBSD/pc98
2001-09-02 07:18:29 +00:00
Noriaki Mitsunaga
1068971fe0 Demand minimum I/O size rather than 0 when it calls
bus_alloc_resource(dev, SYS_RES_IOPORT, ...)

Pointed-out by: Yamamoto-san shigeru@iij.ad.jp
2001-09-02 06:42:40 +00:00
Takeshi Shibagaki
a8bc31671a Update cis tuple parser, add a pccarddevs entry,
and improve PCCARD_IVAR_ETHADDR in pccard_read_ivar().

Change points:

(1) Read Function Ext tuple.
(2) Add Ratoc REX-R280 entry(fe driver).
(3) Take ether address from function ext tuple.

Reviewed by: imp
Obtained from: NetBSD
2001-09-02 06:37:41 +00:00
Mitsuru IWASAKI
dd081ed5d0 Fix typo; CTLFLAG_RO -> CTLFLAG_RD. 2001-09-02 06:28:20 +00:00
Takeshi Shibagaki
c8dab10220 Update the fe driver to probe and attach under a NEWCARD kernel.
Reviewed by: imp
Obtained from: NetBSD
2001-09-02 06:27:07 +00:00
Nick Hibma
c2d7a52a1b Small nit: Make both prints use 'at device %d.%d'. 2001-09-01 23:06:14 +00:00
Mike Smith
dde24897d2 Add a MODULE_VERSION declaration. This should prevent duplicate loading
of the module, and allows other modules to depend on and link against
the ACPI module.

Add a sysctl that allows us to retrieve the ACPI CA version number as
well.
2001-09-01 22:41:53 +00:00
Nick Hibma
d7e53003ef First check whether the USB transfer was cancelled before starting to
use the data structures related to that keyboard.
2001-09-01 09:38:45 +00:00
Nick Hibma
2ce5d19515 Regen. 2001-09-01 09:35:46 +00:00
Nick Hibma
c2d98eeaca Spelling nit. 2001-09-01 09:33:15 +00:00
Søren Schmidt
1f3d9edf37 Make "atapi less" kernels link again.
Question is if we should allow the ioctl only interface to be
created if atapi devices are present, but no driver linked in....
2001-09-01 08:47:11 +00:00
Mike Smith
2a4684aa19 Don't claim memory resources owned by a PNP0C01 device ("system memory")
as some systems claim the entire physical address space is owned by it.
2001-08-31 22:59:04 +00:00
Murray Stokely
b64e68c520 Add ID for the Best Data Smart One 56SPS Voice modem.
PR:		kern/24851
Submitted by:	Daniel Rudy <dcrudy@aol.com>
2001-08-31 21:51:00 +00:00
Murray Stokely
ba5b94fef7 Correct the ID for the ALS0120 PnP Joystick. It is different from the
ALS0110.

PR:		kern/22617
Submitted by:	Mike Holling <myke@fks.bt>
2001-08-31 21:40:56 +00:00
Matt Jacob
126ec86486 Add 2 Gigabit Fibre Channel support (2300 && 2312 cards). This required
some reworking (and consequent cleanup) of the interrupt service code.

Also begin to start a cleanup of target mode support that will (eventually)
not require more inforamtion routed with the ATIO to come back with the
CTIO other than tag.

MFC after:	4 weeks
2001-08-31 21:39:04 +00:00
Matt Jacob
a2f1799115 Add 2300/2312 (2Gbit) firmware. 2001-08-31 21:25:15 +00:00
Murray Stokely
6e66dd6b62 Add OMRON ME5614ISA PnP modem.
PR:		kern/22801
Submitted by:	Ryuzo Okada <R.Okada@mm.neweb.ne.jp>
2001-08-31 20:37:02 +00:00
Murray Stokely
4fd606bfba Add PCI device IDs for Kuotech dual port serial cards.
Also give example of the flags needed to use these cards.

PR:		kern/21242
Submitted by:	Shigeki Moride <moride@portside.net>
2001-08-31 20:16:00 +00:00
Mike Smith
05c03ed9b8 Don't activate placeholder resources; it can be very expensive in the
SYS_RES_MEMORY case, and it shouldn't be necessary.
2001-08-31 18:08:50 +00:00
Takanori Watanabe
ff741bef86 Call OS-independent resume routine to execute _WAK .. etc.
This should also recover GPE bit,comment says, though not implemented yet.
2001-08-31 05:36:48 +00:00
Mike Smith
91bca55f68 Revert previous "fix"; bus mice still have to be manually probed even in
the presence of PnP data.

Submitted by:	yokota
2001-08-31 02:14:34 +00:00
Nick Hibma
f3dfa83f4f Add safety belts. A control endpoint doesn't have an endpoint descriptor. 2001-08-30 21:45:28 +00:00
Doug Rabson
7e59bf6765 Recognise VIA Apollo KT133A bridge.
PR:	30061
Submitted by:	John Merryweather Cooper <jmcoopr@webmail.bmi.net>
MFC after:	1 week
2001-08-30 14:17:48 +00:00
Scott Long
6965a4937d Doh! Fix a comma that disappeared along the way.
Pointy-hat by:	peter
2001-08-30 13:09:09 +00:00
Søren Schmidt
baffdee40e Add support for sending ATAPI commands via ioctl. 2001-08-30 09:47:17 +00:00
Mike Smith
5f063c7b09 Add ACPI attachments. 2001-08-30 09:17:03 +00:00
Mike Smith
7b4d3c8814 Correct usage of ISA_PNP_PROBE 2001-08-30 09:16:53 +00:00
Mike Smith
bc0f21954b Add support for attaching PnP-aware ISA drivers to ACPI.
Always parse ACPI device resource settings (current resources only)
and attach the resources to the device before probe/attaching.
2001-08-30 00:50:58 +00:00
Mike Smith
832183ba00 Retarget the resource parser slightly. We only fetch current resources
for the device now (we should really just be parsing a passed-in resource
buffer).

Wrap long lines so this is (more) readable.

Support Address16 and Address32 resources, in the CONSUMER case.

Support DRQs so that we can handle ISA devices.

Support ExtendedIrqs (we ignore most of their attributes)

Add a placeholder device for system memory and system resources.  This
takes the place of the nexus placeholder, which only attaches to ISA.
2001-08-30 00:49:34 +00:00
Mike Smith
d5519f129a Note that now that some ISA devices will attach to ACPI, we need to
keep the ivar indexes that ISA uses free.
2001-08-30 00:45:42 +00:00
Mike Smith
2668fa394a Don't parse our resources ourself, the ACPI core code must do it. 2001-08-30 00:45:12 +00:00
Mike Smith
93b9ee69f5 Nuke the (fairly bogus) attachment of *all* ACPI devices to ISA. 2001-08-30 00:44:29 +00:00
Mike Smith
f48bf2d715 Add missing acpi_disabled() call so that this driver can be disabled. 2001-08-30 00:44:01 +00:00
Scott Long
36e0bf6e9c Mega update to the aac driver.
1.  Correctly handle commands initiated by the adapter.  These commands
    are defered to a kthread responsible for their processing, then are
    properly returned to the controller.
2.  Add/remove disk devices when notified by the card that a container was
    created/deleted/offline.
3.  Implement crashdump functionality.
4.  Support all ioctls needed for the management CLI to work.  The linux
    version of this app can be found at the Dell or HP website.  A native
    version will be forthcoming.

MFC-after:	4.4-RELEASE
2001-08-29 23:34:05 +00:00
Warner Losh
9a25341262 First, The Ricoh 5C47x chips don't have the disable the 3e0 bits.
Second, the TI 1130 need to have the PCI_INTR set, not cleared.

This gets Soren's machine working with NEWCARD again.

# The whole initialization is a mess and needs to be organized ala OLDCARD.
2001-08-29 20:33:08 +00:00
Cameron Grant
edecdda7b9 tweaks to reduce latency/pauses in output 2001-08-29 09:17:43 +00:00
George C A Reid
0a1e38d38a Add support for the Acer Labs M5451 chip.
Submitted by:	Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org>
2001-08-29 09:04:22 +00:00
Warner Losh
0f78b1c02b Add some seat belts. If we set the error rc, then return it and don't
pretend things succeeded.  This can happen if the address returned
form bus_alloc_resource for the cis memory is occupied by some of
thing.
2001-08-29 05:11:44 +00:00
Cameron Grant
a32858897e add some extra diagnostic info to sndstat output. 2001-08-29 02:49:54 +00:00
Cameron Grant
9924faf6e7 * change buffering method a bit
* swap record/mic channels
* initialise all channels
* align dma buffers to 8 bytes

Submitted by:	Katsurajima Naoto <raven@katsurajima.seya.yokohama.jp>
(mostly)
2001-08-29 02:31:03 +00:00
Søren Schmidt
a8ae536239 Update the Promise TX2 code to DTRT and not what I guessed earlier.
Allow tagged queing on the Promise TX2 as it seems to work.

Cudos to promise for making the most simple to program ATA chip.
2001-08-28 13:36:06 +00:00
Søren Schmidt
b4fa8260b8 Add support for yet another VIA '686 combination. 2001-08-28 08:59:17 +00:00
Warner Losh
47e83d86d1 Make this compile when there is no pci bus in your kernel.
Note: This should be multiple files, but since it is also broken in
stable, I thought I'd do a fix that could be MFC'd.

This is a MFC candidate.
2001-08-28 05:26:43 +00:00
Warner Losh
3577f582a0 Ugggg. I thought I'd already committed this to -current:
If the intline is 0 or 255, then it needs an interrupt routed.  Some
Sony laptops improperly flag devices that need an interrupt with 0 :-(.
2001-08-27 20:42:07 +00:00
Maxim Sobolev
166cd0b42f OOPS, remove local change that somehow slipped into a commit (I swear that
I already deleted it some time ago). This should fix problem people have with
unsefined reference to `MD_PRELOAD_COMPRESSED'.

Submitted by:	Manfred Antar <null@pozo.com>
2001-08-27 17:48:37 +00:00
Jonathan Lemon
00c4116b3e Systems based on the ICH2/ICH2-M chip from Intel have a defect where
the chip can cause a PCI protocol violation in under certain scenarios.
The workaround is to rewrite the EEPROM to disable Dynamic Standby Mode.

Once the EEPROM is rewritten, the system needs to be rebooted in order
to pick up the new settings.

This has been tested on several ICH2/ICH2-M systems, found in 815E based
boards, and usually identified by the presence of the 82562 ET/EM PHY.

Thanks to: Mike Tansca, Paul Saab for samples of the problematic boards.
2001-08-27 16:07:12 +00:00
Maxim Sobolev
9d4b594558 - On module unload try to detach all configured disks and let unload proceed
if all disks were detached sucessfully;
- use consistent style for return statements and fix several others style
  inconsistencies.

Reviewed by:	ru
Approved by:	phk
2001-08-27 13:25:47 +00:00
Jonathan Chen
71e7902026 Make pccard_product_lookup non-static again...
When something is exported, do not mark it as static for no apparent reason...

Broken by: me
2001-08-27 11:28:00 +00:00
Jonathan Chen
472ce770c4 Fix the hack that allocates memory when the bios haven't already done so.
We can't rely on rman to give us a useable memory window if we tell it to
do auto-allocation.  This should probably be fixed on the pci bus/rman side.
2001-08-27 11:23:05 +00:00
Warner Losh
db3e31829d Note difficulties we had in OLDCARD using NEWCARD's methods of debouncing card event interrupts. 2001-08-27 01:30:46 +00:00
Warner Losh
533dc59976 More notes to the reader about issues in pccard code here. 2001-08-27 01:24:33 +00:00
Warner Losh
fe63bdcc6a Merge notes, but not code, from my latest tree on pccard_function_init and pccard_function_free 2001-08-27 01:18:21 +00:00
Cameron Grant
4f4449e01c now we have the rate feeder, we don't need to constrain the default channel
speed.  however, continue to do so for record channels until the feederchain
builder is fixed.
2001-08-27 01:02:13 +00:00
Cameron Grant
52eb6afd0c MFS rev 1.8.2.8:
release resources on detach

Submitted by:	"Christopher N . Harrell" <cnh@netvmg.com>
2001-08-27 00:54:26 +00:00
Jonathan Chen
63fa9f4c0d Part two of this NEWCARD update:
Briefly, the significant changes include:
 * Way better resource management in pccbb, pccard and cardbus.
 * pccard hot-removal now appears to work.
 * support pre-fetchable memory in cardbus.
 * update cardbus to support new pci bus interface functions.
 * Fix CIS reading to no longer use rman_get_virtual().

What's not there, but in the works:
 * pccard needs to do interrupt properly and not read the ISR on single
   function cards.
 * real resource management for pccard
 * a complete implementation of CIS parsing
 * need to look into how to correctly use mutex in pccbb
2001-08-27 00:09:42 +00:00
Jonathan Chen
c83acdc307 Non-functional changes to NEWCARD stuff.
This is the first part of a two-part update to NEWCARD.  Changes in this
commit are non-functional, and includes the following:
 * indentation and other changes to meet style(9).
 * other minor style consistancy changes
 * addition of comments
 * renaming of device_t variables to be consistant across all of NEWCARD.

(note that not all style violations are fixed in this commit -- those that
 aren't will be clobbered by the next commit.)
2001-08-26 23:56:49 +00:00
Jonathan Chen
255b159f5f Non-functional changes to NEWCARD stuff.
This is the first part of a two-part update to NEWCARD.  Changes in this
commit are non-functional, and includes the following:
 * indentation and other changes to meet style(9).
 * other minor style consistancy changes
 * addition of comments
 * renaming of device_t variables to be consistant across all of NEWCARD.

(note that not all style violations are fixed in this commit -- those that
 aren't will be clobbered by the next commit.)
2001-08-26 23:55:34 +00:00
Mike Smith
4c1cdee628 Updates to match the ACPI CA 20010816 import:
- New debug macro (ACPI_DEBUG_PRINT), reducing debug-case code size.
 - New debug level/subsystem codes.
2001-08-26 22:50:15 +00:00
Peter Wemm
4ea059e15f The EXTENDED_GEOMETRY flag is really bit 7. This affects >2GB drives.
PR:		29454
Submitted by:	Rob Manchester <rmanches@vmware.com>
2001-08-26 21:51:35 +00:00
George C A Reid
874f2e78b4 Add support for the SiS 7018
PR:		30100
Submitted by:	Ada Lim <adal@cse.unsw.edu.au>
2001-08-26 19:15:28 +00:00
Nick Sayer
2afcd749c7 Get rid of redundant device_set_desc. Both the PCI and PCCARD versions
do this in the probe routine now.
2001-08-24 05:47:50 +00:00
Nick Sayer
fa081a357e In order for the MA301 to pass interrupts from the PCCard, you must
go into the PLX 9052's interrupt control register and turn on the magic
interrupt enable bit.

Partial thanks are due to OpenBSD for pointing out that the chip is a
PLX 9052 and pointing me to the datasheet PDF.
2001-08-24 02:14:26 +00:00
Cameron Grant
4132a3b206 the feederchain builder is currently broken for recording channels. disable
it until it is fixed.  this limits recording to native formats and speeds
only.
2001-08-23 12:27:27 +00:00
Cameron Grant
334326a17f handle bogus values passed to SOUND_PCM_WRITE_CHANNELS/SNDCTL_DSP_CHANNELS
ioctls better- if 0 is passed, return the current setting.  if 1 or 2 are
passed, behave accordingly.  treat values >2 as 2.

PR:		kern/29964
2001-08-23 12:21:12 +00:00
Cameron Grant
48875621e1 make the 4dwave nx chip work
Submitted by:	Philippe Anel <xigh@noos.fr>
2001-08-23 12:02:29 +00:00
Cameron Grant
92f39b2c05 MFS: make SNDCTL_DSP_SETTRIGGER work 2001-08-23 11:58:38 +00:00
Cameron Grant
1662598f0c MFS: allow multiple opens of mixer devices 2001-08-23 11:56:07 +00:00
Cameron Grant
67b1dce3bc many changes:
* add new channels to the end of the list so channels used in order of
addition

* de-globalise definition of struct snddev_info and provide accessor
functions where necessary.

* move the $FreeBSD$ tag in each .c file into a macro and allow the
/dev/sndstat handler to display these when set to maximum verbosity to aid
debugging.

* allow each device to register its own sndstat handler to reduce the amount
of groping sndstat must do in foreign structs.
2001-08-23 11:30:52 +00:00
Nick Sayer
499147571e Oops. The new pci_ids array should be static. 2001-08-23 03:06:16 +00:00
Peter Wemm
1ef4734b8a Do not printf when we get called as a result of a pci shared interrupt,
and add a comment to that effect.
2001-08-23 01:16:10 +00:00
Peter Wemm
dae6dcff3f Revert part of the last commit, as suggested by Nick. This is expected,
it is part of the way PCI shared interrupts work.
2001-08-23 01:12:35 +00:00
Nick Sayer
84031c85e5 Add support for the Netgear MA301 PCI adapter for the MA401.
It appears that a number of PrismII card vendors seem to be doing the
same thing (that is, using the same PCI bridge chip) to support PCI,
but each with their own vendor/product ID. So rather than cut-n-paste
another if statement into the probe routine, it's probably better to
provide support for a table. Adding new devices will be a lot easier
that way.
2001-08-23 00:57:40 +00:00
Peter Wemm
1408f3e993 Make these depend on the usb module so they can use its symbols if they
are loaded as seperate .ko files
2001-08-22 05:33:57 +00:00
Nick Hibma
83429be9b0 Find spurious interrupts. 2001-08-21 22:39:04 +00:00
Nick Hibma
e940cef54f Add support for the I-O DATA USB-ET/TX(USB Ethernet adapter)
PR:		27792
2001-08-21 22:20:50 +00:00
Nick Hibma
6e155c1b96 Add support for the HP 4300C scanner.
Submitted by:		Ernst de Haan <ernst@jollem.com>
2001-08-21 22:16:44 +00:00
Nick Hibma
4817ad7e09 Support for the HP 8200e CD writer. (commented out)
Submitted by:	Heath Nielson <heath@cs.byu.edu>
2001-08-21 22:03:18 +00:00
Nick Hibma
d815b123a2 Add support for the Microtech CameraMate.
Submitted by:		Phil Knaack <pknaack1@netscape.net>
Submitted by:		Jim Bryant <kc5vdj@yahoo.com>
2001-08-21 21:47:08 +00:00
Nick Hibma
924be33dc3 Deconfuse a debugging message. 2001-08-21 21:41:15 +00:00
Nick Hibma
9a9a00ec47 Regen.
National BearPaw 1200 has changed name USB_PRODUCT_NATIONAL_BEARPAW1200.
2001-08-21 21:36:58 +00:00
Nick Hibma
ff3863b777 Add Mustek, National and Ultima scanners.
Submitted by:	Henning Meier-Geinitz <hmg@gmx.de>
PR:		29777
MFC after:	1 week
2001-08-21 21:35:40 +00:00
Scott Long
2c325c113c Fresh code drop from the vendor. This fixes some critical bugs and adds
support for a new class of controllers.  Also adjust MAINTAINER at the
approval of msmith.

Obtained from:	mark_salyzyn@adaptec.com
2001-08-21 19:58:16 +00:00
Mitsuru IWASAKI
eb5b463449 Fix error checking about device state transition from D0 to D3.
Turn off the resources listed in _PR0 to go to D3 if we don't have _PR3/_PS3.

Reviewed by:	msmith
2001-08-21 18:22:40 +00:00
Søren Schmidt
65d5e55cdd Add support for the newer Promise chips here as well. 2001-08-21 12:23:31 +00:00
Søren Schmidt
468fe0fdf1 Finally commit some of the minor things I've collected over the last month(s):
Add tagged queueing support for new IBM drives.

Add support for Yet Another Promise ATA 100 chip.

Flush disk cache on close.

Dont flush the disk cache on BIO_ORDERED anymore.

Cleanup the tests for DMA on ATAPI devices.

Allow to share ALL irq's even the std irg 14 & 15.

Fix calculation bug in end of media code on CD's.

Add REZERO on opening a CDR/CDRW.

Cleanup ataioctl a bit.
2001-08-21 11:35:47 +00:00
Mike Smith
6d3d1a8100 Remove noisy printfs from the notify handler; having these go off
every couple of seconds is not useful.
2001-08-21 09:06:02 +00:00
Matt Jacob
ed4bea259e Clean up some ways in which we set defaults for SCSI cards
that do not have valid NVRAM. In particular, we were leaving
a retry count set (to retry selection timeouts) when thats
not really what we want. Do some constant string additions
so that LOGDEBUG0 info is useful across all cards.

MFC after:	2 weeks
2001-08-20 17:28:32 +00:00
Matt Jacob
dec1985672 Add MBOX_GET_PCI_PARAMS alias.
MFC after:	2 weeks
2001-08-20 17:26:45 +00:00
Scott Long
33a375b754 Clarify the description string for one of the StrongARM based cards. 2001-08-17 20:59:49 +00:00
Justin T. Gibbs
937b771c8c Restore initialization of ahc->unpause lost in rev 1.76. ahc->unpause
should be initialized to 0 for PCI adapters which was a side-effect of
the memset in ahc_alloc().  EISA/VL adapters require our unpause value to
include the "levelness" of our interrupt.

This change allows EISA adapters to work again.

PR: 29689, 29471
2001-08-17 04:22:50 +00:00
Bill Paul
d3ab0d02cf After one more day of testing, make what I hope are the final tweaks to
prevent/workaround TX lockups in this driver. The secret seems to be to
not let the TX DMA queue become too full. If we have too many packets
in the queue, we should wait for them to drain a bit before trying to
queue more. This should prevent the lockup from occurring, and if it
does occur, there is special code in sf_start() to kick the NIC in the
head and get it going again.

Special thanks to Glen Neff for helping me test this fix.
2001-08-16 20:15:16 +00:00
Matt Jacob
169ad8cfef oops- typo in a previous commit 2001-08-16 17:39:45 +00:00
Matt Jacob
561e7bb942 Fix a spelling error in a comment. 2001-08-16 17:31:27 +00:00
Warner Losh
1865c617e4 Fix the so-called "half-baked-probe" code that I wrote a long time ago
to properly clear the interrupt register on the no error case.  Also,
set the mcr register to zero when we find we can't support the chip.

This fixes the hang on sio driver attach problem in the new pci pccard
code that some people have reported.  At least on my machine.  I'd
like to get this into 4.4.

Submitted by: bde
PR: kern/29742

MFC after: 1 day
2001-08-16 17:30:55 +00:00
Matt Jacob
dda035d1fc Add more MBOX and ASYNC event defines.
MFC after:	2 weeks
2001-08-16 17:26:03 +00:00
Matt Jacob
be534d5f1a Thanks to PHK for spotting: ISPASYNC_UNHANDLED_RESPONSE not
handle in isp_async.
2001-08-16 17:25:41 +00:00
Matt Jacob
50719f7521 Enable LIP F8, LIP Reset async events.
Be more chatty about SNS failures. Fix
typo for skipped phase mesage. Correct
MBOX_GET_PORT_QUEUE_PARAMS options in
table.

MFC after:	2 weeks
2001-08-16 17:25:08 +00:00
Dima Dorfman
e692c40ce1 Don't allocate a 512 byte buffer on the stack in snplwrite. It's
probably harmless in this case, since the latter is called on tty
input, which is usually a result of some system call, so we've got
plenty of stack left.  It's still nice to fix these things, though, in
case somebody ever decides this driver is a good example of something
(perhaps "what you probably shouldn't do").
2001-08-16 06:00:57 +00:00
Dima Dorfman
e0cebb4027 There is no MD_OBJET disk type, it's actually MD_SWAP. I guess the
former was either a previous or proposed name that kind of snuck in.
2001-08-16 03:04:49 +00:00
Bill Paul
fa97ab323c Still more changes to try to prevent TX lockups. Will wait for one more
night of testing before merging to -stable.

Also added to code to detect TX underruns and automatically increase the
TX threshold to avoid them. Carefully placed diagnostig printf() about
this under #ifdef DIAGNOSTIC to avoid getting any panicky e-mails from
confused users, like I always do with the xl and dc drivers.
2001-08-16 00:32:20 +00:00
Bill Paul
0a4b345e9f Tweak the interrupt handler so that we call the txeof handler more often,
to hopefully prevent the TX DMA queue from filling up and never getting
flushed.
2001-08-15 17:46:57 +00:00
Semen Ustimenko
395a636fb2 Fix an bug in FreeBSD attach routine - attaching MII interfaces before doing
common_attach is wrong as common attach initialize some fileds used by
mediainit routine. This was hard to notify because loading driver as kld
lead to mediainit routine being called after common_attach, though probe_phy
is called before.

MFC after:	1 week
2001-08-13 18:37:31 +00:00
Semen Ustimenko
2c9067b16f Add support for 802.1Q VLAN and oversized ethernet frames.
PR:		kern/29235
Submitted by:	Peter Jeremy <peter.jeremy@alcatel.com.au>
Reviewed by:	Yar Tikhiy <yar@FreeBSD.org>
MFC after:	1 week
2001-08-13 18:32:39 +00:00
Bruce Evans
807ef07ea1 Fixed minor numbers when there is more than one cy card.
PR:		19256
Submitted by:	initial version by yokota
MFC after:	1 week
2001-08-13 10:52:15 +00:00
Bruce Evans
0ce18d0354 Use ttymalloc() instead of a static array of `struct tty'. This will
be a regression until `pstat -t' actually understands the results of
ttymalloc().

Submitted by:	mostly by yokota
2001-08-13 07:00:21 +00:00
Mark Peek
53ab587043 Remove unused nmdmpoll function.
Approved by:	julian
2001-08-11 00:18:15 +00:00
Julian Elischer
d05a918fc3 Do NOT allocate a 1K buffer on the kernel stack.
Found by: Smashed u-area and hardware watch points.
MFC after: 1 week
2001-08-10 17:32:11 +00:00
Kazutaka YOKOTA
3863b6db4c Fix missing splx(). 2001-08-10 14:26:48 +00:00
John Baldwin
8ec48c6dbf - Remove asleep(), await(), and M_ASLEEP.
- Callers of asleep() and await() have been converted to calling tsleep().
  The only caller outside of M_ASLEEP was the ata driver, which called both
  asleep() and await() with spl-raised, so there was no need for the
  asleep() and await() pair.  M_ASLEEP was unused.

Reviewed by:	jasone, peter
2001-08-10 06:37:05 +00:00
Peter Wemm
20d6258def repo-copy the source files from modules/syscons to the normal tree
and connect them to the normal build infrastructure.
2001-08-09 00:02:30 +00:00
Peter Wemm
8e5003b0ea Add the Rio 800 USB device IDs
Submitted by: Wesley Morgan <morganw@chemikals.org>
2001-08-08 23:04:31 +00:00
Dima Dorfman
26a0ee75c6 Introduce a force option, MD_FORCE, that instructs the driver to
bypass some extra anti-foot-shooting measures.  Currently, its only
effect is to allow detaching a device while it's still open (e.g.,
mounted).  This is useful for testing how the system reacts to a disk
suddenly going away, which can happen with some removeable media.

At this point, the force option is only checked on detach, so it
would've been possible to allow the option to be passed with the
MDIOCDETACH operation.  This was not done to allow the possibility of
having the force flag influence other tests in the future, which may
not necessarily deal with detaching the device.

Reviewed by:	sobomax
Approved by:	phk
2001-08-07 19:23:16 +00:00
Scott Long
1a393b6188 Adding missing () in a KASSERT format string.
Submitted by:	brandt@fokus.gmd.de
2001-08-07 16:48:28 +00:00
Kazutaka YOKOTA
d959336c3b Don't call wakeup() while we are in DDB. The patch was
developed by bde. I added the same check in one more place
where wakeup() might be called during the DDB session.
Submitted by: bde
2001-08-07 11:51:26 +00:00
Brooks Davis
88f7a9cf86 Add PCI ID for Cisco Aironet 350 Series cards. The patch differs
slightly from the submitted one.

PR:		kern/29415
Submitted by:	Bob Fleck <rfleck@cigital.com>
2001-08-06 23:14:16 +00:00
Scott Long
d047ecf50b Make AAC_COMPAT_LINUX optional once again.
Submitted by:	julian
2001-08-06 19:40:47 +00:00
Scott Long
fb0c27d7e2 Put the linux compat ioctl interface on death row. Add FreeBSD
definitions of all of the ioctls, plus round out all ioctl definitions to
match what exists for linux.  Allow ioctls to be called through either the
native or linux interface, though no apps exist (yet) that can take
advantage of native calling.
2001-08-06 04:34:47 +00:00
Scott Long
74e818733c Missed this one in my 80-column sweep. 2001-08-06 03:52:40 +00:00
Mike Smith
b2c98acc5e The Intel 440MX ACPI timer seems to work properly, so add it to the list
here.  Restructure slightly so that adding more devices is easier.

Submitted by:	Jose Gabriel J Marcelino <gabriel@maquina.com>
2001-08-05 23:20:32 +00:00
Justin T. Gibbs
9f152ec7d2 aic7xxx.c:
Correct an off by one in our critical section handling.
		SEQADDR always reads the next instruction to execute,
		so we must subtract one from its value before making
		comparisons with entries in the critical section table.

		Print a few additional registers whenever we dump
		card state.

		Show the SCB_CONTROL and SCB_TAG values for all pending
		SCBs in card SCB ram when dumping card state.

	aic7xxx.seq:
		Fix a bug introduced while optimizing the SDPTR path.
		We would ack the SDPTR message twice on Ultra2 or better
		chips if it occurred after all data had been transferred
		for a transaction.

		Change our workaround for the PCI2.1 retry bug on some
		chips.  Although the previous workaround was logically
		correct, its faster method of draining the FIFO seemed
		to occassionally confuse the FIFO state.  We now drain
		the FIFO at half the speed which avoids the problem.

	aic7xxx_pci.c:
		Chips with the PCI 2.1 retry bug can't handle a 16byte
		cachesize.  If the cachesize is set to 16bytes, drop
		it to 0.
2001-08-05 22:20:12 +00:00
Scott Long
3d04a9d7e3 Once again throw out the calculation of si_iosize_max and set it to 64K.
Although it can go higher, it is not safe to so do on arrays with many
members.  Compromise by adding a tunable, "hw.aac.iosize_max" that can be
set at boottime.  Also document in the aac(4) manpage.

MFC after:	4 weeks
2001-08-05 07:26:31 +00:00
Scott Long
f6c4dd3f48 Bugfixes. Close a race and logic bug in the timeout handling, don't call the
interrupt handler from the upper half, etc.  This fixes some serious stability
problems that we were seeing on our production server.  These patches have
been tested for almost 6 months and are a highly recommended MFC candidate.

Reviewed by:	gibbs, merry, msmith
MFC after:	4 days
2001-08-05 06:20:13 +00:00
Scott Long
fadfef893f Fix a couple of copyright issues and an 80 column nit that I missed before 2001-08-05 06:15:00 +00:00
Warner Losh
a253d9b47b Kill debug output for sn device. It is confusing the natives 2001-08-04 05:27:52 +00:00
Mike Smith
feade91944 Reverse the logic here again with regards to "trusted" ACPI timer
implementations.  More of them seem to be broken, so only "trust"
timers we know work.
2001-08-03 09:52:53 +00:00
Mike Smith
d93b034fe9 Shoud build resources in the _CRS buffer. Oops.
Submitted by:	"neckpain@nettaxi.com" <neckpain@nettaxi.com>
2001-08-03 08:38:49 +00:00
Mike Smith
a692219d8a Move the resource pointer when we reallocate the buffer.
Submitted by:	"neckpain@nettaxi.com" <neckpain@nettaxi.com>
2001-08-03 08:38:11 +00:00
Scott Long
c6eafcf2c5 Reformat for 80 columns. Sorry, but I had to do it. 2001-08-03 00:50:30 +00:00
George C A Reid
1ad86e6dd7 Set up the via_chinfo structures properly so we write to the correct
registers later on; this fixes the VIA82C686 sound problems recently
reported by a number of people.
2001-08-02 22:13:10 +00:00
Kazutaka YOKOTA
0426db70c6 Include opt_splash.h. 2001-08-02 13:23:17 +00:00
Kazutaka YOKOTA
2fe5e0b184 Use #ifdef DEV_SPLASH (from opt_splash.h) rather than
#if NSPLASH > 0 (from splash.h) to test the presence
of the splash driver.
2001-08-02 13:22:33 +00:00
Kazutaka YOKOTA
eac47d67be Add FBIO_BLANK ioctl support. Return ENODEV for yet-to-be-
supported ioctls for now.
2001-08-02 11:26:30 +00:00
Kazutaka YOKOTA
6d1699583d Add some definitions. Their actual support will be added
to video drivers later.
2001-08-02 11:17:38 +00:00
Maxim Sobolev
fe603109d1 - Deny detaching requests until device is still open, otherwise it is possible
to hang or panic kernel by detaching disk from which fs is mounted;
- replace "md" with MD_NAME in yet another place.

Reviewed by:	phk
Approved by:	phk
2001-08-02 10:19:13 +00:00
Kazutaka YOKOTA
4866e2769a Refine cursor type/shape control escape sequences and
ioctls. We can now add ve, vi and vs capabilities to
cons25 in termcap.

Discussed with and tested by: ache
2001-08-02 08:30:40 +00:00
Matt Jacob
d51456f800 Oops- don't set 'goal' twice when you mean to set 'nvrm' as well.
This breaks bogus NVRAM boards.

MFC after:	1 day
2001-08-02 00:34:56 +00:00
Dima Dorfman
635751fa8c Fix grammar nit. 2001-08-01 20:16:12 +00:00
Greg Lehey
d505403792 open_device: Recognize ar device.
Submitted by:  Valery Kotchiev <valery@rudiment.dk>
2001-08-01 04:35:28 +00:00
Bill Paul
89b1abc0bf Re-order things slightly in the RX handler for VLAN support: we need
call vlan_input_tag() after stripping the ether header from the frame
with m_adj(), not before.

Noticed by: Brooks Davis <brooks@one-eyed-alien.net>
2001-07-31 16:38:58 +00:00
Jake Burkholder
8aa920fd1d Make the openfirmware functions work on 64 bit architectures by using
a standard cell_t type for the fields of all argument structs.  Also
make ihandle_t and phandle_t unsigned to avoid sign extension problems.

Approved by:	benno
2001-07-31 03:36:26 +00:00
Jake Burkholder
c22c65b1d4 Quiet uninitialized variable warning (also a bug). 2001-07-31 03:32:24 +00:00
Mike Smith
f16527bb44 The current resource buffer returned from an interrupt link device
in the case where there are no interrupts routed for it does not
contain enough space to use it to route an interrupt.  In the case
where we need to route an interrupt, throw away the returned buffer
and create a new one containing the interrupt we want.
2001-07-30 09:01:18 +00:00
Mike Smith
6d63101a75 - Prevent the ACPI code from being loaded as a module other than at
boot time.  Loading as a module once the system is up and running
   doesn't make any sense.

 - Fix acpi_FindIndexedResource (it would only check the first resource),
   changes the calling interface.

 - Add a new helper function (acpi_AppendBufferResource) to help building
   buffers containing resources.
2001-07-30 08:59:43 +00:00
Mike Smith
d8a9fe36a1 Minor updates (no functional changes)
- Remove the beer-ware license (reqested by phk)
 - Reorganise so that the PIIX4 workaround code is kept together, and
   switch the workaround function via the timecounter struct, saving
   a compare in the read-timecounter codepath.  Also indicate that
   the workaround is active by changing the timecounter hardware string.
2001-07-30 08:57:55 +00:00
Matt Jacob
9ce9bdaf8a Redo how we manage SCSI device settings- have a 3rd flags (nvram) that records
either what's in NVRAM or what the safe defaults would be if we lack NVRAM.
Then we rename cur_XXXX to actv_XXXX (these are the currently active settings)
and the dev_XXX settings to goal_XXXX (these are the settings which we want
cur_XXXX to converge to).

This probably isn't entirely final as yet- but it's a lot closer to now
being what it should be, including allowing camcontrol to actually set
specific settings.
2001-07-30 01:00:21 +00:00