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
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
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
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
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
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
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
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
Scott Long
19f2be11b0
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
Scott Long
e93d24c2f0
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 Wemm
57385865a9
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
Cameron Grant
41a019c08d
* 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
Cameron Grant
cbe7d6a3ed
remove obsolete typedefs.
...
only define INTR_TYPE_AV if it is not already defined.
2001-07-03 12:53:09 +00:00
Brian Feldman
bc0e6469ff
Correct obviously wrong mistakes.
2001-07-02 23:47:23 +00:00
Matt Jacob
5640e0ac5a
make it compile again in -current
2001-07-02 17:36:11 +00:00
Brian Feldman
5e6abe66d8
Detect the device on e.g. Dell OptiPlex GX110s.
2001-07-02 15:29:38 +00:00
Brian Feldman
0cfa4761f7
Make all this compile on 4.3, modulus sbuf.
2001-07-02 15:27:28 +00:00
Cameron Grant
1b6c76a2fe
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
Cameron Grant
113375dc42
add module version/dependancies
2001-07-01 18:59:15 +00:00
Cameron Grant
c76f01164f
don't set a flag that is already set
2001-07-01 18:57:16 +00:00
Cameron Grant
4712b1eba1
set default 'monitor' volume (ac97 headphones) to 75%
2001-07-01 18:53:24 +00:00
Cameron Grant
f637a36cfd
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
Cameron Grant
aa0baad55b
tidy up/simplify dsp_clone()
2001-06-27 19:51:02 +00:00
Cameron Grant
cd9766c5f8
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
Cameron Grant
8e81760b1a
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
Cameron Grant
f00f162a5f
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
Cameron Grant
79bb7d52b3
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
George C A Reid
733a4ea771
Use the M_ZERO flag to malloc(9)
...
Reviewed by: cg
MFC after: 1 week
2001-06-21 19:45:59 +00:00
Cameron Grant
b30d115684
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
Thomas Moestl
916076fefc
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
Cameron Grant
74ffd13814
use devclass_get_maxunit() correctly
2001-06-18 00:10:47 +00:00
Cameron Grant
faeebea2b8
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
Cameron Grant
5210620e98
fix a potential panic in dsp_clone() if no pcm devices were detected
2001-06-17 20:15:29 +00:00
Peter Wemm
46700f1259
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
Cameron Grant
d95502a838
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
Cameron Grant
b8f0d9e0b2
various locking fixes, rework open logic and channel registration
...
PR: kern/28084
2001-06-14 13:31:30 +00:00
Cameron Grant
94faf89997
identify es1371 revision a
2001-06-11 00:32:18 +00:00
Cameron Grant
7d07ee8c6b
get clkrun the right way around
...
remove debug messages
2001-06-11 00:29:25 +00:00