summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound/isa/sb16.c
Commit message (Collapse)AuthorAgeFilesLines
* update my email address.cg2003-09-071-1/+1
|
* Mega busdma API commit.scottl2003-07-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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
* - Clean up ISA DMA supports.nyan2003-02-071-15/+17
| | | | | | | - Rename all sndbuf_isadma* functions to sndbuf_dma* and move them into sys/dev/sound/isa/sndbuf_dma.c. No response from: sound
* Do not return(foo()) in void function.semenu2002-12-181-1/+1
| | | | | Submitted by: marius@alchemy.franken.de MFC after: 3 days
* Add support for controlling line1 mixer device, which on some cards representssobomax2002-07-301-2/+9
| | | | | | onboard FM tuner. MFC after: 2 weeks
* Fix code that had rotted behind debugging macros.scottl2002-01-251-1/+1
| | | | | Approved by: cg (in principle) MFC after: 2 weeks
* allow the hardware buffer size to be controlled with hintscg2001-09-291-31/+46
| | | | release isa dma channels on unload (ad1816, ess, sb8)
* KSE Milestone 2julian2001-09-121-1/+1
| | | | | | | | | | | | | | 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-231-3/+3
| | | | | | | | | | | | | | | * 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-211-2/+1
| | | | | Reviewed by: cg MFC after: 1 week
* use a global devclass for all drivers - i'm not entirely sure why thiscg2001-06-161-2/+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.
* fix whitespace bogonscg2001-03-251-1/+1
|
* mega-commit.cg2001-03-241-31/+53
| | | | | | | | | | | | | | | 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.
* fix a typo preventing the second dma channel being releasedcg2001-03-161-1/+3
| | | | use isa_dma_release when releasing dma channels
* update code dealing with snd_dbuf objects to do so using a functional interfacecg2000-12-231-36/+41
| | | | | | | | | | | | | | | 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.
* kobjify.cg2000-12-181-75/+39
| | | | | | | | | | 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.
* adjust dma channels for vibra16x; recording should now work. full duplex doescg2000-11-071-18/+33
| | | | not work on vibra16x, so is disabled.
* fix paste-o in mixer code - actually set right channel volume instead ofcg2000-11-061-1/+2
| | | | doing the left channel twice.
* split up sb16 and sb/sbpro driverscg2000-10-281-487/+396
| | | | | | | 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.
* add reinit functions to mixerscg2000-10-261-0/+1
| | | | | unstaticize chn_start() add reset/resetdone functions to channels
* detach supportcg2000-09-091-5/+26
| | | | | | | remove un-needed setdir functions add bus_teardown_intr calls where necessary destroy our dma tags where necessary destroy ac97 before releasing resources
* change mixer api slightlycg2000-09-011-6/+14
| | | | | | | | | 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
* rework feeder sytem to allow feeders in kldscg2000-08-201-22/+29
| | | | | | | | 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.
* add module metadata. this is a hack, sound drivers will eventually present acg2000-07-031-1/+4
| | | | bus to which pcm, mixer, etc will attach.
* Unused include: #include "sbc.h"peter2000-06-101-2/+0
|
* handle emulated dma readscg2000-05-261-1/+1
| | | | don't try to get sample size from snd_dbuf
* split up ess and sb codecg2000-03-281-317/+13
| | | | | | 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
* Stop isadma from abusing the B_READ, B_RAW and B_WRITE flags.phk2000-03-131-2/+2
| | | | | Define ISADMA_{READ,WRITE,RAW} macros with the same numeric values as the B_{READ,WRITE,RAW} and use them instead throughout.
* fix ess end-of-buffer repeatingcg2000-02-141-6/+2
| | | | | Submitted by: nhibma Approved by: jkh
* general tidyupcg2000-01-101-162/+221
|
* argh, forgot the bus_dma_tag_creates.cg2000-01-051-1/+2
| | | | also, panic if channel init fails instead of derefing null.
* allocate isa bounce buffers of the right size for ess/mss cards, fixescg2000-01-051-2/+4
| | | | panics reported
* make ess cards use a 64k buffer again, by implementing esschan_init()cg1999-12-301-6/+13
|
* - latest 2ndbuffer patchcg1999-12-291-0/+2
| | | | | | | - make chn_setdir work for rec on isa cards - note: es1371 does not irq in smp Submitted by: tanimura
* Don't pass u_int32_t pointers to BUS_READ_IVAR since it tends to makedfr1999-12-241-3/+3
| | | | alphas panic.
* don't use the sbpro mic vol register during init on ess cards; it causescg1999-12-211-1/+2
| | | | feedback and we use the native one elsewhere.
* minor cosmeticscg1999-12-201-1/+0
|
* fix for ess cards to use auto-init dma mode, so they workcg1999-12-191-4/+4
|
* remove the restriction limiting the vibra16x to 8 bitcg1999-12-191-2/+2
| | | | Noticed By: Clive Lin <clive@CirX.ORG>
* make vibra16x cards announce what they are in /dev/sndstatcg1999-12-181-2/+3
|
* make the vibra16x work for playback at least, record is untestedcg1999-12-181-6/+12
|
* make sb dependant on sbccg1999-12-121-356/+93
| | | | | | | | | | | | | | | | | | | | | | 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
* Reckognize the 'Avance Asound 100'billf1999-12-071-0/+4
| | | | Submitted by: Oliver Fromme <olli@dorifer.heim3.tu-clausthal.de>
* Update for pnp adjustments regarding NPNP.peter1999-12-061-8/+0
| | | | | | | | | | 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)
* Add ESS1879.dfr1999-11-301-0/+4
| | | | Submitted by: MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
* Add id for ESS 1869 OEM to Compaq on Presario 1621.dcs1999-11-261-0/+1
|
* - Introduce the bridge drivers for Sound Blaser, GUS and Crystaltanimura1999-11-221-20/+65
| | | | | | | | | 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>
* repo-copied to make way for newmidi, this commit updates include pathscg1999-11-201-2/+2
|
OpenPOWER on IntegriCloud