cg
be67da3328
* 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
cg
748a830ba6
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
cg
2c0e81585d
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
greid
a88b1ce13d
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
cg
f53d43761e
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
cg
a77fa3901d
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
cg
f92a958097
make the 4dwave nx chip work
...
Submitted by: Philippe Anel <xigh@noos.fr>
2001-08-23 12:02:29 +00:00
cg
ebfee899aa
MFS: make SNDCTL_DSP_SETTRIGGER work
2001-08-23 11:58:38 +00:00
cg
14ef1eed0d
MFS: allow multiple opens of mixer devices
2001-08-23 11:56:07 +00:00
cg
2cfb90cc8d
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
greid
132593d4da
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
scottl
ac76e3b7fe
Limit the device to only one playback channel until I can figure out why
...
a) newpcm insists on using only the highest number channel available, and
b) the maestro3 driver no longer likes anything above channel 0.
2001-07-19 20:53:52 +00:00
scottl
b6c9d769b9
Fix an off-by-one error in the dma tag. This was causing the VM system to
...
freak out occasionally.
MFC after: 1 week
2001-07-19 20:51:29 +00:00
peter
3fe8813714
Somehow I missed this. Use INTR_TYPE_AV (high priority) instead of
...
INTR_TYPE_TTY (lowest priority).
2001-07-09 23:44:54 +00:00
cg
5a82aadeb1
* simplify
...
* add support for mic record channel
* add support for setblocksize
* make mpsafe
* make getptr accurate
* reduce buffer size from 64k to 16k for better synchronisation
2001-07-03 17:27:13 +00:00
cg
5aa3adcdfb
remove obsolete typedefs.
...
only define INTR_TYPE_AV if it is not already defined.
2001-07-03 12:53:09 +00:00
green
1aa95d9355
Correct obviously wrong mistakes.
2001-07-02 23:47:23 +00:00
mjacob
e4ef9e1284
make it compile again in -current
2001-07-02 17:36:11 +00:00
green
894add3bd0
Detect the device on e.g. Dell OptiPlex GX110s.
2001-07-02 15:29:38 +00:00
green
9243c4f1a8
Make all this compile on 4.3, modulus sbuf.
2001-07-02 15:27:28 +00:00
cg
0cd79cefcc
intel ich/ich2 driver - this needs some work but is functional enough for
...
the impatient.
Hardware...
Provided by: ps
Lost by: <censored>
Found by: <censored>
Not delivered by: Ashley Penney <ashp@unloved.org>
Retrieved by: greid, Andrew McKay <andy@openirc.co.uk>
Delivered by: Andrew McKay <andy@openirc.co.uk>
PR: kern/25507
Submitted by: Katsurajima Naoto <raven@katsurajima.seya.yokohama.jp>
2001-07-01 19:38:58 +00:00
cg
cdcb647c9c
add module version/dependancies
2001-07-01 18:59:15 +00:00
cg
51c9fcab5c
don't set a flag that is already set
2001-07-01 18:57:16 +00:00
cg
d5d7bb721c
set default 'monitor' volume (ac97 headphones) to 75%
2001-07-01 18:53:24 +00:00
cg
e47dc3a01a
don't flag the playback hardchan as busy on devices with only one of them.
...
if a device has vchans already but they are all busy, allocate another one
at open() time, up to a maximum of hw.snd.maxvchans.
when creating/destroying vchans, don't make/remove a devnode for the
first/last one as it replaces a hardchan.
2001-06-27 19:59:45 +00:00
cg
c233f2daba
tidy up/simplify dsp_clone()
2001-06-27 19:51:02 +00:00
cg
773e160778
add a tunable/sysctl, hw.snd.autovchans. if this is set to a value n where
...
n > 0, n vchans will be assigned to any devices that subsequently register
with a single playback channel.
2001-06-26 21:54:55 +00:00
cg
b8c0fa4aba
the turtle beach santacruz implements ac97 eapd in an inverted sense -
...
inform the ac97 code of this.
2001-06-23 18:00:06 +00:00
cg
f4d67f0705
add defines and ifdefs so this code will compile on 4.x
...
add spls so this code will work on 4.x
2001-06-23 17:36:51 +00:00
cg
20fbfefbf3
move a private struct definition from ac97.h to ac97.c
...
add proper handling of cards which take eapd=1 to mean 'produce sound'
instead of 'external amplifier power down'
2001-06-23 17:32:40 +00:00
greid
d0a8512542
Use the M_ZERO flag to malloc(9)
...
Reviewed by: cg
MFC after: 1 week
2001-06-21 19:45:59 +00:00
cg
54d21ac4da
stop csa from panicing in clkrun_hack() - we were using free'd memory
...
don't leak memory in clkrun_hack()
Submitted by: grog (partially)
2001-06-18 19:58:03 +00:00
tmm
aa003601da
Call bus_teardown_intr when csa_attach fails after the interrupt has
...
been set up.
PR: kern/28178
Reviewed by: cg
MFC after: 2 weeks
2001-06-18 18:36:34 +00:00
cg
c24cb000aa
use devclass_get_maxunit() correctly
2001-06-18 00:10:47 +00:00
cg
420f58376d
revise dsp_clone() to return the first nonbusy channel instead of simply
...
cycling channel numbers.
remove unused fields from struct snddev_info.
2001-06-17 23:23:06 +00:00
cg
494b7c7475
fix a potential panic in dsp_clone() if no pcm devices were detected
2001-06-17 20:15:29 +00:00
peter
caf4a686e5
Use INTR_TYPE_AV for the interrupt handlers because:
...
1: most drivers are sensitive to timing, and
2: the handlers are MPSAFE and need a chance to get into the kernel
before some other non-mpsafe handler blocks the ithread on Giant in
shared irq cases.
Reviewed by: cg (in principle)
2001-06-16 22:59:46 +00:00
cg
4a0664e88e
use a global devclass for all drivers - i'm not entirely sure why this
...
worked before.
mixer, dsp and sndstat are seperate devices - give them their own cdevsws
instead of demuxing requests sent to a single cdevsw.
use the si_drv1/si_drv2 fields in dev_t structures for holding information
specific to an open instance of mixer/dsp.
nuke /dev/{dsp,dspW,audio}[0-9]* links - this functionality is now provided
using cloning.
various locking fixes.
2001-06-16 21:25:10 +00:00
cg
2ec7f0d19f
various locking fixes, rework open logic and channel registration
...
PR: kern/28084
2001-06-14 13:31:30 +00:00
cg
1fe6e1636a
identify es1371 revision a
2001-06-11 00:32:18 +00:00
cg
dad803d9ac
get clkrun the right way around
...
remove debug messages
2001-06-11 00:29:25 +00:00
des
23c38e4e7c
sbuf_new(9) now returns a struct sbuf * instead of an int. If the caller
...
does not provide a struct sbuf, sbuf_new(9) will allocate one and return
a pointer to it.
2001-06-10 15:48:04 +00:00
tanimura
f432beaf0e
Catch up to csareg.h rev 1.3.
...
Forgotten by: cg
2001-06-08 11:57:39 +00:00
peter
4b91e2ecf0
"Fix" the previous initial attempt at fixing TUNABLE_INT(). This time
...
around, use a common function for looking up and extracting the tunables
from the kernel environment. This saves duplicating the same function
over and over again. This way typically has an overhead of 8 bytes + the
path string, versus about 26 bytes + the path string.
2001-06-08 05:24:21 +00:00
cg
88b6f276b2
lock sound device when adding/removing channels
...
implement setblocksize for vchans
don't panic when doing certain ioctls or aborting on a vchan
xmms now works with vchans
2001-06-07 20:06:22 +00:00
peter
c1df44ae51
Back out part of my previous commit. This was a last minute change
...
and I botched testing. This is a perfect example of how NOT to do
this sort of thing. :-(
2001-06-07 03:17:26 +00:00
peter
0732738ec4
Make the TUNABLE_*() macros look and behave more consistantly like the
...
SYSCTL_*() macros. TUNABLE_INT_DECL() was an odd name because it didn't
actually declare the int, which is what the name suggests it would do.
2001-06-06 22:17:08 +00:00
joerg
9c040b1c43
Move out the files from src/sys/isa/ic/ to src/sys/dev/ic/, so they
...
can be made userland-visible as <dev/ic/...>. Also, those files are
not supposed to contain any bus-specific details at all, so placing
them under .../isa/ has been a misnomer from the beginning.
The files in src/sys/dev/ic/ have been repo-copied from their old
location (this commit is a forced null commit there to record this
message).
2001-06-04 21:04:14 +00:00
cg
92de892cfa
fix typo
2001-05-30 22:46:40 +00:00
cg
8829613a30
no longer used
2001-05-30 22:41:04 +00:00