Cameron Grant
7c438dbe9c
add devfs support. when devfs is enabled, sysctl hw.sndunit is used to set
...
which sound unit the /dev/{dsp,mixer,dspW,audio} links point at. this can
also be set from the loader.
2000-08-29 16:21:33 +00:00
Cameron Grant
dacda62ff2
add driver for forte-media fm801
...
PR: conf/20698
Submitted by: dimmy the wild <diwil@dataart.com>
2000-08-29 16:12:28 +00:00
Doug Rabson
e6171135a7
Fix disordered arguments to bus_space_barrier().
2000-08-28 21:02:18 +00:00
Cameron Grant
513693be6c
rework feeder sytem to allow feeders in klds
...
modify driver capability reporting format to list every audio format
seperately- required for above and because we could not previously indicate
that mono was unsupported.
there should be no functional impact.
2000-08-20 22:18:56 +00:00
Cameron Grant
fa06efc7e6
fix SNDCTL_DSP_GETODELAY
...
PR: kern/20340
Submitted by: Takashi SHIRAI <shirai@nintendo.co.jp>
2000-08-19 18:29:46 +00:00
Cameron Grant
4e77c04865
don't complain about bad irqs if using a shared irq
2000-08-19 18:22:20 +00:00
Cameron Grant
becc0678b7
Recognize ESS 1888 in Dell Latitude XPi
...
PR: kern/18714
Submitted by: Sean O'Connell <sean@stat.Duke.EDU>
2000-08-19 18:17:15 +00:00
Nick Sayer
6ba60b3c4a
This patch appears to solve the problems with recording resulting
...
in bogus hwptr warnings. Further comments sought on -hackers
were not forthcoming. I can only hope that calling DELAY() like
this doesn't cause any heartburn.
2000-08-13 19:20:02 +00:00
Nick Sayer
fc35953a16
Missed a step when activating the solo driver.
2000-08-09 20:28:19 +00:00
Cameron Grant
4873b46dc7
change irq handling slightly
...
add another non-ac97 256av
2000-08-09 18:51:27 +00:00
Cameron Grant
071280d442
MFS: module macro changes
2000-08-09 18:46:48 +00:00
Nick Sayer
0edeb3dc90
A couple of cosmetic fixes, plus a biggie: When checking the DMA
...
position, channel 1's dma position register must be quiescent. So
the driver will spl, pause the DMA, delay a bit and hold as still as
possible while snapping the picture.
I'm sure there HAS to be a better way to do this, but if there is, it's
not documented.
So far as I can tell, this fixes recording, which means the Solo is open
for business.
2000-08-09 07:14:56 +00:00
Cameron Grant
1874ec255c
MFS: sync with peter's isadma fixup
2000-08-09 01:22:09 +00:00
Cameron Grant
ba90ebe703
activate via82c686 audio driver
2000-08-09 01:08:59 +00:00
Cameron Grant
fb9f118e6f
new driver: via 82c686 chipset audio
...
not personally tested, but i'm assured it works
Submitted by: David Jones <dej@ox.org>
PR: kern/20161
2000-08-09 00:55:55 +00:00
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