Commit Graph

64 Commits

Author SHA1 Message Date
Cameron Grant
04553e63a5 if we have a codec init routine, fail the attach if init fails 2000-05-26 21:42:50 +00:00
Cameron Grant
35f9e4a1db handle emulated dma reads
don't try to get sample size from snd_dbuf
2000-05-26 21:15:47 +00:00
Yoshihiro Takahashi
7c14268dbd 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
Poul-Henning Kamp
9626b608de 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
Cameron Grant
52064e0a88 fix the 100% cpu in xmms issue 2000-05-04 19:06:34 +00:00
Poul-Henning Kamp
eb95c536ad Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
Cameron Grant
a618cffeb8 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
Cameron Grant
dd1863690a fix minor numbers for multi-channel devices
Submitted by:	Alexander Matey <matey@cis.ohio-state.edu>
2000-04-26 20:06:52 +00:00
Cameron Grant
a0e22dd8db implement settrigger according to spec
fixes for non-blocking mode
2000-04-23 18:09:18 +00:00
Cameron Grant
8ae4c159aa more mmap fixes 2000-04-17 17:06:47 +00:00
Cameron Grant
603ddb6d5d 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
Cameron Grant
7c7f2a4a81 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
Cameron Grant
bd18f33408 allow /dev/dsp to be opened seperately for reading and writing. 2000-04-05 01:13:42 +00:00
Cameron Grant
119a24a450 try increasing 2ndbuffer size to 64k 2000-04-05 00:56:02 +00:00
Cameron Grant
e620d95952 fail in attach if we seem to have no ac97 codec 2000-04-01 22:24:03 +00:00
Cameron Grant
6b4b88f7a2 don't check extended features on codecs known to hang. should fix neomagic
problems.
2000-03-24 03:14:35 +00:00
Cameron Grant
39004e693d 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
Cameron Grant
a0b4946276 add a function to reinitialize the mixer, to be called by drivers on
resuming after suspend
2000-03-20 15:21:50 +00:00
Nick Hibma
efb572af98 Spelling mistake 2000-03-15 22:11:00 +00:00
Poul-Henning Kamp
d8b47cbb70 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 Wemm
5775b1a2b6 Tidy up stray or bogus #if NFOO > 0 and #include "foo.h". 2000-01-29 18:48:30 +00:00
Peter Wemm
96e00123b4 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
Cameron Grant
45248baa3c handle simplex devices right 2000-01-26 20:27:45 +00:00
Cameron Grant
f2410ff244 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
Cameron Grant
03a00905d3 update ac97 layer to use device_printf when printing messages 2000-01-18 17:13:43 +00:00
Cameron Grant
9bc502089a fix missing \n in sndstat output 2000-01-16 12:52:22 +00:00
Cameron Grant
898cb2af53 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
Cameron Grant
147d35e8b3 fix the premature termination of playback 2000-01-09 08:32:49 +00:00
Cameron Grant
bf8ca271a3 modify sndstat output 2000-01-09 08:07:46 +00:00
Cameron Grant
833f702348 allow mixer-only devices - ie, devices with no play/rec channels 2000-01-06 04:11:36 +00:00
Cameron Grant
bbb5bf3d69 don't panic if channel init fails, report and fail gracefully 2000-01-05 20:44:41 +00:00
Cameron Grant
2abc85f0c0 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 Wemm
664a31e496 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
Cameron Grant
a0b57fb738 - 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
Cameron Grant
9035ec00a0 minor cleanup
Parts Submitted by:	Ville-Pertti Keinonen <will@ztango.com>
1999-12-21 08:43:28 +00:00
Cameron Grant
a451ce1dad minor cosmetics 1999-12-20 14:57:46 +00:00
Cameron Grant
1ad869dbc6 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
Cameron Grant
529863cb71 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
Cameron Grant
7207eca657 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
Cameron Grant
f4a31ab806 fix the buffer repetition on ^c problem 1999-12-18 22:24:50 +00:00
Cameron Grant
5f070b6772 more dma underrun fixes, using a per-channel 2nd buffer
Submitted by:	tanimura
1999-12-13 03:29:09 +00:00
Cameron Grant
0927bf4365 move channel-swapping support to the hardware driver since it knows the card
state best
1999-12-12 02:18:58 +00:00
Peter Wemm
c2af6f650c 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
Cameron Grant
0e25481f93 fix dma underrun issues
mutate some panics to kasserts
add more spl protection

PR:		kern/14990
Partially Submitted by:	Vladimir N.Silyaev <vns@delta.odessa.ua>
Reviewed by:	dfr
1999-12-05 19:09:13 +00:00
Alfred Perlstein
4d25c041fe tanimura implemented SNDCTL_DSP_GETODELAY for pcm.
Submitted by: tanimura
1999-11-29 23:01:59 +00:00
Cameron Grant
54671c035c fix panic for large writes in non-blocking mode 1999-11-22 21:16:01 +00:00
Cameron Grant
e479a8af2a fix for -fno-builtin
PR:		kern/14278
1999-11-21 17:15:12 +00:00
Cameron Grant
ef9308b1ce repo-copied to make way for newmidi, this commit updates include paths 1999-11-20 16:50:33 +00:00
Cameron Grant
98d83734f4 this is a full fix for writes not aligned to the sample size selected.
should be a no-op in most cases.
1999-11-15 23:57:33 +00:00
Cameron Grant
0513a1a1cb set default ogain to 50 since some sb cards produce no sound at 0 1999-11-15 23:22:52 +00:00