summaryrefslogtreecommitdiff
path: root/sys/dev/sound/pci/cmi.c
Commit message (Collapse)AuthorAgeFilesLines
* many changes:Cameron Grant2001-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. Notes: svn path=/head/; revision=82180
* Use the M_ZERO flag to malloc(9)George C A Reid2001-06-211-2/+1
| | | | | | | | 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-25/+24
| | | | | | | | | | | | | | | | | | 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
* Quieten when re-triggering.Orion Hodson2001-04-071-0/+4
| | | | Notes: svn path=/head/; revision=75290
* Centralize DMA buffer configuration.Orion Hodson2001-04-041-53/+38
| | | | | | | | | | | Simplify initialization and remove offending DMA channel resets there. The resets trash whatever is pointed to DMA registers, but at cmi_attach() time the DMA registers have not been initialized with valid addresses. Reviewed by: Cameron Grant <gandalf@vilnya.demon.co.uk> Notes: svn path=/head/; revision=75174
* - Added suspend/resume support.Orion Hodson2001-03-291-228/+311
| | | | | | | | | | | | | | | | - Added 4 speaker enable to initialization sequence. - Removed delays between register pokes which appear to aggravate a problem this card has sampling at 44.1kHz. With any form of delay, skew relative to system clock at 44.1kHz is usually in range 0-25% (now 0-3%). No other rates exhibit this problem. - Changed structs cmi_* to sc_*. Approved by: Cameron Grant <gandalf@vilnya.demon.co.uk> Notes: svn path=/head/; revision=74994
* mega-commit.Cameron Grant2001-03-241-11/+11
| | | | | | | | | | | | | | | | | | 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
* Change ordering of SPDIF register pokes. SPDIF enable needs to be theOrion Hodson2001-03-211-4/+2
| | | | | | | | last poke in sequence. Enabling SPDIF was coercing output rate to 48K, not good for 44.1K tracks. Notes: svn path=/head/; revision=74565
* MFS: don't ignore the result of mixer_init()Cameron Grant2001-03-051-56/+57
| | | | Notes: svn path=/head/; revision=73772
* add driver for CMedia CMI8338/CMI8738 sound chipsCameron Grant2001-02-041-0/+887
Submitted by: Orion Hodson <O.Hodson@cs.ucl.ac.uk> Notes: svn path=/head/; revision=72016