71 Commits

Author SHA1 Message Date
cg
1c4f19e2d7 handle closing differently - should fix the end-of-sample cutoff bug 2000-06-13 23:18:43 +00:00
cg
3b62c472a0 handle duplex properly in the AIOGCAP ioctl - this may (partially?) fix rat 2000-06-07 11:51:30 +00:00
cg
d22fc7d403 improve recording 2000-06-06 22:30:22 +00:00
cg
abb00fd380 don't panic if we try to add a channel we said we wouldn't 2000-06-06 22:24:53 +00:00
cg
ba367be739 if a device has no play or no record channels, set its simplex flag. 2000-06-01 01:32:30 +00:00
cg
2d78819395 fix the return value of the SOUND_PCM_WRITE_CHANNELS ioctl
re-enable old pcm ioctls
2000-05-27 14:40:17 +00:00
cg
fe693a0d08 move various fields from pcm_channel to snd_dbuf
improve chn_read code- don't stop/restart on overrun, just dump data

more error checking on ioctls
2000-05-26 21:55:13 +00:00
cg
437ef4fa6b if we have a codec init routine, fail the attach if init fails 2000-05-26 21:42:50 +00:00
cg
e7de7487d9 handle emulated dma reads
don't try to get sample size from snd_dbuf
2000-05-26 21:15:47 +00:00
nyan
61405e3c6a Supported the mss on PC-98 and Sound Blaster 98.
Submitted by:	"T.Yamaoka" <taka@windows.squares.net>
2000-05-19 15:41:52 +00:00
phk
36c3965ff9 Separate the struct bio related stuff out of <sys/buf.h> into
<sys/bio.h>.

<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall
not be made a nested include according to bdes teachings on the
subject of nested includes.

Diskdrivers and similar stuff below specfs::strategy() should no
longer need to include <sys/buf.> unless they need caching of data.

Still a few bogus uses of struct buf to track down.

Repocopy by:    peter
2000-05-05 09:59:14 +00:00
cg
05c83e1b4b fix the 100% cpu in xmms issue 2000-05-04 19:06:34 +00:00
phk
ce2aa22c93 Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
cg
dc9d94db23 duh, i forgot to change a bitmask, sorry alexander
Submitted by:	Alexander Matey <matey@cis.ohio-state.edu>
2000-04-26 23:08:12 +00:00
cg
a036330123 fix minor numbers for multi-channel devices
Submitted by:	Alexander Matey <matey@cis.ohio-state.edu>
2000-04-26 20:06:52 +00:00
cg
ea94bdbf08 implement settrigger according to spec
fixes for non-blocking mode
2000-04-23 18:09:18 +00:00
cg
57539462d6 more mmap fixes 2000-04-17 17:06:47 +00:00
cg
6dcc92e9d3 make mmap sort-of work. there seem to be interactions with certain hw
drivers, so still work in progress.

do various mmap-related ioctls right.

improve blocksize control.

bits of cleanup.
2000-04-15 05:04:12 +00:00
cg
ce54393508 make poll() dtrt, previously when playing it would trigger if there was less
than 1 byte ready to play instead of room for at least 1 byte to be written.
similarly for recording.
2000-04-05 05:54:02 +00:00
cg
a00d5b661c allow /dev/dsp to be opened seperately for reading and writing. 2000-04-05 01:13:42 +00:00
cg
02dcd03a45 try increasing 2ndbuffer size to 64k 2000-04-05 00:56:02 +00:00
cg
a3c065ea56 fail in attach if we seem to have no ac97 codec 2000-04-01 22:24:03 +00:00
cg
a553c0f5cf don't check extended features on codecs known to hang. should fix neomagic
problems.
2000-03-24 03:14:35 +00:00
cg
effa7bc907 update the ac97 layer:
* add a callback for initialising the mixer interface
* support ac97 2.1 variable rate audio feature

fix ac97-using drivers for the above

