summaryrefslogtreecommitdiff
path: root/sys/dev/sound/isa/mss.c
Commit message (Collapse)AuthorAgeFilesLines
* many changes:Cameron Grant2001-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. Notes: svn path=/head/; revision=82180
* Use the M_ZERO flag to malloc(9)George C A Reid2001-06-211-8/+4
| | | | | | | | Reviewed by: cg MFC after: 1 week Notes: svn path=/head/; revision=78564
* use a global devclass for all drivers - i'm not entirely sure why thisCameron Grant2001-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. Notes: svn path=/head/; revision=78362
* 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
* 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-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. Notes: svn path=/head/; revision=74763
* add support for opti924 and opti930 chipsCameron Grant2001-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> Notes: svn path=/head/; revision=74711
* increase timeouts for ad_wait_init()Cameron Grant2001-03-051-5/+5
| | | | Notes: svn path=/head/; revision=73775
* update code dealing with snd_dbuf objects to do so using a functional interfaceCameron Grant2000-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. Notes: svn path=/head/; revision=70291
* kobjify.Cameron Grant2000-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. Notes: svn path=/head/; revision=70134
* add reinit functions to mixersCameron Grant2000-10-261-0/+2
| | | | | | | | unstaticize chn_start() add reset/resetdone functions to channels Notes: svn path=/head/; revision=67652
* 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-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 Notes: svn path=/head/; revision=65644
* change mixer api slightlyCameron Grant2000-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 Notes: svn path=/head/; revision=65340
* rework feeder sytem to allow feeders in kldsCameron Grant2000-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. Notes: svn path=/head/; revision=64881
* 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
* Finally merge newmidi.Seigo 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 Notes: svn path=/head/; revision=62947
* add module metadata. this is a hack, sound drivers will eventually present aCameron Grant2000-07-031-3/+12
| | | | | | | bus to which pcm, mixer, etc will attach. Notes: svn path=/head/; revision=62483
* 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
* handle emulated dma readsCameron Grant2000-05-261-4/+12
| | | | | | | don't try to get sample size from snd_dbuf Notes: svn path=/head/; revision=60958
* Supported the mss on PC-98 and Sound Blaster 98.Yoshihiro Takahashi2000-05-191-0/+15
| | | | | | | Submitted by: "T.Yamaoka" <taka@windows.squares.net> Notes: svn path=/head/; revision=60711
* maybe make cmi8330 work - no feedback yetCameron Grant2000-04-231-6/+19
| | | | | | | implement bass/treble for yamaha opl-sax chips Notes: svn path=/head/; revision=59574
* Partial fix: the following patch correctly configures the card for dualCameron Grant2000-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) Notes: svn path=/head/; revision=57770
* differentiate cmi8330 and als100 pnp cards based on their vendor id. thisCameron Grant2000-01-291-0/+6
| | | | | | | is a kludge for 4.0 Notes: svn path=/head/; revision=56774
* Note the PnP id's for the NMX2210 next to the id's where they are used.Peter Wemm2000-01-231-2/+3
| | | | | | | | The pnpbios doesn't supply a description in the case we've seen so supply one. Notes: svn path=/head/; revision=56449
* attach to non-ac97 neomagic chips and hope that ac97 ones do not have theCameron Grant2000-01-131-0/+6
| | | | | | | same pnpbios id Notes: svn path=/head/; revision=55879
* argh, forgot the bus_dma_tag_creates.Cameron Grant2000-01-051-1/+1
| | | | | | | also, panic if channel init fails instead of derefing null. Notes: svn path=/head/; revision=55428
* allocate isa bounce buffers of the right size for ess/mss cards, fixesCameron Grant2000-01-051-2/+2
| | | | | | | panics reported Notes: svn path=/head/; revision=55424
* revert buffer size to 64kCameron Grant2000-01-011-1/+2
| | | | Notes: svn path=/head/; revision=55306
* Attach the CS4610 PCI / CS4239 setup in isa compatability mode as CSC0100.Peter Wemm1999-12-301-0/+2
| | | | | | | | | | The PCI component is non-AC97 apparently. PR: 15632 Submitted by: gibbs Notes: svn path=/head/; revision=55279
* - latest 2ndbuffer patchCameron Grant1999-12-291-0/+1
| | | | | | | | | | - make chn_setdir work for rec on isa cards - note: es1371 does not irq in smp Submitted by: tanimura Notes: svn path=/head/; revision=55204
* Collapse a bunch of unused MD_CS42nn tags into a single one. This savesPeter Wemm1999-12-211-89/+36
| | | | | | | | | 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. Notes: svn path=/head/; revision=54962
* minor cleanupCameron Grant1999-12-211-22/+19
| | | | | | | Parts Submitted by: Ville-Pertti Keinonen <will@ztango.com> Notes: svn path=/head/; revision=54942
* Update for pnp adjustments regarding NPNP.Peter Wemm1999-12-061-17/+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) Notes: svn path=/head/; revision=54212
* conditionalise some warning messagesCameron Grant1999-12-051-11/+12
| | | | | | | Submitted by: Vladimir N.Silyaev <vns@delta.odessa.ua> Notes: svn path=/head/; revision=54165
* - Introduce the bridge drivers for Sound Blaser, GUS and CrystalSeigo Tanimura1999-11-221-4/+187
| | | | | | | | | | | | 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> Notes: svn path=/head/; revision=53553
* fix for -fno-builtinCameron Grant1999-11-211-1/+3
| | | | | | | PR: kern/14278 Notes: svn path=/head/; revision=53512
* repo-copied to make way for newmidi, this commit updates include pathsCameron Grant1999-11-201-2/+2
| | | | Notes: svn path=/head/; revision=53465
* Remove duplicate entry for ADS7180 - it's meant to be handled by thePeter Wemm1999-11-151-4/+0
| | | | | | | forked-off ad1816 driver. Notes: svn path=/head/; revision=53184
* * Add struct resource_list* argument to resource_list_alloc andDoug Rabson1999-10-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. Notes: svn path=/head/; revision=52174
* Bring support for opti931 in from the old driver.Doug Rabson1999-10-121-5/+32
| | | | Notes: svn path=/head/; revision=52169
* seperate the ad1816 driver from the mss driver since it shares no codeCameron Grant1999-09-281-346/+14
| | | | Notes: svn path=/head/; revision=51766
* Make sure that opti931's and guspnp's use the right offset from their ports.Doug Rabson1999-09-101-0/+2
| | | | Notes: svn path=/head/; revision=51120
* Change isa_get/set_flags() to device_get/set_flags().Doug Rabson1999-09-071-8/+9
| | | | Notes: svn path=/head/; revision=51052
* This represents essentially a complete rewrite of the ISA PnP code. TheDoug Rabson1999-09-011-1/+3
| | | | | | | | | | | 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. Notes: svn path=/head/; revision=50769
* $Id$ -> $FreeBSD$Peter Wemm1999-09-011-1/+1
| | | | Notes: svn path=/head/; revision=50733
* mss and sb drivers updated for newpcmCameron Grant1999-09-011-2047/+1653
| | | | | | | Reviewed by: peter, dfr Notes: svn path=/head/; revision=50723
* Fix dev_t/minor problemsPeter Wemm1999-05-121-8/+12
| | | | Notes: svn path=/head/; revision=47074
* Use id_ointr for setting the pnp interrupt handler, it uses the oldstylePeter Wemm1999-05-061-4/+4
| | | | | | | int unit argument still. Notes: svn path=/head/; revision=46605