Cameron Grant
5fd7b0878e
warn if hwptr goes backwards
2000-08-09 00:42:00 +00:00
Cameron Grant
6c1146c0b8
fix the staticy sound issue
...
use timer instead of per-channel interrupts
do playback like the linux driver - may fix nmi-with-ecc issue
2000-08-06 18:10:05 +00:00
Nick Sayer
05a1fdb459
Simplex devices will always report EBUSY on 2nd (and subsequent)
...
opens if the reference count is not decremented on close.
Note that this may result in the reference count being corrupted
on full duplex devices (due to mismatching opens/closes), but the
code doesn't use the reference count for anything on full duplex
devices.
2000-08-02 22:47:44 +00:00
Nick Sayer
3ac1ca3363
1. Increase the size of the DMA buffer.
...
2. Offer half duplex with both playback and record on channel 1 or
full duplex with playback always on channel 2 as a compile-time option.
3. 16 bit record output is byte swapped for some dumb reason. Report the _BE
AFMTs for recording.
2000-08-02 22:45:57 +00:00
Nick Sayer
a7e1150660
Undo some of my own damage. With this patch, it appears that both
...
recording and playback now work correctly.
2000-08-02 19:37:43 +00:00
Nick Sayer
bb7f26c3d9
Fix channel 1 playback the rest of the way. There are a couple of
...
hiccups, but playback now proceeds mostly normally using both channel 1
and 2.
2000-08-02 15:09:39 +00:00
Nick Sayer
19a0702e86
Get playback on channel 1 closer to working. 8 bit samples work.
...
16 bit samples have some sort of choppiness, the nature of which
is not completely clear, but it clearly has something to do with
dma buffer synchronization. But at least channel 1 makes noise now.
2000-08-02 08:01:00 +00:00
Nick Sayer
8eb3acc9be
Fix channel 1, sort of. recording now generates IRQs and the output
...
appears to be the correct length, but quality of output has not yet
been tested. Also, full duplex audio (that is, playback on channel 1)
does not yet work. Two constants and I am there!
Obtained from: major hints from ALSA
2000-08-02 06:36:55 +00:00
Nick Sayer
80a8e065eb
Reverse the sense of the signed/unsigned formatting bit.
...
This dramatically cleans up playback quality, at least with mxaudio.
2000-08-01 04:18:15 +00:00
Cameron Grant
fd1aaeccce
almost-there ess solo-1 driver, committed so people can tell me why it
...
doesn't generate irqs.
2000-07-31 16:17:40 +00:00
Cameron Grant
5151584d21
add suspend/resume for yamaha chips
...
Submitted by: Ira L Cooper <ira@MIT.EDU>
2000-07-30 21:15:35 +00:00
Cameron Grant
1c60ef3f3c
fix a potential local DoS attack
2000-07-30 19:38:26 +00:00
Cameron Grant
e04387c95a
fix a bug where opening /dev/dsp twice resulted in it being busy until reboot
2000-07-30 19:36:13 +00:00
Cameron Grant
3c1b957d66
do the ac97 init delay for all chips and increase it to 500ms
2000-07-30 02:33:37 +00:00
Cameron Grant
d98c7b9a99
make this file suitable for 4-stable as well as 5-current
2000-07-18 21:23:48 +00:00
Richard Seaman Jr.
307754cbe2
PR:19945
...
Reviewed by:tanimura
Fix boot panic introduced by newmidi code.
2000-07-18 20:18:16 +00:00
Seigo Tanimura
fb0ef52838
Finally merge newmidi.
...
(I had been busy for my own research activity until the last weekend)
Supported devices:
SB Midi Port (sbc + midi)
SB OPL3 (sbc + midi)
16550 UART (midi, needs a trick in your hint)
CS461x Midi Port (csa + midi)
OSS-compatible sequencer (seq)
Supported playing software:
playmidi (We definitely need more)
Notes:
/dev/midistat now reports installed midi drivers. /dev/sndstat reports
only pcm drivers. We need the new name(pcmstat?).
EMU8000(SB AWE) does not sound yet but does get probed so that the OPL3
synth on an AWE card works.
TODO:
MSS/PCI bridge drivers
Midi-tty interface to support general serial devices
Modules
2000-07-11 11:49:33 +00:00
Cameron Grant
e71eb9c328
do-nothing module that depends on all sound drivers
2000-07-03 21:00:44 +00:00
Cameron Grant
f314f3dad2
add module metadata. this is a hack, sound drivers will eventually present a
...
bus to which pcm, mixer, etc will attach.
2000-07-03 20:52:27 +00:00
Ollivier Robert
c790e2240e
This is the patch to make my soundcard, a Creative Ensoniq AudioPCI (an
...
es1371 chip, device id 0x58801274 rev 0x02).
Submitted by: Kenneth Wayne Culver <culverk@wam.umd.edu>
2000-07-02 14:17:41 +00:00
Cameron Grant
946e608646
add record channel irq timeouts too
2000-06-20 23:42:08 +00:00
Cameron Grant
e4d5b2502d
fix a bug where opening for write would not fail if channel allocation failed
...
when playing, if we stall for 1s with no data advancing, abort and mark the
channel dead - fail all future operations
2000-06-20 23:27:12 +00:00
Cameron Grant
03cab0581f
make mixer reads return the value written instead of the value set
...
people seem to want this even though it breaks oss spec compliance
2000-06-19 20:31:58 +00:00
Cameron Grant
fa5e422d98
replace a line erroneously removed in 1.28, should fix xmms
...
make buf_clear handle unaligned lengths
2000-06-17 19:29:40 +00:00
Cameron Grant
70776a9c0b
add alpha-quality recording code and handle pci error interrupts - this may
...
prevent the card generating an nmi on ecc systems. for now a message is
printed on every pci error and it seems every time we start playng we get one
2000-06-13 23:24:40 +00:00
Cameron Grant
20a874f116
handle closing differently - should fix the end-of-sample cutoff bug
2000-06-13 23:18:43 +00:00
Brian Somers
a54185c7ba
Add (another) PnP entry for the ESS ES1869 (Compaq OEM)
...
Submitted by: mdharnois@home.com
PR: 19206
2000-06-12 09:09:37 +00:00
Peter Wemm
a99bef94ed
Untangle some #include between gusc.c/mss.c - gusc.c could create
...
an attachment node for something that may not have been compiled in.
2000-06-10 07:20:54 +00:00
Peter Wemm
cb73359d42
Unused include: #include "sbc.h"
2000-06-10 07:17:29 +00:00
Peter Wemm
83fc8b6d34
Unused includes: #include "pci.h", #include "pcm.h"
2000-06-10 07:15:15 +00:00
Dan Moschuk
7bf9834a55
Increase delay from 10mu to 1000mu when reading play control size. This
...
allows the YMF744 to initialize properly.
2000-06-09 16:44:30 +00:00
Cameron Grant
1a50bd2e37
handle duplex properly in the AIOGCAP ioctl - this may (partially?) fix rat
2000-06-07 11:51:30 +00:00
Cameron Grant
2f9aa04e7f
this driver does not support the cs4281 and probably never will, different code
...
will be required
2000-06-06 22:42:57 +00:00
Cameron Grant
dafad92c7d
support recording
2000-06-06 22:34:09 +00:00
Cameron Grant
20cdda004b
improve recording
2000-06-06 22:30:22 +00:00
Cameron Grant
9c3268206d
don't panic if we try to add a channel we said we wouldn't
2000-06-06 22:24:53 +00:00
Peter Wemm
3e0f102e57
With this evil hack the DS1 driver works on our Intel desktop
...
motherboards that use YMF740's. It has a strange subvendor and subdevice
ID and requires a disturbingly long delay after the ac97 codec init.
Cameron hasn't had this driver tested on another 740 yet, so we don't know
if this is a quirk of all 740's, or if its just something about the codec
that Intel used.
2000-06-01 03:58:27 +00:00
Cameron Grant
17dbf67736
if a device has no play or no record channels, set its simplex flag.
2000-06-01 01:32:30 +00:00
Cameron Grant
e05327ee1b
if we get bad values for playctrlsize, the firmware may not have initialised
...
yet so retry.
2000-06-01 01:29:05 +00:00
Cameron Grant
2176a9588a
add a bit more diagnostic info for the bus_dmamap_load failure case
2000-05-31 19:04:12 +00:00
Cameron Grant
bd68ce8be9
yamaha ds1/ds1e pci sound driver - work in progress, mixer and playback only.
...
tested on ymf724f only.
conf/files entry is commented out, enable it manually to test this code and
let me know results.
2000-05-31 03:21:36 +00:00
Jun Kuriyama
81c0587fa1
Add more ESS1869 PnP Sound Card PnPid.
...
Submitted by: MIHIRA Yoshiro
PR: kern/17349
2000-05-29 07:43:51 +00:00
Peter Wemm
4cbef178df
Use the correct name for a mapping register, not the old FreeBSD 2.x
...
compatability name.
2000-05-28 15:15:14 +00:00
Cameron Grant
94e3845ccd
fix the return value of the SOUND_PCM_WRITE_CHANNELS ioctl
...
re-enable old pcm ioctls
2000-05-27 14:40:17 +00:00
Cameron Grant
d28089a10d
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
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
Jake Burkholder
e39756439c
Back out the previous change to the queue(3) interface.
...
It was not discussed and should probably not happen.
Requested by: msmith and others
2000-05-26 02:09:24 +00:00
Jake Burkholder
740a1973a6
Change the way that the queue(3) structures are declared; don't assume that
...
the type argument to *_HEAD and *_ENTRY is a struct.
Suggested by: phk
Reviewed by: phk
Approved by: mdodd
2000-05-23 20:41:01 +00:00
Yoshihiro Takahashi
d2fce85dba
Oops, rman_get_bushandle() should be converted to rman_get_virtual()
...
if resources are mapped to memory.
2000-05-20 16:15:50 +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
Cameron Grant
942aeab734
fix a speed bug that nobody noticed
2000-05-15 02:10:27 +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
35d9c60d76
repo-copied to sys/gnu/dev/sound/pci/emu10k1.h
2000-04-26 19:53:46 +00:00
Cameron Grant
0ffbc64fe6
update for new location of emu10k1.h under sys/gnu
2000-04-26 19:51:19 +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
f23598ec2c
maybe make cmi8330 work - no feedback yet
...
implement bass/treble for yamaha opl-sax chips
2000-04-23 17:57:35 +00:00
Cameron Grant
19b6ac092e
try the fix from creative bugzilla for nmi problem
...
Obtained from: creative labs bugzilla
2000-04-18 19:11:38 +00:00
Cameron Grant
8ae4c159aa
more mmap fixes
2000-04-17 17:06:47 +00:00
Cameron Grant
674c45bd04
make drivers start at beginning of buffer when triggered - improves mmap.
...
not all tested.
not sure about aureal.c or csapcm.c
2000-04-17 16:57:12 +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
2d3ce9d56e
decrease buffer size to 4k
...
use a seperate channel for generating irqs so we get a buffer-half-empty
interrupt, prevents repeating on underflow
2000-04-05 02:14:26 +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
8b455f8d05
move buffer size definition to .c file for consistency, and reduce it to 4k
2000-04-05 00:38:00 +00:00
Cameron Grant
97b3c9d804
make the click on starting output go away
2000-04-04 02:16:15 +00:00
Cameron Grant
8046c76306
fix missing defines and prototype for emu_vdump()
2000-04-03 00:28:43 +00:00
Cameron Grant
c067afaa06
unfinished sblive driver, playback/mixer only for now - not enabled in
...
conf/files
i don't seem to be clearing the cache right resulting in a short initial
burst of noise, despite doing the same as creative and alsa. i'm committing
now so more eyes can pore over the code.
2000-04-02 07:41:17 +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
0a3eb835c2
bump the buffer size from 4k to 16k. should improve performance under load.
2000-04-01 21:28:09 +00:00
Cameron Grant
57376530f0
split up ess and sb code
...
rewrite ess mixer to use native registers
rewrite play/rec code to use more accurate timer when available
add code to use audio2 for playback, but disable it as no irqs are generated
2000-03-28 18:31:01 +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
87374c3d7a
toast warnings on i386
2000-03-20 15:50:08 +00:00
Cameron Grant
3252a47be9
make als120 cards which report dsp version 3.x whilst only supporting 4.x
...
and *not* 3.x commands work
2000-03-20 15:34:27 +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
Seigo Tanimura
ca6da1de5e
Add the logical ID of Avance Logic ALS100. The vendor ID is also
...
checked, which was introduced in 1.18.
PR: kern/16487
Submitted by: Oliver Fromme <oliver.fromme@heim3.tu-clausthal.de>
Approved by: jkh
2000-03-09 02:13:21 +00:00
Cameron Grant
1a7d73a130
Partial fix: the following patch correctly configures the card for dual
...
channel DMA. The problem was that the SDC bit (0x04) can only be set in
the MCE state.
PR: kern/16587
Submitted by: Matthew Reimer <mreimer@vpop.net>
Approved by: jkh (in person)
2000-03-05 15:51:09 +00:00
Cameron Grant
73bd6f4aab
fix ess end-of-buffer repeating
...
Submitted by: nhibma
Approved by: jkh
2000-02-14 23:37:02 +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
a05382d9ae
differentiate cmi8330 and als100 pnp cards based on their vendor id. this
...
is a kludge for 4.0
2000-01-29 00:18:29 +00:00
Andrew Gallatin
de6d75328e
Add support for detection of the ESS 1688 found on my Dell Latitude LM
2000-01-28 04:28:11 +00:00
Cameron Grant
45248baa3c
handle simplex devices right
2000-01-26 20:27:45 +00:00
Peter Wemm
a3a2b1e1b2
Note the PnP id's for the NMX2210 next to the id's where they are used.
...
The pnpbios doesn't supply a description in the case we've seen so
supply one.
2000-01-23 13:17:03 +00:00
Seigo Tanimura
8f7076b8ff
The pointer of the serial FIFO in the DSP seems to make an error
...
upon starting/stopping the DSP. Correct the pointer in addition
to clearing the FIFO.
2000-01-23 07:04:02 +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
Peter Wemm
615407b5a0
Some SB128's (ES1371) have a different PCI vendor id. Vendor == 0x3274
...
instead of the normal 0x1274.
Tested by: des
2000-01-17 07:54:00 +00:00
Cameron Grant
9bc502089a
fix missing \n in sndstat output
2000-01-16 12:52:22 +00:00
Cameron Grant
0a12fe07e7
oops, best play format was set to unsigned 16 bit instead of signed 16 bit
...
stereo. remenant from testing.
2000-01-16 12:05:07 +00:00
Cameron Grant
724efc44ec
attach to non-ac97 neomagic chips and hope that ac97 ones do not have the
...
same pnpbios id
2000-01-13 06:11:32 +00:00
Cameron Grant
5b4c3f3ca0
be less verbose
2000-01-13 06:00:57 +00:00
Daniel Eischen
d404cb51ee
Add support for detection of the ESS 1878 chip.
2000-01-12 11:16:23 +00:00
Cameron Grant
e7fb32964c
exclude chips with subdevices specified on a list of non-ac97 chips
2000-01-11 10:37:16 +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
10b23f4c02
don't complain about bad intrs unless we get 1000 of them consecutively
...
whilst we are playing or recording. since we should irq ~20 times/sec when
active, this should never trigger. in theory. if it never does trigger,
the check will be removed.
2000-01-10 06:19:20 +00:00
Cameron Grant
9090c22ce7
general tidyup
2000-01-10 03:22:28 +00:00
Cameron Grant
4ee074718b
return the sample rate set instead of 0. oops. mpg123 should now work.
2000-01-10 01:59:12 +00:00
Cameron Grant
147d35e8b3
fix the premature termination of playback
2000-01-09 08:32:49 +00:00
Cameron Grant
d5fa8408e6
driver for neomagic 256av and 256zx
...
Obtained from: anonymous author, heavily derived
2000-01-09 08:14:11 +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
Cameron Grant
ebb0b1f9bb
set up the pci regs properly for busmastering. this makes the card work on
...
my smp box.
2000-01-05 02:03:55 +00:00
Cameron Grant
9d1671b8c2
allocate isa bounce buffers of the right size for ess/mss cards, fixes
...
panics reported
2000-01-05 00:39:20 +00:00
Seigo Tanimura
769309aaf2
Do not start/stop DMA transfer if it is already started/stopped.
2000-01-03 05:26:12 +00:00
Seigo Tanimura
f259d7eed5
- Handle an interrupt for csa primarily in the bridge driver,
...
then invoke the children. As the value of HISR can be read
only once, pass the HISR to the children via struct
csa_bridgeinfo, stored in the ivars of them.
- Clear the contents of serial FIFO upon stopping the DMA for
playing. This may eliminate buzz on playing. Experimental.
2000-01-03 02:51:16 +00:00
Cameron Grant
43607766d6
revert buffer size to 64k
2000-01-01 21:50:20 +00:00
Seigo Tanimura
f7e00c54d1
Correct the delay durations as in the sample sources provided by Crystal Semiconductor.
2000-01-01 09:07:03 +00:00
Peter Wemm
32ef0d3eb6
Attach the CS4610 PCI / CS4239 setup in isa compatability mode as CSC0100.
...
The PCI component is non-AC97 apparently.
PR: 15632
Submitted by: gibbs
1999-12-30 20:04:11 +00:00
Cameron Grant
69cbc772d9
make ess cards use a 64k buffer again, by implementing esschan_init()
1999-12-30 04:04:43 +00:00
Cameron Grant
2635fee807
make es1373 chips with ac97 2.1 work on troublesome motherboards
...
Submitted by: Russell Cattelan <cattelan@thebarn.com>
1999-12-29 05:44:17 +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
Peter Wemm
7c361b70c5
Fix a mistake in the PNP EISA-encoding of the Avance ALS120 id.
...
Submitted by: Bryan Liesner <bleez@netaxs.com>
1999-12-26 10:51:47 +00:00
Doug Rabson
7e864cbf08
Don't pass u_int32_t pointers to BUS_READ_IVAR since it tends to make
...
alphas panic.
1999-12-24 16:22:45 +00:00
Peter Wemm
2996751a32
Collapse a bunch of unused MD_CS42nn tags into a single one. This saves
...
going to a lot of trouble to identify it and set the tag and then not use
it. Convert the pnp id matching to the preferred table based system.
@@@0001 (CMI8330 ldn 0) is a mss, not a SB.
1999-12-21 14:09:19 +00:00
Peter Wemm
93111ff410
Tidy up a few loose ends, including adding the pnp tags in comments.
...
Remove @@@0001 - it's an MSS, not a SB, at least according to the
original pre-sbc code and according to a pnpinfo report that Cameron has.
1999-12-21 14:04:14 +00:00
Peter Wemm
e9feccdcb4
Remove #if NISA > 0 - this is best done by the configuration process.
...
It had a heap of unreferenced stuff if there was no isa configured in the
system.
1999-12-21 13:55:46 +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
637e117737
don't use the sbpro mic vol register during init on ess cards; it causes
...
feedback and we use the native one elsewhere.
1999-12-21 06:18:03 +00:00
Cameron Grant
a451ce1dad
minor cosmetics
1999-12-20 14:57:46 +00:00
Cameron Grant
71f78e06c6
make marcel's onboard ess1888 work
...
Submitted by: marcel
1999-12-20 14:55:56 +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
34c18c4fc5
note to self: vibra16c is not vibra16x
1999-12-19 22:28:31 +00:00
Cameron Grant
ff00068cce
fix for ess cards to use auto-init dma mode, so they work
1999-12-19 22:25:26 +00:00
Cameron Grant
09eb10434a
remove unused mixer stuff
1999-12-19 18:18:55 +00:00
Cameron Grant
d37a380ddb
general tidyup
1999-12-19 17:51:32 +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
5c9abff13d
fix a bug in sndstat output, tidy up a few bits
1999-12-19 15:07:56 +00:00
Cameron Grant
df74837fd9
generalise the code a bit, and add an irq handler so that the child devices
...
can share the irq
1999-12-19 14:44:08 +00:00
Cameron Grant
71dde75288
remove the restriction limiting the vibra16x to 8 bit
...
Noticed By: Clive Lin <clive@CirX.ORG>
1999-12-19 14:21:38 +00:00
Cameron Grant
e53ad03a80
make vibra16x cards announce what they are in /dev/sndstat
1999-12-18 22:47:23 +00:00
Cameron Grant
f4a31ab806
fix the buffer repetition on ^c problem
1999-12-18 22:24:50 +00:00
Cameron Grant
354398891a
make the vibra16x work for playback at least, record is untested
1999-12-18 22:21:47 +00:00
Seigo Tanimura
cf4f3dda81
Correct the logical ID of Avance Asound 110.
...
Submitted by: Bryan Liesner <bleez@netaxs.com>
1999-12-18 12:17:02 +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
d4a72b067c
make sb dependant on sbc
...
add support for non-pnp cards to sbc
move card identification to sbc
channel-swapping code is in sb now instead of dsp
vibra16x support is still broken, but will be fixed soon
note: sbc is now compulsory for sb cards
for pnp cards use:
device sbc0
for non-pnp cards eg:
device sbc0 at isa? port 0x240 irq 5 drq 3 flags 0x15
(hints as oldpcm)
both in addition to:
device pcm0
Reviewed by: tanimura,dfr
Said he liked it: peter
1999-12-12 02:30:19 +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
Cameron Grant
dedf4424a0
increase buffer size, reduce number of channels allocated since we only use
...
1 at the moment
1999-12-12 02:16:14 +00:00
Seigo Tanimura
7012990a73
Make the origins clear.
...
Pointed out by: Tatoku Ogaito <tacha@trap.fukui-med.ac.jp>
1999-12-10 01:20:08 +00:00
Bill Fumerola
953fbebedd
Reckognize the 'Avance Asound 100'
...
Submitted by: Oliver Fromme <olli@dorifer.heim3.tu-clausthal.de>
1999-12-07 01:53:24 +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
2ff5c01e98
conditionalise some warning messages
...
Submitted by: Vladimir N.Silyaev <vns@delta.odessa.ua>
1999-12-05 20:25:29 +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
Seigo Tanimura
777b4568dd
Add the logical ID of ViBRA16CL PNP on Micron Millenium II motherboards.
...
PR: kern/15243
Submitted by: Steven G. Kargl <kargl@troutmask.apl.washington.edu>
1999-12-04 10:13:17 +00:00
Seigo Tanimura
2efb116afa
Call ISA_PNP_PROBE() to probe PnP cards, rather than match
...
the vendor and logical IDs directly.
Submitted by: peter
Tested by: Timo Geusch <freebsd@timog.prestel.co.uk>
1999-12-04 09:51:24 +00:00
Matthew N. Dodd
fe0d408987
Remove the 'ivars' arguement to device_add_child() and
...
device_add_child_ordered(). 'ivars' may now be set using the
device_set_ivars() function.
This makes it easier for us to change how arbitrary data structures are
associated with a device_t. Eventually we won't be modifying device_t
to add additional pointers for ivars, softc data etc.
Despite my best efforts I've probably forgotten something so let me know
if this breaks anything. I've been running with this change for months
and its been quite involved actually isolating all the changes from
the rest of the local changes in my tree.
Reviewed by: peter, dfr
1999-12-03 08:41:24 +00:00
Doug Rabson
eab0f2ce01
Add ESS1879.
...
Submitted by: MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
1999-11-30 09:11:06 +00:00
Alfred Perlstein
4d25c041fe
tanimura implemented SNDCTL_DSP_GETODELAY for pcm.
...
Submitted by: tanimura
1999-11-29 23:01:59 +00:00
Doug Rabson
3dbbf1f548
Disable on x86 since it conflicts with PNPBIOS.
1999-11-27 17:03:08 +00:00
Seigo Tanimura
e61280105e
Add another vendor ID(CTL0048) for SB32 PnP.
...
Submitted by: Charles Anderson <caa@columbus.rr.com>
1999-11-27 06:33:27 +00:00
Daniel C. Sobral
1b6ef0a40c
Add id for ESS 1869 OEM to Compaq on Presario 1621.
1999-11-26 18:58:03 +00:00
Seigo Tanimura
5d6784867c
Attach the resources as given in the configuration in a proper way
...
for non-PnP cards.
Noticed by: Pascal Hofstee <daeron@shadowmere.student.utwente.nl>
1999-11-25 01:13:52 +00:00
Cameron Grant
54671c035c
fix panic for large writes in non-blocking mode
1999-11-22 21:16:01 +00:00
Cameron Grant
29618c3ae2
fix mixer to return properly scaled values
1999-11-22 16:20:48 +00:00
Seigo Tanimura
125fdb9848
Comment out the newmidi stuff.
1999-11-22 10:28:05 +00:00
Seigo Tanimura
fe1a5d1c2f
- Introduce the bridge drivers for Sound Blaser, GUS and Crystal
...
Semiconductor CS461x/428x.
- Add support for GUS and CS461x/428x pcm.
Bridges reviewed by: dfr, cg
GUS non-PnP support submitted by: Ville-Pertti Keinonen <will@iki.fi>
GUS PnP support tested by: Michiru Saito <mich@mtci.ne.jp>
1999-11-22 06:07:49 +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
Roger Hardiman
39d409c9e1
Rename es1370.c to es137x.c and merge in the patches to support
...
ES1371 and ES1373 PCI Audio Sound Chips.
The 1371 and 1373 can be found on newer CreativeLabs/Ensoniq
sound cards such as the SoundBlaster PCI 16,64 and 128.
Submitted by: Russell Cattelan <cattelan@thebarn.com>
Obtained from: Parts obtained from linux, but rewritten by Russell
1999-11-19 07:29:10 +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
Peter Wemm
0ff3bc32a8
Fix a typo in the DRIVER_MODULE() declaration which caused a collision
...
with the real mss module.
1999-11-15 17:03:30 +00:00
Peter Wemm
6e96409f68
Remove duplicate entry for ADS7180 - it's meant to be handled by the
...
forked-off ad1816 driver.
1999-11-15 17:02:32 +00:00
Doug Rabson
890970b27b
Remove some printfs and make it slightly more paranoid about accepting
...
that an ess1888 is present.
1999-11-15 08:18:24 +00:00
Doug Rabson
62c631ed7f
* Ignore the wierd fakechan workarounds for simplex in dsp_ioctl().
...
Without this, ioctl commands for setting formats and speeds were
essentially ignored for simplex devices until the application actually
performed a read or write.
* Make sure that both channels are set in the SB mixer code and provide a
mixer table specifically for the ess18xx which supports the extended
accuracy available on this part.
* Fix a stupid bug in ess_format() which ignored the passed-in format and
changed the hardware based on the value which was set last time. This
meant that the hardware setting was often not set correctly at all.
* Add a custom identify driver for the ESS1888 which automagically detects
and adds the device in a pseudo-PnP way. This driver also emits the magic
sequence which enables the sound hardware after a hard reset, allowing
it to work correctly for the sound hardware of a PWS 433au (and probably
all other PWS class alpha machines).
With these changes, I was able to play back simple sounds on my 433au. I
have not tested recording or any other formats other than 8bit ulaw and
16bit stereo.
1999-11-13 18:31:31 +00:00
Seigo Tanimura
35e6a54a31
Conserve stereo mode in ioctl SNDCTL_DSP_SETFMT.
...
PR: 14372
Submitted by: Mattias Pantzare <pantzer@ludd.luth.se>, Ville-Pertti Keinonen <will@iki.fi>
1999-11-07 04:15:30 +00:00
Seigo Tanimura
05b17b64dc
The unit of sndstat is fixed to zero.
1999-11-06 05:31:47 +00:00
Seigo Tanimura
083279e41b
Fix for multiple pcm devices.
1999-11-03 08:10:49 +00:00
Seigo Tanimura
1134623173
Call make_dev() to shut up the warning.
...
Pointed out by: Donn Miller <dmmiller@cvzoom.net>
1999-11-01 14:29:07 +00:00
Seigo Tanimura
b3dde4ea8e
The total uiomoved size is accumulated in c, not tmp.
1999-10-31 08:58:51 +00:00
David E. O'Brien
13bdeaf987
The CTL0044 is more properly known as a "Creative SB AWE64 Gold".
1999-10-16 15:57:33 +00:00
Doug Rabson
25afb89b1c
* Add struct resource_list* argument to resource_list_alloc and
...
resource_list_release. This removes the dependancy on the
layout of ivars.
* Move set_resource, get_resource and delete_resource from
isa_if.m to bus_if.m.
* Simplify driver code by providing wrappers to those methods:
bus_set_resource(dev, type, rid, start, count);
bus_get_resource(dev, type, rid, startp, countp);
bus_get_resource_start(dev, type, rid);
bus_get_resource_count(dev, type, rid);
bus_delete_resource(dev, type, rid);
* Delete isa_get_rsrc and use bus_get_resource_start instead.
* Fix a stupid typo in isa_alloc_resource reported by Takahashi
Yoshihiro <nyan@FreeBSD.org>.
* Print a diagnostic message if we can't assign resources to a PnP
device.
* Change device_print_prettyname() so that it doesn't print
"(no driver assigned)-1" for anonymous devices.
1999-10-12 21:35:51 +00:00
Doug Rabson
3598f19234
Bring support for opti931 in from the old driver.
1999-10-12 20:19:03 +00:00
Warner Losh
a832055165
Make interrupts shareable with RF_SHAREABLE. This is untested, but
...
it compiles and should just work.
1999-10-09 03:52:07 +00:00
Warner Losh
c0de9fc637
Allow interrupt sharing by allocating the interrupt RF_SHAREABLE.
...
This allows newpcm to grok my es1370 based card, which shared
interrupts with the ethernet card.
1999-10-09 03:50:27 +00:00
David E. O'Brien
d0847d9cf1
Detect CTL0044 & CTL0045 as "Creative AWE64 PnP" rather than "SB16 PnP".
...
Reviewed by: dfr
1999-10-03 17:45:54 +00:00
Doug Rabson
9689906734
Add ID for ESS ES1869.
1999-09-29 07:27:35 +00:00
Cameron Grant
5b78a73443
* add a non-reset device- will not reset the channel on open. you
...
will have to mknod yourself for now.
* don't eat the first write()
* partial rvplayer fix- don't panic on unaligned writes unless our
feeder chain requires them for downconversion. a fuller fix is
on the way.
1999-09-28 21:43:35 +00:00
Cameron Grant
89c57f2d02
add a missing blank line
1999-09-28 20:24:28 +00:00
Cameron Grant
cf56588462
seperate the ad1816 driver from the mss driver since it shares no code
1999-09-28 20:00:06 +00:00
Doug Rabson
340b1ef545
Add another ID for the AWE64.
1999-09-28 08:25:08 +00:00
Poul-Henning Kamp
d6a0e38a1b
Remove five now unused fields from struct cdevsw. They should never
...
have been there in the first place. A GENERIC kernel shrinks almost 1k.
Add a slightly different safetybelt under nostop for tty drivers.
Add some missing FreeBSD tags
1999-09-25 18:24:47 +00:00
Peter Wemm
fc80907389
Fix the "dsp sync" debugging printf that was unconditional. Fix a few
...
formatting nits/glitches/whatever.
1999-09-19 09:53:57 +00:00
Doug Rabson
45dde9cda4
Make sure that opti931's and guspnp's use the right offset from their ports.
1999-09-10 08:20:23 +00:00
Cameron Grant
a78723c1c1
fix a bug with cat >/dev/{dsp,dspW,audio} hanging
1999-09-08 17:34:54 +00:00
Doug Rabson
062acdb7e7
Change isa_get/set_flags() to device_get/set_flags().
1999-09-07 08:42:49 +00:00
Peter Wemm
3ca1647688
$Id$ -> $FreeBSD$
1999-09-05 15:21:05 +00:00
Cameron Grant
8f77ea6449
incorporate better ess support
...
Obtained From: KUROSAWA Takahiro <fwkg7679@mb.infoweb.ne.jp>
Tested By: peter
1999-09-04 18:23:23 +00:00
Cameron Grant
c5ad1e3a03
handle uiomove better in feed_root
1999-09-04 17:08:30 +00:00
Cameron Grant
4a8480837a
bugfix: deallocate channels properly if no read/write ops between open/close
1999-09-04 17:03:59 +00:00
Doug Rabson
4249382df0
This represents essentially a complete rewrite of the ISA PnP code. The
...
new system is integrated with the ISA bus code more cleanly and allows
the future addition of more enumerators such as PnPBIOS and ACPI.
This commit also enables the new pcm driver since it is somewhat tied to
the new PnP code.
1999-09-01 20:53:43 +00:00
Peter Wemm
53c5a968fe
$Id$ -> $FreeBSD$
1999-09-01 06:58:27 +00:00
Cameron Grant
987e59726a
say hello to newpcm. it is not yet enabled, requiring new pnp code from dfr
...
to compile successfully. further details will be provided in the commit
enabling newpcm.
1999-09-01 04:08:39 +00:00
Cameron Grant
bfd9d61ea6
mss and sb drivers updated for newpcm
...
Reviewed by: peter, dfr
1999-09-01 04:01:57 +00:00
Roger Hardiman
229cf3c335
Add support for ASound Gold card using the ALS120
...
chipset (a vibra 16x clone)
Identified automatically by its PnP ID
Approved by: Luigi
1999-05-27 06:12:40 +00:00
Peter Wemm
c7b52b866e
Fix dev_t/minor problems
1999-05-12 19:01:30 +00:00
Peter Wemm
8baa9b47b6
Quiet a warning, put a #if 0 around some (I believe) unused static structs.
1999-05-09 13:21:06 +00:00
Peter Wemm
691343c4f8
Use id_ointr for setting the pnp interrupt handler, it uses the oldstyle
...
int unit argument still.
1999-05-06 22:26:28 +00:00
Peter Wemm
025fd878ff
Operator precedence bug
...
PR: 11410
Submitted by: Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:41:20 +00:00
Luigi Rizzo
73a5bda360
Fix YMF719 detection (report by jose@we.lc.ehu.es).
...
Fix compile problems without "controller pnp0"
(fix by German Tischler)
1999-01-04 20:06:38 +00:00
Luigi Rizzo
2bd69c5d34
Bring in ad1816 patches from German Tischler.
...
Fix 'device not configured' problem that people were experiencing
when only PCI devices are present.
1999-01-04 10:40:14 +00:00
Luigi Rizzo
4964edb0c6
Extend the callback mechanism and add hooks to support PCI cards.
...
Remove a few unused variables.
1998-12-31 07:34:01 +00:00
Brian Somers
db21d4f4fc
Support ESS1868 (and probably ESS688 & ESS1668).
...
Submitted by: Max Khon <fjoe@husky.iclub.nsu.ru>
1998-12-10 18:36:10 +00:00
Archie Cobbs
2127f26023
Examine all occurrences of sprintf(), strcat(), and str[n]cpy()
...
for possible buffer overflow problems. Replaced most sprintf()'s
with snprintf(); for others cases, added terminating NUL bytes where
appropriate, replaced constants like "16" with sizeof(), etc.
These changes include several bug fixes, but most changes are for
maintainability's sake. Any instance where it wasn't "immediately
obvious" that a buffer overflow could not occur was made safer.
Reviewed by: Bruce Evans <bde@zeta.org.au>
Reviewed by: Matthew Dillon <dillon@apollo.backplane.com>
Reviewed by: Mike Spengler <mks@networkcs.com>
1998-12-04 22:54:57 +00:00
Luigi Rizzo
a6a30776d3
Add a missing newline
...
Submitted by: Roger Hardiman
1998-11-14 13:07:59 +00:00
Luigi Rizzo
ac1e654ef7
Add entry for AOpen AW37
1998-11-10 10:44:56 +00:00
Luigi Rizzo
16c775657c
Remove an error message from sb interrupt driver -- it
...
does not apply to all situations.
1998-11-04 09:13:20 +00:00
Dag-Erling Smørgrav
83eb77e880
Make that annoying "device busy" message dependent on DEBUG (using the
...
DEB macro). There are probably quite a few other messages that warrant
a similar treatment, and many more that should be converted to plain
log messages (e.g. "WARNING: wrintr but write DMA inactive!"). Now
that I think of it, same goes for the CAM code (e.g. the famed "tagged
openings" message)
1998-10-08 20:55:54 +00:00
Dag-Erling Smørgrav
5b3a79a466
Nit in comment: PnP ID 0x3500630e is a CS4236B, not a CS4236.
1998-10-04 16:22:25 +00:00
Alexander Langer
fd5e555c48
Removed duplicate case.
...
Submitted by: dfr
Blessed by: luigi
1998-10-03 14:43:49 +00:00
Luigi Rizzo
fe854067c7
Update the pcm driver to the most recent version. This should
...
add support for Vibra16X, OPTi925, and bring in several assorted
fixes to the code and documentation.
Also present here are apm hooks so that laptops can properly
reconfigure the hardware after suspend (tested on the Libretto50).
Reviewed by: jordan
1998-10-02 17:26:37 +00:00
Dag-Erling Smørgrav
e401e55f33
Add PnP ID for Crystal Semiconductors CS4236B codecs (register-
...
compatible with CS4236, so no driver changes are required)
Reviewed by: Luigi Rizzo <luigi@iet.unipi.it>
1998-09-30 14:06:25 +00:00
Bruce Evans
a5211c115d
Renambed sbintr to sb_intr to avoid a conflict with the (now
...
unconditionally declared although it can't be configured together
with snd) extern function sbintr.
1998-06-17 16:59:30 +00:00
Søren Schmidt
1747fd3131
Correct even more ioctl breakage :(
...
Doesn't people check their code before committing anymore, it could
at least compile ????
1998-06-08 09:00:28 +00:00
Steve Price
a396970306
Add support for the Yamaha YMF-719.
...
PR: 6348
Submitted by: Yoshiak Uchikawa <yoshiaki@kt.rim.or.jp>
1998-05-10 23:53:27 +00:00
Dag-Erling Smørgrav
dc73342347
Seventy-odd "its" / "it's" typos in comments fixed as per kern/6108.
1998-04-17 22:37:19 +00:00
Nate Williams
4bd4f74b5f
there is a minor bug in sb_dsp.c -- the driver
...
reports ESS cards as able to do 16-bit, but it has no support for it.
Submitted by: Luigi Rizzo <luigi@labinfo.iet.unipi.it>
1998-02-21 17:53:04 +00:00
Nate Williams
0e6400c7f0
- Updated to Luigi's 2-15-98 code. The code in 2.2 is the same except for
...
select/poll and DEVFS changes, which are limited to an include/define
in sound.h and the actual select/poll implementation in sound.c
[ This commit is blind, but the code is similar enough that there will
hopefully be no problems. ]
1998-02-17 19:17:08 +00:00
Marc G. Fournier
45f4be3300
Upgrade Luigi's audio driver to Jan/23 version... will bring in Feb/15th
...
version as soon as I've tested it...
Installed/tested on my home machine...any problems, please report directly
to me.
1998-02-17 14:17:13 +00:00
John-Mark Gurney
60dc9be97b
update of Luigi's sound drivers...
...
this updates to 971117 plus a small sb change that was after that release..
1997-11-23 07:03:21 +00:00
John-Mark Gurney
faac9650a5
This updates Luigi's sound code to the basic code in snd971023...
...
changes:
o rip the old select from his distribution to prevent extra pollution
o the code now uses audio dma, helps reduce clicks
o improved card support, should work in full duplex on sb16 cards
o add better voxware ioctl support pointed out by Joao Carlos Mendes
Luis <jonny@coppe.ufrj.br>
o remove an unused file that I included for more complete history
o and MANY other changes
I have personally tested this code with a CS4237 based card and an AWE32
(non-PnP). Both cards worked fine in 8bit and 16bit mode.
1997-10-31 12:24:28 +00:00
Peter Wemm
71eed6962e
Recognize the CS4326 on the Intel PR440FX motherboard. (It works just like
...
the normal CS4326 except that it's had it's ID's tweaked for some reason)
Also mark the device as alive in the attach routine so that the pnp system
doesn't think the attach failed.
1997-09-21 03:27:51 +00:00
Peter Wemm
dbe8d08328
Fix a comment-within-a-comment
1997-09-21 03:21:34 +00:00
John-Mark Gurney
f2ae16ee38
update Luigi's driver to poll interface (Peter, you might want to check
...
that I've done this properly, it does work though :) )...
a few minor fixes to code
part-Submitted-by: Luigi
1997-09-18 07:47:03 +00:00
John-Mark Gurney
b7da7b3e2a
Import of Luigi Rizzo's sound code. For more information about the driver
...
check out the README that is included.
Submitted by: Luigi Rizzo <luigi@labinfo.iet.unipi.it>
1997-09-14 21:42:12 +00:00