summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound/isa/mss.c
Commit message (Collapse)AuthorAgeFilesLines
* Use mss_{format,speed}() rather than chn_set{format,speed}() and holdmdodd2005-02-271-2/+4
| | | | | | | mss lock across call. This allows my Thinkpad 600E to resume with the sound driver loaded and vchans enabled.
* Start each of the license/copyright comments with /*-, minor shuffle of linesimp2005-01-061-1/+1
|
* Re-add an acpi attachment for the legacy probe that was inadvertentlynjl2004-10-151-0/+1
| | | | removed.
* Audio drivers failed to detect failure condition and attempted toyongari2004-10-131-1/+2
| | | | | | | | | | assign DMA address to the wrong address. It can cause system lockup or other mysterious errors. Since most sound cards requires low DMA address(BUS_SPACE_MAXADDR_24BIT) sndbuf_alloc() would fail when the audio driver is loaded after long running of operations. Approved by: jake (mentor) Reviewed by: truckman, matk
* * Remove the acpi attachment from the es1888. It has an identify methodnjl2004-10-121-1/+1
| | | | | | | | | that conjures up the device node so it isn't true PNP. Noticed by jhb@. * Add an attachment for esscontrol since it too uses ISA_PNP_PROBE. * Move an attachment from snd_mss to snd_pnpmss. The latter is the real PNP user.
* Rename the sound device drivers:tanimura2004-07-161-3/+3
| | | | | | | | | | | | | | - `sound' The generic sound driver, always required. - `snd_*' Device-dependent drivers, named after the sound module names. Configure accordingly to your hardware. In addition, rename the `snd_pcm' module to `sound' in order to sync with the driver names. Suggested by: cg
* s/DDB/BVDDB/gmarcel2004-07-101-1/+1
| | | | Note that DDB is unrelated to the debugger with the same acronym.
* The newpcm headers currently #define away INTR_MPSAFE and INTR_TYPE_AVgreen2004-04-141-2/+2
| | | | | | | | | | | | | | | | | | because they bogusly check for defined(INTR_MPSAFE) -- something which never was a #define. Correct the definitions. This make INTR_TYPE_AV finally get used instead of the lower-priority INTR_TYPE_TTY, so it's quite possible some improvement will be had on sound driver performance. It would also make all the drivers marked INTR_MPSAFE actually run without Giant (which does seem to work for me), but: INTR_MPSAFE HAS BEEN REMOVED FROM EVERY SOUND DRIVER! It needs to be re-added on a case-by-case basis since there is no one who will vouch for which sound drivers, if any, willy actually operate correctly without Giant, since there hasn't been testing because of this bug disabling INTR_MPSAFE. Found by: "Yuriy Tsibizov" <Yuriy.Tsibizov@gfk.ru>
* Convert callers to the new bus_alloc_resource_any(9) API.njl2004-03-171-14/+16
| | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
* 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-3/+5
| | | | | | | - 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-181-4/+4
| | | | | Submitted by: marius@alchemy.franken.de MFC after: 3 days
* (hopefully) fix build breakage some people are seeingcg2002-11-261-1/+1
| | | | Approved by: re
* Add lock type arguments to callers of snd_mtxcreate().jhb2002-04-041-1/+1
|
* Add support for the Aztech 2320 chip.tg2002-02-051-0/+45
| | | | | Reviewed by: cg Obtained from: NetBSD (partly)
* 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
* release isa dma channels on unload.cg2001-09-291-3/+7
|
* allow the hardware buffer size to be controlled with hintscg2001-09-291-5/+9
| | | | 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
|
* many changes:cg2001-08-231-5/+5
| | | | | | | | | | | | | | | * 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.
* Use the M_ZERO flag to malloc(9)greid2001-06-211-8/+4
| | | | | 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.
* Remove a bogus comment which I forgot to get rid of after testinggreid2001-05-151-1/+1
|
* 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-241-30/+99
| | | | | | | | | | | | | | | 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-241-5/+242
| | | | | | | | | 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>
* increase timeouts for ad_wait_init()cg2001-03-051-5/+5
|
* update code dealing with snd_dbuf objects to do so using a functional interfacecg2000-12-231-41/+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-694/+671
| | | | | | | | | | 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.
* add reinit functions to mixerscg2000-10-261-0/+2
| | | | | unstaticize chn_start() add reset/resetdone functions to channels
* Reduce buffer size from 64K to 4K.sobomax2000-10-091-1/+1
| | | | Approved by: cg
* detach supportcg2000-09-091-5/+30
| | | | | | | 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-10/+19
| | | | | | | | | 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-14/+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 suspend/resume for yamaha chipscg2000-07-301-0/+75
| | | | Submitted by: Ira L Cooper <ira@MIT.EDU>
* Finally merge newmidi.tanimura2000-07-111-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* add module metadata. this is a hack, sound drivers will eventually present acg2000-07-031-3/+12
| | | | bus to which pcm, mixer, etc will attach.
* Untangle some #include between gusc.c/mss.c - gusc.c could createpeter2000-06-101-8/+0
| | | | an attachment node for something that may not have been compiled in.
* handle emulated dma readscg2000-05-261-4/+12
| | | | don't try to get sample size from snd_dbuf
* Supported the mss on PC-98 and Sound Blaster 98.nyan2000-05-191-0/+15
| | | | Submitted by: "T.Yamaoka" <taka@windows.squares.net>
* maybe make cmi8330 work - no feedback yetcg2000-04-231-6/+19
| | | | implement bass/treble for yamaha opl-sax chips
* Partial fix: the following patch correctly configures the card for dualcg2000-03-051-1/+5
| | | | | | | | | 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)
* differentiate cmi8330 and als100 pnp cards based on their vendor id. thiscg2000-01-291-0/+6
| | | | is a kludge for 4.0
* Note the PnP id's for the NMX2210 next to the id's where they are used.peter2000-01-231-2/+3
| | | | | The pnpbios doesn't supply a description in the case we've seen so supply one.
OpenPOWER on IntegriCloud