summaryrefslogtreecommitdiff
path: root/sys/dev/sound/isa
Commit message (Collapse)AuthorAgeFilesLines
* many changes:Cameron Grant2001-08-238-27/+27
| | | | | | | | | | | | | | | | | | * add new channels to the end of the list so channels used in order of addition * de-globalise definition of struct snddev_info and provide accessor functions where necessary. * move the $FreeBSD$ tag in each .c file into a macro and allow the /dev/sndstat handler to display these when set to maximum verbosity to aid debugging. * allow each device to register its own sndstat handler to reduce the amount of groping sndstat must do in foreign structs. Notes: svn path=/head/; revision=82180
* Correct obviously wrong mistakes.Brian Feldman2001-07-021-1/+1
| | | | Notes: svn path=/head/; revision=79116
* Make all this compile on 4.3, modulus sbuf.Brian Feldman2001-07-021-2/+2
| | | | Notes: svn path=/head/; revision=79090
* Use the M_ZERO flag to malloc(9)George C A Reid2001-06-217-32/+16
| | | | | | | | Reviewed by: cg MFC after: 1 week Notes: svn path=/head/; revision=78564
* Use INTR_TYPE_AV for the interrupt handlers because:Peter Wemm2001-06-164-4/+4
| | | | | | | | | | | | 1: most drivers are sensitive to timing, and 2: the handlers are MPSAFE and need a chance to get into the kernel before some other non-mpsafe handler blocks the ithread on Giant in shared irq cases. Reviewed by: cg (in principle) Notes: svn path=/head/; revision=78366
* use a global devclass for all drivers - i'm not entirely sure why thisCameron Grant2001-06-166-12/+0
| | | | | | | | | | | | | | | | | | worked before. mixer, dsp and sndstat are seperate devices - give them their own cdevsws instead of demuxing requests sent to a single cdevsw. use the si_drv1/si_drv2 fields in dev_t structures for holding information specific to an open instance of mixer/dsp. nuke /dev/{dsp,dspW,audio}[0-9]* links - this functionality is now provided using cloning. various locking fixes. Notes: svn path=/head/; revision=78362
* Move out the files from src/sys/isa/ic/ to src/sys/dev/ic/, so theyJoerg Wunsch2001-06-042-2/+2
| | | | | | | | | | | | | can be made userland-visible as <dev/ic/...>. Also, those files are not supposed to contain any bus-specific details at all, so placing them under .../isa/ has been a misnomer from the beginning. The files in src/sys/dev/ic/ have been repo-copied from their old location (this commit is a forced null commit there to record this message). Notes: svn path=/head/; revision=77726
* Remove a bogus comment which I forgot to get rid of after testingGeorge C A Reid2001-05-151-1/+1
| | | | Notes: svn path=/head/; revision=76635
* - Eliminate locks in functions called only during probe and attach.Seigo Tanimura2001-05-081-10/+15
| | | | | | | | | - Finish transmitting data to mpu when a buffer gets empty. Submitted by: KUROSAWA Takahiro <fwkg7679@mb.infoweb.ne.jp> Notes: svn path=/head/; revision=76370
* lock the mutex, not the softc pointer.Cameron Grant2001-04-101-2/+2
| | | | Notes: svn path=/head/; revision=75381
* Reinitialise the DSP and mixer after a resume from suspendGeorge C A Reid2001-04-081-0/+21
| | | | | | | | | PR: 22372 Submitted by: Hiroyuki Aizu <aizu@jaist.ac.jp> Reviewed by: cg Notes: svn path=/head/; revision=75326
* Again initialize a mutex well, then lock it.Seigo Tanimura2001-04-031-1/+3
| | | | | | | | PR: kern/26188 Submitted by: Jim Bloom <bloom@acm.org> Notes: svn path=/head/; revision=75113
* Switch from save/disable/restore_intr() to critical_enter/exit().John Baldwin2001-03-281-5/+6
| | | | Notes: svn path=/head/; revision=74903
* fix whitespace bogonsCameron Grant2001-03-252-5/+5
| | | | Notes: svn path=/head/; revision=74797
* release resources if one of the speculative probes in opti_detect() fails,Cameron Grant2001-03-251-7/+12
| | | | | | | otherwise resource_list_alloc panics when opti_detect tries its next probe. Notes: svn path=/head/; revision=74789
* the softc is not a mutex, don't try to lock it.Cameron Grant2001-03-251-2/+2
| | | | | | | Submitted by: George Reid <greid@ukug.uk.freebsd.org> Notes: svn path=/head/; revision=74788
* mega-commit.Cameron Grant2001-03-248-139/+344
| | | | | | | | | | | | | | | | | | this introduces a new buffering mechanism which results in dramatic simplification of the channel manager. as several structures have changed, we take the opportunity to move their definitions into the source files where they are used, make them private and de-typedef them. the sound drivers are updated to use snd_setup_intr instead of bus_setup_intr, and to comply with the de-typedefed structures. the ac97, mixer and channel layers have been updated with finegrained locking, as have some drivers- not all though. the rest will follow soon. Notes: svn path=/head/; revision=74763
* add support for opti924 and opti930 chipsCameron Grant2001-03-242-7/+270
| | | | | | | | | | | | both should work in non-pnp mode, the 924 should also work in its rather braindead pnp mode- it will adopt port 0x530 unless given hints due to it starting up in soundblaster mode and thus not requesting a valid mss port address. Submitted by: George Reid <greid@ukug.uk.freebsd.org> Notes: svn path=/head/; revision=74711
* destroy child devices on detach to prevent ever-increasing numbers ofCameron Grant2001-03-171-7/+10
| | | | | | | | pcm/midi devices trying to attach if the module is repeatedly loaded and unloaded. Notes: svn path=/head/; revision=74395
* fix a typo preventing the second dma channel being releasedCameron Grant2001-03-161-1/+3
| | | | | | | use isa_dma_release when releasing dma channels Notes: svn path=/head/; revision=74364
* - Do not touch the Giant.Seigo Tanimura2001-03-143-12/+0
| | | | | | | | | | | Requested by: jhb - Initialize a mutex prior to locking it. Spotted by: dcs Notes: svn path=/head/; revision=74239
* increase timeouts for ad_wait_init()Cameron Grant2001-03-051-5/+5
| | | | Notes: svn path=/head/; revision=73775
* Add speaker volume adjusting supportCameron Grant2001-02-271-2/+6
| | | | | | | | Submitted by: Tai-hwa Liang <avatar@mmlab.cse.yzu.edu.tw> PR: i386/21452 Notes: svn path=/head/; revision=73151
* - Mutexify midi(4). The driver runs under the giant lock by default.Seigo Tanimura2001-02-265-349/+285
| | | | | | | | | | | | | | | | | If you ever want to run midi(4) out of the giant lock, uncomment MIDI_OUTOFGIANT in midi.h. Confirmed to work for csamidi with WITNESS and INVARIANTS. - midi_info, midi_open and seq_info are now tailqs, allowing arbitrary numbers of devices to be configured. - Do not send an active sensing message to reset midi modules. - Clone /dev/sequencer*. /dev/sequencer0 and /dev/sequencer are generated upon initialization. Notes: svn path=/head/; revision=73072
* Encapselate midi_info, nmidi and nsynth into midi.c.Seigo Tanimura2001-02-185-90/+15
| | | | Notes: svn path=/head/; revision=72661
* quieten the esscontrol deviceCameron Grant2001-02-021-1/+6
| | | | Notes: svn path=/head/; revision=71932
* Tag unused functions with __unused.John Baldwin2001-01-232-33/+34
| | | | Notes: svn path=/head/; revision=71475
* Add the ES1681, as found in my Digital HiNote UltraII. It works withWarner Losh2001-01-041-2/+1
| | | | | | | | | the ES18xx DSP code and is now my MP3 juke box engine. Reviewed by: cg Notes: svn path=/head/; revision=70668
* change irq handler slightly, get rid of superflous messagesCameron Grant2000-12-271-6/+4
| | | | Notes: svn path=/head/; revision=70392
* update code dealing with snd_dbuf objects to do so using a functional interfaceCameron Grant2000-12-235-108/+118
| | | | | | | | | | | | | | | | | | modify chn_setblocksize() to pick a default soft-blocksize appropriate to the sample rate and format in use. it will aim for a power of two size small enough to generate block sizes of at most 20ms. it will also set the hard-blocksize taking into account rate/format conversions in use. update drivers to implement setblocksize correctly: updated, tested: sb16, emu10k1, maestro, solo updated, untested: ad1816, ess, mss, sb8, csa not updated: ds1, es137x, fm801, neomagic, t4dwave, via82c686 i lack hardware to test: ad1816, csa, fm801, neomagic others will be updated/tested in the next few days. Notes: svn path=/head/; revision=70291
* kobjify.Cameron Grant2000-12-186-1112/+914
| | | | | | | | | | | | | this gives us several benefits, including: * easier extensibility- new optional methods can be added to ac97/mixer/channel classes without having to fixup every driver. * forward compatibility for drivers, provided no new mandatory methods are added. Notes: svn path=/head/; revision=70134
* adjust dma channels for vibra16x; recording should now work. full duplex doesCameron Grant2000-11-071-18/+33
| | | | | | | not work on vibra16x, so is disabled. Notes: svn path=/head/; revision=68414
* fix paste-o in mixer code - actually set right channel volume instead ofCameron Grant2000-11-061-1/+2
| | | | | | | doing the left channel twice. Notes: svn path=/head/; revision=68376
* kill old sb driverCameron Grant2000-11-011-938/+0
| | | | Notes: svn path=/head/; revision=68141
* split up sb16 and sb/sbpro driversCameron Grant2000-10-282-928/+690
| | | | | | | | | | we do not support sb versions <2.00, and the sb8 driver has not been tested yet. these drivers are not yet enabled by default. Notes: svn path=/head/; revision=67803
* add reinit functions to mixersCameron Grant2000-10-266-0/+7
| | | | | | | | unstaticize chn_start() add reset/resetdone functions to channels Notes: svn path=/head/; revision=67652
* do not attach to soundblaster 1.x - they are unsupportedCameron Grant2000-10-261-3/+7
| | | | Notes: svn path=/head/; revision=67651
* Remove unneeded #include <machine/clock.h>Poul-Henning Kamp2000-10-151-1/+0
| | | | Notes: svn path=/head/; revision=67164
* Reduce buffer size from 64K to 4K.Maxim Sobolev2000-10-091-1/+1
| | | | | | | Approved by: cg Notes: svn path=/head/; revision=66883
* detach supportCameron Grant2000-09-097-45/+188
| | | | | | | | | | remove un-needed setdir functions add bus_teardown_intr calls where necessary destroy our dma tags where necessary destroy ac97 before releasing resources Notes: svn path=/head/; revision=65644
* Avoid the modules madness I inadvertently introduced by making thePoul-Henning Kamp2000-09-024-9/+0
| | | | | | | | | | | | | | | | | | | | | cloning infrastructure standard in kern_conf. Modules are now the same with or without devfs support. If you need to detect if devfs is present, in modules or elsewhere, check the integer variable "devfs_present". This happily removes an ugly hack from kern/vfs_conf.c. This forces a rename of the eventhandler and the standard clone helper function. Include <sys/eventhandler.h> in <sys/conf.h>: it's a helper #include like <sys/queue.h> Remove all #includes of opt_devfs.h they no longer matter. Notes: svn path=/head/; revision=65374
* change mixer api slightlyCameron Grant2000-09-016-40/+89
| | | | | | | | | | | | change channel interface - kobj implementation coming soonish make pcm_makelinks not panic if modular add pcm_unregister() these changes support newpcm kld unloading, but this is only implemented by ds1.c Notes: svn path=/head/; revision=65340
* rework feeder sytem to allow feeders in kldsCameron Grant2000-08-206-92/+152
| | | | | | | | | | | 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. Notes: svn path=/head/; revision=64881
* Recognize ESS 1888 in Dell Latitude XPiCameron Grant2000-08-191-0/+1
| | | | | | | | PR: kern/18714 Submitted by: Sean O'Connell <sean@stat.Duke.EDU> Notes: svn path=/head/; revision=64845
* add suspend/resume for yamaha chipsCameron Grant2000-07-301-0/+75
| | | | | | | Submitted by: Ira L Cooper <ira@MIT.EDU> Notes: svn path=/head/; revision=64032
* PR:19945Richard Seaman Jr.2000-07-181-1/+2
| | | | | | | | Reviewed by:tanimura Fix boot panic introduced by newmidi code. Notes: svn path=/head/; revision=63461
* Finally merge newmidi.Seigo Tanimura2000-07-118-68/+5873
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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 Notes: svn path=/head/; revision=62947
* add module metadata. this is a hack, sound drivers will eventually present aCameron Grant2000-07-039-17/+49
| | | | | | | bus to which pcm, mixer, etc will attach. Notes: svn path=/head/; revision=62483
* Add (another) PnP entry for the ESS ES1869 (Compaq OEM)Brian Somers2000-06-121-0/+1
| | | | | | | | Submitted by: mdharnois@home.com PR: 19206 Notes: svn path=/head/; revision=61569
* Untangle some #include between gusc.c/mss.c - gusc.c could createPeter Wemm2000-06-101-8/+0
| | | | | | | an attachment node for something that may not have been compiled in. Notes: svn path=/head/; revision=61479