add suspend/resume support for neomagic
2000-03-20 15:30:50 +00:00
cg
2a1e86107d add a function to reinitialize the mixer, to be called by drivers on
resuming after suspend
2000-03-20 15:21:50 +00:00
n_hibma
da12839ce8 Spelling mistake 2000-03-15 22:11:00 +00:00
phk
8e89e2d03f Stop isadma from abusing the B_READ, B_RAW and B_WRITE flags.
Define ISADMA_{READ,WRITE,RAW} macros with the same numeric
values as the B_{READ,WRITE,RAW} and use them instead throughout.
2000-03-13 10:19:32 +00:00
peter
7760fba064 Tidy up stray or bogus #if NFOO > 0 and #include "foo.h". 2000-01-29 18:48:30 +00:00
peter
1129f8f225 Remove a rather bizzare set of #ifdefs and #defines that all worked out
to be a NO-OP.
2000-01-29 18:44:01 +00:00
cg
c54637f284 handle simplex devices right 2000-01-26 20:27:45 +00:00
cg
0a67c016a3 kludge to fix the end-of-sample repeating bug. i don't know why it happens;
none of my hw does it, but this should fix it for now.

Tested by:	wpaul
2000-01-18 18:59:03 +00:00
cg
fc15400060 update ac97 layer to use device_printf when printing messages 2000-01-18 17:13:43 +00:00
cg
fcb01752cf fix missing \n in sndstat output 2000-01-16 12:52:22 +00:00
cg
719aa81c83 make dsp_read() assert that it has a read channel, not a write channel
Submitted by:	green
2000-01-10 07:05:15 +00:00
cg
3fa29d03b7 fix the premature termination of playback 2000-01-09 08:32:49 +00:00
cg
874d48434c modify sndstat output 2000-01-09 08:07:46 +00:00
cg
2da2a05a1b allow mixer-only devices - ie, devices with no play/rec channels 2000-01-06 04:11:36 +00:00
cg
9a79ef7dd3 don't panic if channel init fails, report and fail gracefully 2000-01-05 20:44:41 +00:00
cg
5cf59636dd argh, forgot the bus_dma_tag_creates.
also, panic if channel init fails instead of derefing null.
2000-01-05 04:01:34 +00:00
peter
15b9bcb121 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 04:46:21 +00:00
cg
9ed7cb48bf - latest 2ndbuffer patch
- make chn_setdir work for rec on isa cards
- note: es1371 does not irq in smp

Submitted by:	tanimura
1999-12-29 03:46:54 +00:00
cg
d213246f9d minor cleanup
Parts Submitted by:	Ville-Pertti Keinonen <will@ztango.com>
1999-12-21 08:43:28 +00:00
cg
8f45fa6446 minor cosmetics 1999-12-20 14:57:46 +00:00
cg
4bfcb8b317 allow (broken) apps to use mixer ioctls on dsp devices. eg: vmware
Submitted by:	"Vladimir N. Silyaev" <vsilyaev@mindspring.com>
1999-12-20 00:56:51 +00:00
cg
85110b4344 stop playing if we underrun; if there is more data to come, the next write
will restart
1999-12-19 22:32:55 +00:00
cg
6221457152 move make_dev operations for audio channels to pcm_addchan(). in theory,
with modifications to MAKEDEV this will allow use of multiple output streams
on cards supporting it, eg trident 4dwave.
1999-12-19 15:27:24 +00:00
cg
2257ad71d8 fix the buffer repetition on ^c problem 1999-12-18 22:24:50 +00:00
cg
65600d1d6d more dma underrun fixes, using a per-channel 2nd buffer
Submitted by:	tanimura
1999-12-13 03:29:09 +00:00
cg
1698a08e9a move channel-swapping support to the hardware driver since it knows the card
state best
1999-12-12 02:18:58 +00:00
peter
7de5d2d418 Update for pnp adjustments regarding NPNP.
Also, optimize out a mess of #if's that were duplicating work already
done by config(8).  For example, if a file is marked as
"dev/sound/pci/foo.c optional pcm pci" then it's only added if pcm *and*
pci are present, so #if NPCM > 0 and #if NPCI > 0 are totally redundant.
A bit more work is still needed.

Discussed with: cg (a few weeks ago)
1999-12-06 18:26:33 +00:00