summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound/isa
Commit message (Collapse)AuthorAgeFilesLines
* Don't attempt to destroy the driver mutex when it hasn't yetdeischen2003-10-291-1/+1
| | | | | | been created. This has been sitting in my local tree for far too long; I can't believe noone else has come across this yet.
* Fixed world breakage in previous commit. Somehow the wrong include wasbde2003-09-171-1/+1
| | | | removed in the world although the correct one was removed in the universe.
* Don't include another driver's private reg.h file (sioreg.h). Includingbde2003-09-162-2/+0
| | | | ns16550.h is now sufficient.
* update my email address.cg2003-09-076-6/+6
|
* Mega busdma API commit.scottl2003-07-015-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma. At the moment, this is used for the asynchronous busdma_swi and callback mechanism. Two lockfunc implementations are provided: busdma_lock_mutex() performs standard mutex operations on the mutex that is specified from lockfuncarg. dftl_lock() is a panic implementation and is defaulted to when NULL, NULL are passed to bus_dma_tag_create(). The only time that NULL, NULL should ever be used is when the driver ensures that bus_dmamap_load() will not be deferred. Drivers that do not provide their own locking can pass busdma_lock_mutex,&Giant args in order to preserve the former behaviour. sparc64 and powerpc do not provide real busdma_swi functions, so this is largely a noop on those platforms. The busdma_swi on is64 is not properly locked yet, so warnings will be emitted on this platform when busdma callback deferrals happen. If anyone gets panics or warnings from dflt_lock() being called, please let me know right away. Reviewed by: tmm, gibbs
* Include <isa/isavar.h> to fix building on alpha.nyan2003-02-081-0/+2
|
* - Clean up ISA DMA supports.nyan2003-02-077-29/+144
| | | | | | | - Rename all sndbuf_isadma* functions to sndbuf_dma* and move them into sys/dev/sound/isa/sndbuf_dma.c. No response from: sound
* - GC a few more hand-rolled 'abs' macros.mdodd2003-01-151-1/+0
| | | | - GC a few hand-rolled min()/max() macros while I'm here.
* - Add acpi module binding.mdodd2003-01-081-3/+12
| | | | | - Restore speed and format settings on resume for CS423x and CS423x-PCI devices.
* Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,schweikh2003-01-011-1/+1
| | | | especially in troff files.
* Do not return(foo()) in void function.semenu2002-12-187-17/+17
| | | | | Submitted by: marius@alchemy.franken.de MFC after: 3 days
* (hopefully) fix build breakage some people are seeingcg2002-11-263-4/+4
| | | | Approved by: re
* Add support for controlling line1 mixer device, which on some cards representssobomax2002-07-301-2/+9
| | | | | | onboard FM tuner. MFC after: 2 weeks
* Fix driver to re-enable sound output on AD1816 based cards caused by anhm2002-06-091-0/+4
| | | | | | | | obviously bogous return value of ad1816chan_setformat(). PR: 37932 Submitted by: Martin Kaeske <Martin.Kaeske@Stud.TU-Ilmenau.DE> Reviewed by: hm MFC after: 10 days
* Change callers of mtx_init() to pass in an appropriate lock type name. Injhb2002-04-045-5/+5
| | | | | | | most cases NULL is passed, but in some cases such as network driver locks (which use the MTX_NETWORK_LOCK macro) and UMA zone locks, a name is used. Tested on: i386, alpha, sparc64
* Add lock type arguments to callers of snd_mtxcreate().jhb2002-04-043-3/+3
|
* Add support for the Aztech 2320 chip.tg2002-02-051-0/+45
| | | | | Reviewed by: cg Obtained from: NetBSD (partly)
* - Do not hang if the resource allocation fails.tanimura2002-02-051-19/+28
| | | | | | | - Add another quirk entry of SB AWE64. PR: kern/32530 Submitted by: Magnus Backstrom <b@etek.chalmers.se>
* Fix code that had rotted behind debugging macros.scottl2002-01-253-3/+3
| | | | | Approved by: cg (in principle) MFC after: 2 weeks
* - Provide toggles to show debug messages. Set new sysctl variablestanimura2002-01-045-63/+71
| | | | | | | | | | | | | | hw.midi.debug and hw.midi.seq.debug to 1 to enable debug log. - Make debug messages human-frendly. - Implement /dev/music. - Add a timer engine required by /dev/music. - Fix nonblocking I/O. - Fix the numbering of midi and synth devices.
* - Do not uiomove with a mutex locked.tanimura2002-01-015-28/+72
| | | | | | | | | - Move from msleep/wakeup to condvar. - Return either zero or a positive errno value from a function. Return additional result via references. - Unify the typedef of callback functions.
* Fixes apparent hang at probe time due to an extremely long timeoutpb2001-12-211-1/+1
| | | | | | (experienced with an Opti931/ISA PnP card). Approved by: cg
* Modify the critical section API as follows:jhb2001-12-181-6/+5
| | | | | | | | | | | | | | | | | | | - The MD functions critical_enter/exit are renamed to start with a cpu_ prefix. - MI wrapper functions critical_enter/exit maintain a per-thread nesting count and a per-thread critical section saved state set when entering a critical section while at nesting level 0 and restored when exiting to nesting level 0. This moves the saved state out of spin mutexes so that interlocking spin mutexes works properly. - Most low-level MD code that used critical_enter/exit now use cpu_critical_enter/exit. MI code such as device drivers and spin mutexes use the MI wrappers. Note that since the MI wrappers store the state in the current thread, they do not have any return values or arguments. - mtx_intr_enable() is replaced with a constant CRITICAL_FORK which is assigned to curthread->td_savecrit during fork_exit(). Tested on: i386, alpha
* These two used sioreg.h as well. This is mildly bogus, but it is harderimp2001-10-222-2/+2
| | | | | | | | to fix right in a hurry. This (almost) fixes LINT. Submitted by: bde
* use mixer channel numbers, not channel masks- this should fix sb/sbpro mixercg2001-10-071-10/+10
| | | | problems.
* Add another pnpid for the AWE64greid2001-09-291-0/+1
| | | | | | PR: 30909 Submitted by: Kinji Itoh <kinji-i@gray.plala.or.jp> MFC after: 7 days
* release isa dma channels on unload.cg2001-09-291-3/+7
|
* allow the hardware buffer size to be controlled with hintscg2001-09-295-96/+123
| | | | release isa dma channels on unload (ad1816, ess, sb8)
* when setting blocksize, fix blockcount to 2 to reduce latency with smallercg2001-09-181-0/+2
| | | | block sizes.
* make buffer size adjustable.cg2001-09-181-5/+7
|
* KSE Milestone 2julian2001-09-126-11/+11
| | | | | | | | | | | | | | Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha
* many changes:cg2001-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.
* Correct obviously wrong mistakes.green2001-07-021-1/+1
|
* Make all this compile on 4.3, modulus sbuf.green2001-07-021-2/+2
|
* Use the M_ZERO flag to malloc(9)greid2001-06-217-32/+16
| | | | | Reviewed by: cg MFC after: 1 week
* Use INTR_TYPE_AV for the interrupt handlers because:peter2001-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)
* use a global devclass for all drivers - i'm not entirely sure why thiscg2001-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.
* Move out the files from src/sys/isa/ic/ to src/sys/dev/ic/, so theyjoerg2001-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).
* Remove a bogus comment which I forgot to get rid of after testinggreid2001-05-151-1/+1
|
* - Eliminate locks in functions called only during probe and attach.tanimura2001-05-081-10/+15
| | | | | | - Finish transmitting data to mpu when a buffer gets empty. Submitted by: KUROSAWA Takahiro <fwkg7679@mb.infoweb.ne.jp>
* lock the mutex, not the softc pointer.cg2001-04-101-2/+2
|
* Reinitialise the DSP and mixer after a resume from suspendgreid2001-04-081-0/+21
| | | | | | PR: 22372 Submitted by: Hiroyuki Aizu <aizu@jaist.ac.jp> Reviewed by: cg
* Again initialize a mutex well, then lock it.tanimura2001-04-031-1/+3
| | | | | PR: kern/26188 Submitted by: Jim Bloom <bloom@acm.org>
* Switch from save/disable/restore_intr() to critical_enter/exit().jhb2001-03-281-5/+6
|
* fix whitespace bogonscg2001-03-252-5/+5
|
* release resources if one of the speculative probes in opti_detect() fails,cg2001-03-251-7/+12
| | | | otherwise resource_list_alloc panics when opti_detect tries its next probe.
* the softc is not a mutex, don't try to lock it.cg2001-03-251-2/+2
| | | | Submitted by: George Reid <greid@ukug.uk.freebsd.org>
* mega-commit.cg2001-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.
* add support for opti924 and opti930 chipscg2001-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>
* destroy child devices on detach to prevent ever-increasing numbers ofcg2001-03-171-7/+10
| | | | | pcm/midi devices trying to attach if the module is repeatedly loaded and unloaded.
OpenPOWER on IntegriCloud