nsayer
f67558eb8f
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
nsayer
a493e558f7
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
nsayer
2b61c92449
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
cg
fb1049d339
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
cg
0c173f44b3
add suspend/resume for yamaha chips
...
Submitted by: Ira L Cooper <ira@MIT.EDU>
2000-07-30 21:15:35 +00:00
cg
8bfb4dc90b
fix a potential local DoS attack
2000-07-30 19:38:26 +00:00
cg
9446f7ff16
fix a bug where opening /dev/dsp twice resulted in it being busy until reboot
2000-07-30 19:36:13 +00:00
cg
24f340732c
do the ac97 init delay for all chips and increase it to 500ms
2000-07-30 02:33:37 +00:00
cg
1107e981d0
make this file suitable for 4-stable as well as 5-current
2000-07-18 21:23:48 +00:00
dick
873fedbae4
PR:19945
...
Reviewed by:tanimura
Fix boot panic introduced by newmidi code.
2000-07-18 20:18:16 +00:00
tanimura
7716c5370a
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
cg
679ed1b54d
do-nothing module that depends on all sound drivers
2000-07-03 21:00:44 +00:00
cg
809e9b3b6c
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
roberto
5cc49e5836
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
cg
cdd0f2dff3
add record channel irq timeouts too
2000-06-20 23:42:08 +00:00
cg
cc71ce279b
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
cg
e9eaaa68ef
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
cg
65a5eef02b
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
cg
a6f4815b7e
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
cg
1c4f19e2d7
handle closing differently - should fix the end-of-sample cutoff bug
2000-06-13 23:18:43 +00:00
brian
9259507e31
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
df75627b6c
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
32d2bf7f38
Unused include: #include "sbc.h"
2000-06-10 07:17:29 +00:00
peter
26d9019aaf
Unused includes: #include "pci.h", #include "pcm.h"
2000-06-10 07:15:15 +00:00
dan
1226423ba7
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
cg
3b62c472a0
handle duplex properly in the AIOGCAP ioctl - this may (partially?) fix rat
2000-06-07 11:51:30 +00:00
cg
ac9632abb9
this driver does not support the cs4281 and probably never will, different code
...
will be required
2000-06-06 22:42:57 +00:00
cg
a8b0277ad1
support recording
2000-06-06 22:34:09 +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
peter
bf702b6764
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
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
76b331914e
if we get bad values for playctrlsize, the firmware may not have initialised
...
yet so retry.
2000-06-01 01:29:05 +00:00
cg
31a7173f2e
add a bit more diagnostic info for the bus_dmamap_load failure case
2000-05-31 19:04:12 +00:00
cg
b4335ed1f6
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
kuriyama
15890db665
Add more ESS1869 PnP Sound Card PnPid.
...
Submitted by: MIHIRA Yoshiro
PR: kern/17349
2000-05-29 07:43:51 +00:00
peter
b67ad017c0
Use the correct name for a mapping register, not the old FreeBSD 2.x
...
compatability name.
2000-05-28 15:15:14 +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
jake
961b97d434
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
d93fbc9916
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
nyan
5921014a42
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
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
cg
85a224d838
fix a speed bug that nobody noticed
2000-05-15 02:10:27 +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
31b2ee0458
repo-copied to sys/gnu/dev/sound/pci/emu10k1.h
2000-04-26 19:53:46 +00:00
cg
d392acef96
update for new location of emu10k1.h under sys/gnu
2000-04-26 19:51:19 +00:00
cg
ea94bdbf08
implement settrigger according to spec
...
fixes for non-blocking mode
2000-04-23 18:09:18 +00:00
cg
33a9f13a32
maybe make cmi8330 work - no feedback yet
...
implement bass/treble for yamaha opl-sax chips
2000-04-23 17:57:35 +00:00
cg
3b6430fd03
try the fix from creative bugzilla for nmi problem
...
Obtained from: creative labs bugzilla
2000-04-18 19:11:38 +00:00
cg
57539462d6
more mmap fixes
2000-04-17 17:06:47 +00:00
cg
d3deb9312d
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
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
3a6463a95b
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
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
322951289b
move buffer size definition to .c file for consistency, and reduce it to 4k
2000-04-05 00:38:00 +00:00
cg
21caf00783
make the click on starting output go away
2000-04-04 02:16:15 +00:00
cg
cb309fc3fb
fix missing defines and prototype for emu_vdump()
2000-04-03 00:28:43 +00:00
cg
d45e1e2b8b
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
cg
a3c065ea56
fail in attach if we seem to have no ac97 codec
2000-04-01 22:24:03 +00:00
cg
0136b30782
bump the buffer size from 4k to 16k. should improve performance under load.
2000-04-01 21:28:09 +00:00
cg
fb4f8b3940
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
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
951269d7a5
toast warnings on i386
2000-03-20 15:50:08 +00:00
cg
699a6893fb
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
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
tanimura
27e4b96f78
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
cg
3e2fdbb2dd
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
cg
a69329aaa1
fix ess end-of-buffer repeating
...
Submitted by: nhibma
Approved by: jkh
2000-02-14 23:37:02 +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
c7803fdb7d
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
gallatin
b223e32eee
Add support for detection of the ESS 1688 found on my Dell Latitude LM
2000-01-28 04:28:11 +00:00
cg
c54637f284
handle simplex devices right
2000-01-26 20:27:45 +00:00
peter
bd4781a52d
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
tanimura
5ecc620e52
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
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
peter
780b88254a
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
cg
fcb01752cf
fix missing \n in sndstat output
2000-01-16 12:52:22 +00:00
cg
e6906410a6
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
cg
4d257ee74f
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
cg
6ccc3d677e
be less verbose
2000-01-13 06:00:57 +00:00
deischen
639e3cda8a
Add support for detection of the ESS 1878 chip.
2000-01-12 11:16:23 +00:00
cg
dfec3bcff1
exclude chips with subdevices specified on a list of non-ac97 chips
2000-01-11 10:37:16 +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
5f4f7388c4
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
cg
3452c8e1b7
general tidyup
2000-01-10 03:22:28 +00:00
cg
bbb4b43d9a
return the sample rate set instead of 0. oops. mpg123 should now work.
2000-01-10 01:59:12 +00:00
cg
3fa29d03b7
fix the premature termination of playback
2000-01-09 08:32:49 +00:00
cg
a77c3e5d41
driver for neomagic 256av and 256zx
...
Obtained from: anonymous author, heavily derived
2000-01-09 08:14:11 +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
cg
3df7871bf8
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
cg
33c444231e
allocate isa bounce buffers of the right size for ess/mss cards, fixes
...
panics reported
2000-01-05 00:39:20 +00:00
tanimura
eef91385fe
Do not start/stop DMA transfer if it is already started/stopped.
2000-01-03 05:26:12 +00:00
tanimura
745351b771
- 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
cg
4c3a41624f
revert buffer size to 64k
2000-01-01 21:50:20 +00:00
tanimura
41a606e473
Correct the delay durations as in the sample sources provided by Crystal Semiconductor.
2000-01-01 09:07:03 +00:00
peter
5f4940ee69
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
cg
eeb98c1804
make ess cards use a 64k buffer again, by implementing esschan_init()
1999-12-30 04:04:43 +00:00
cg
35328c713c
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
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
peter
259b04149b
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
dfr
af317b8045
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
153d1cc7d1
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
a1587ef715
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
818416f100
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
cg
d213246f9d
minor cleanup
...
Parts Submitted by: Ville-Pertti Keinonen <will@ztango.com>
1999-12-21 08:43:28 +00:00
cg
8c2d08d7dc
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
cg
8f45fa6446
minor cosmetics
1999-12-20 14:57:46 +00:00
cg
b4cbf0157a
make marcel's onboard ess1888 work
...
Submitted by: marcel
1999-12-20 14:55:56 +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
c0e3cdc19d
note to self: vibra16c is not vibra16x
1999-12-19 22:28:31 +00:00
cg
51ac669d22
fix for ess cards to use auto-init dma mode, so they work
1999-12-19 22:25:26 +00:00
cg
d2578766ca
remove unused mixer stuff
1999-12-19 18:18:55 +00:00
cg
db57b06511
general tidyup
1999-12-19 17:51:32 +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
34deed4b4f
fix a bug in sndstat output, tidy up a few bits
1999-12-19 15:07:56 +00:00
cg
444dfea7ab
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
cg
1f7666d525
remove the restriction limiting the vibra16x to 8 bit
...
Noticed By: Clive Lin <clive@CirX.ORG>
1999-12-19 14:21:38 +00:00
cg
c663a6bbe9
make vibra16x cards announce what they are in /dev/sndstat
1999-12-18 22:47:23 +00:00
cg
2257ad71d8
fix the buffer repetition on ^c problem
1999-12-18 22:24:50 +00:00
cg
42c32f7a3b
make the vibra16x work for playback at least, record is untested
1999-12-18 22:21:47 +00:00
tanimura
794bfd9b4d
Correct the logical ID of Avance Asound 110.
...
Submitted by: Bryan Liesner <bleez@netaxs.com>
1999-12-18 12:17:02 +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
99bed6d33e
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
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
cg
f1be6706cf
increase buffer size, reduce number of channels allocated since we only use
...
1 at the moment
1999-12-12 02:16:14 +00:00
tanimura
45d99c1018
Make the origins clear.
...
Pointed out by: Tatoku Ogaito <tacha@trap.fukui-med.ac.jp>
1999-12-10 01:20:08 +00:00
billf
fcfd8dc948
Reckognize the 'Avance Asound 100'
...
Submitted by: Oliver Fromme <olli@dorifer.heim3.tu-clausthal.de>
1999-12-07 01:53:24 +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
cg
ba06781574
conditionalise some warning messages
...
Submitted by: Vladimir N.Silyaev <vns@delta.odessa.ua>
1999-12-05 20:25:29 +00:00
cg
06117a9159
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
tanimura
07a453ccf2
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
tanimura
e7bbc71094
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
mdodd
87e31f4b90
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
dfr
8b0f80aa08
Add ESS1879.
...
Submitted by: MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
1999-11-30 09:11:06 +00:00
alfred
45fc07fd1e
tanimura implemented SNDCTL_DSP_GETODELAY for pcm.
...
Submitted by: tanimura
1999-11-29 23:01:59 +00:00
dfr
f5e6518176
Disable on x86 since it conflicts with PNPBIOS.
1999-11-27 17:03:08 +00:00
tanimura
959ebb7203
Add another vendor ID(CTL0048) for SB32 PnP.
...
Submitted by: Charles Anderson <caa@columbus.rr.com>
1999-11-27 06:33:27 +00:00
dcs
89f6b847a5
Add id for ESS 1869 OEM to Compaq on Presario 1621.
1999-11-26 18:58:03 +00:00
tanimura
9aeeffca64
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
cg
fe6a86187c
fix panic for large writes in non-blocking mode
1999-11-22 21:16:01 +00:00
cg
2c7a9e5d57
fix mixer to return properly scaled values
1999-11-22 16:20:48 +00:00
tanimura
9437480d40
Comment out the newmidi stuff.
1999-11-22 10:28:05 +00:00
tanimura
05e9b4af3e
- 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
cg
f4b7f8d09b
fix for -fno-builtin
...
PR: kern/14278
1999-11-21 17:15:12 +00:00
cg
b2eb38ffac
repo-copied to make way for newmidi, this commit updates include paths
1999-11-20 16:50:33 +00:00
roger
839422ecb6
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
cg
62195202a4
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
cg
b833601903
set default ogain to 50 since some sb cards produce no sound at 0
1999-11-15 23:22:52 +00:00
peter
8ed26df117
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
52c4f7d961
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
dfr
a4180af7d5
Remove some printfs and make it slightly more paranoid about accepting
...
that an ess1888 is present.
1999-11-15 08:18:24 +00:00
dfr
c1a649a08b
* 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
tanimura
c8d866094f
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
tanimura
51c9fe3356
The unit of sndstat is fixed to zero.
1999-11-06 05:31:47 +00:00
tanimura
c72b8f101c
Fix for multiple pcm devices.
1999-11-03 08:10:49 +00:00
tanimura
9876a339ec
Call make_dev() to shut up the warning.
...
Pointed out by: Donn Miller <dmmiller@cvzoom.net>
1999-11-01 14:29:07 +00:00
tanimura
42ae38ffd6
The total uiomoved size is accumulated in c, not tmp.
1999-10-31 08:58:51 +00:00
obrien
7d6c115cf9
The CTL0044 is more properly known as a "Creative SB AWE64 Gold".
1999-10-16 15:57:33 +00:00
dfr
229cdb9144
* 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
dfr
53f9650ab0
Bring support for opti931 in from the old driver.
1999-10-12 20:19:03 +00:00
imp
bf25d10421
Make interrupts shareable with RF_SHAREABLE. This is untested, but
...
it compiles and should just work.
1999-10-09 03:52:07 +00:00
imp
e07a554868
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
obrien
ef4ed42c63
Detect CTL0044 & CTL0045 as "Creative AWE64 PnP" rather than "SB16 PnP".
...
Reviewed by: dfr
1999-10-03 17:45:54 +00:00
dfr
a46bfcf00d
Add ID for ESS ES1869.
1999-09-29 07:27:35 +00:00
cg
f1bbb0150a
* 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
cg
172b4dfca3
add a missing blank line
1999-09-28 20:24:28 +00:00
cg
378e4ff407
seperate the ad1816 driver from the mss driver since it shares no code
1999-09-28 20:00:06 +00:00
dfr
9f4fe5b99e
Add another ID for the AWE64.
1999-09-28 08:25:08 +00:00
phk
e9e0512210
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
332c7b8346
Fix the "dsp sync" debugging printf that was unconditional. Fix a few
...
formatting nits/glitches/whatever.
1999-09-19 09:53:57 +00:00
dfr
0538330e96
Make sure that opti931's and guspnp's use the right offset from their ports.
1999-09-10 08:20:23 +00:00
cg
4375d22913
fix a bug with cat >/dev/{dsp,dspW,audio} hanging
1999-09-08 17:34:54 +00:00
dfr
e2da291638
Change isa_get/set_flags() to device_get/set_flags().
1999-09-07 08:42:49 +00:00
peter
cca6f75f15
$Id$ -> $FreeBSD$
1999-09-05 15:21:05 +00:00
cg
ca77db2ed1
incorporate better ess support
...
Obtained From: KUROSAWA Takahiro <fwkg7679@mb.infoweb.ne.jp>
Tested By: peter
1999-09-04 18:23:23 +00:00
cg
ff3dd28ba6
handle uiomove better in feed_root
1999-09-04 17:08:30 +00:00
cg
0fdfe1be02
bugfix: deallocate channels properly if no read/write ops between open/close
1999-09-04 17:03:59 +00:00
dfr
f351c4f3dc
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
4847453b3d
$Id$ -> $FreeBSD$
1999-09-01 06:58:27 +00:00
cg
73a7a67d13
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
cg
feefbc8c0e
mss and sb drivers updated for newpcm
...
Reviewed by: peter, dfr
1999-09-01 04:01:57 +00:00
roger
5d6a76d153
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
c49cd856cf
Fix dev_t/minor problems
1999-05-12 19:01:30 +00:00
peter
5182d28347
Quiet a warning, put a #if 0 around some (I believe) unused static structs.
1999-05-09 13:21:06 +00:00
peter
c7dd9f1ffd
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
1deb357368
Operator precedence bug
...
PR: 11410
Submitted by: Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:41:20 +00:00
luigi
7593ef4cbd
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
ca08832936
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
84df373829
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
578a7c3375
Support ESS1868 (and probably ESS688 & ESS1668).
...
Submitted by: Max Khon <fjoe@husky.iclub.nsu.ru>
1998-12-10 18:36:10 +00:00
archie
982e80577d
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
844a9ac5ae
Add a missing newline
...
Submitted by: Roger Hardiman
1998-11-14 13:07:59 +00:00
luigi
dba1a0a481
Add entry for AOpen AW37
1998-11-10 10:44:56 +00:00
luigi
2842a92b36
Remove an error message from sb interrupt driver -- it
...
does not apply to all situations.
1998-11-04 09:13:20 +00:00
des
e3725de368
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
des
008b2cdf19
Nit in comment: PnP ID 0x3500630e is a CS4236B, not a CS4236.
1998-10-04 16:22:25 +00:00
alex
fa6af8d3bb
Removed duplicate case.
...
Submitted by: dfr
Blessed by: luigi
1998-10-03 14:43:49 +00:00
luigi
8d4824c432
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
des
be2ebc2aed
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
bde
bd99227578
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
sos
fe1d05742f
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
c6d7aef6d4
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
des
396b114475
Seventy-odd "its" / "it's" typos in comments fixed as per kern/6108.
1998-04-17 22:37:19 +00:00
nate
d60bc67e89
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
77f7d10585
- 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
scrappy
b171ac7ee4
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
jmg
348887306a
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
jmg
01dd9f96d6
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
1419fcb42b
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
831db91027
Fix a comment-within-a-comment
1997-09-21 03:21:34 +00:00
jmg
5280f97f95
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
jmg
2c60690db5
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