summaryrefslogtreecommitdiffstats
path: root/sys/modules/sound/driver
Commit message (Collapse)AuthorAgeFilesLines
* Remove dependence on source tree options. Move all kernel moduleimp2014-08-111-1/+2
| | | | | | | | | | | | | | | | | | options into kern.opts.mk and change all the places where we use src.opts.mk to pull in the options. Conditionally define SYSDIR and use SYSDIR/conf/kern.opts.mk instead of a CURDIR path. Replace all instances of CURDIR/../../etc with STSDIR, but only in the affected files. As a special compatibility hack, include bsd.owm.mk at the top of kern.opts.mk to allow the bare build of sys/modules to work on older systems. If the defaults ever change between 9.x, 10.x and current for these options, however, you'll wind up with the host OS' defaults rather than the -current defaults. This hack will be removed when we no longer need to support this build scenario. Reviewed by: jhb Differential Revision: https://phabric.freebsd.org/D529
* Re-enable -Werror for these modules. It is already enabled for the samejhb2014-06-091-1/+0
| | | | files when built as part of a kernel.
* Change the USB audio kernel module linking order, so that the USBhselasky2014-05-141-1/+1
| | | | | | | | | audio device driver is detached first and not its children. This fixes a panic in some cases when unloading "snd_uaudio" while a USB device is plugged. The linking order affects the order in which the module dependencies are registered. MFC after: 1 week
* Use src.opts.mk in preference to bsd.own.mk except where we need stuffimp2014-05-061-1/+1
| | | | from the latter.
* The onyx codec works also as module, so add it.andreast2014-01-131-1/+1
| | | | MFC after: 1 month
* Clean some 'svn:executable' properties in the tree.pfg2013-01-261-0/+0
| | | | | Submitted by: Christoph Mallon MFC after: 3 days
* Add driver for the RME HDSPe AIO/RayDAT sound cards -- snd_hdspe(4).mav2012-03-012-2/+11
| | | | | | | Cards are expensive and so rare, so leave the driver as module. Submitted by: Ruslan Bukin <br@bsdpad.com> MFC after: 2 weeks
* Add MK_SOURCELESS build option. Setting MK_SOURCELESS to "no" will disablermh2012-02-041-2/+13
| | | | | | | | | | | kernel modules that include binary-only code. More fine-grained control is provided via MK_SOURCELESS_HOST (for native code that runs on host CPU) and MK_SOURCELESS_UCODE (for microcode). Reviewed by: julian, delphij, freebsd-arch Approved by: kib (mentor) MFC after: 2 weeks
* Remove leftovers from previous commits.joel2012-02-022-4/+2
| | | | Approved by: jhb
* Cleanup some sound headers that don't need to be in the modules makefiles.pfg2012-02-023-3/+1
| | | | | Approved by: jhb (mentor) MFC after: 1 week
* Replace GPLd headers from the Maestro3 driver with BSD licensedpfg2012-01-201-0/+1
| | | | | | | | | | | | | | | | | versions derived from /usr/ports/audio/oss. The particular headers used were taken from the attic/drv/oss_allegro directory and are mostly identical to the previous files. The Maestro3 driver is now free from the GPL. NOTE: due to lack of testers this driver is being considered for deprecation and removal. PR: kern/153920 Approved by: jhb (mentor) MFC after: 2 weeks
* Major snd_hda driver rewrite:mav2012-01-151-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Huge old hdac driver was split into three independent pieces: HDA controller driver (hdac), HDA CODEC driver (hdacc) and HDA sudio function driver (hdaa). - Support for multichannel recording was added. Now, as specification defines, driver checks input associations for pins with sequence numbers 14 and 15, and if found (usually) -- works as before, mixing signals together. If it doesn't, it configures input association as multichannel. - Signal tracer was improved to look for cases where several DACs/ADCs in CODEC can work with the same audio signal. If such case found, driver registers additional playback/record stream (channel) for the pcm device. - New controller streams reservation mechanism was implemented. That allows to have more pcm devices then streams supported by the controller (usually 4 in each direction). Now it limits only number of simultaneously transferred audio streams, that is rarely reachable and properly reported if happens. - Codec pins and GPIO signals configuration was exported via set of writable sysctls. Another sysctl dev.hdaa.X.reconfig allows to trigger driver reconfiguration in run-time. - Driver now decodes pins location and connector type names. In some cases it allows to hint user where on the system case connectors, related to the pcm device, are located. Number of channels supported by pcm device, reported now (if it is not 2), should also make search easier. - Added workaround for digital mic on some Asus laptops/netbooks. MFC after: 2 months Sponsored by: iXsystems, Inc.
* Replace GPL'd headers in the emu10kx snd driver code.pfg2012-01-111-24/+1
| | | | | | | | | | | | | | This uses the emuxkireg.h already used in the emu10k1 snd driver. Special thanks go to Alexander Motin as he was able to find some errors and reverse engineer some wrong values in the emuxkireg header. The emu10kx driver is now free from the GPL. PR: 153901 Tested by: mav, joel Approved by: jhb (mentor) MFC after: 2 weeks
* Replace a GPL'd header in the emu10k1 snd driver code.pfg2012-01-031-9/+1
| | | | | | | | | | | This brings in the emuxkireg.h from NetBSD (dev/pci) which is used for the same purpose but is smaller. The emu10k1 is now free from the GPL. PR: 153901 Obtained from: NetBSD Approved by: core (mentor implicit) MFC after: 2 weeks
* MFtbemd:imp2010-08-231-2/+2
| | | | | | | | | Use MACHINE_CPUARCH in preference to MACHINE_ARCH. The former is the source code location of the machine, the latter the binary output. In general, we want to use MACHINE_CPUARCH instead of MACHINE_ARCH unless we're tesitng for a specific target. The isn't even moot for i386/amd64 where there's momemntum towards a MACHINE_CPUARCH == x86, although a specific cleanup for that likely would be needed...
* Make kernel modules build correctly on 64-bit PowerPC.nwhitehorn2010-07-131-1/+1
|
* Move the uaudio and ata-usb drivers into their correct locations.thompsa2009-02-231-1/+1
|
* Hook up new USB modules.thompsa2009-02-231-2/+5
|
* Add support for the I2S and davbus audio controllers found in Apple PowerPCnwhitehorn2009-01-253-7/+34
| | | | | | hardware. Submitted by: Marco Trillo
* - Remove snd_au88x0 which seems never got compiled into kernel nor as a kernelrafan2009-01-071-9/+0
| | | | | | | | | module. These files cause manual interaction when building ports/audio/aureal-kmod which provides a usable i386-only driver (it requires linking against some linux object files distributed by vendor which bankrupted back in 2000). MFC after: 1 week
* Restore SUBDIR+= accidentally removed in the previous revision.marius2008-05-041-4/+4
| | | | Pointed out by: ariff
* Don't build unused SBus front-ends for sun4v, don't build EBus front-endsmarius2008-05-041-5/+8
| | | | | | | | which are also likely to be irrelevant for sun4v (there's no SBus on sun4v and only some EBus devices). While at it fix some style bugs according to style.Makefile(5) where appropriate. MFC after: 3 days
* Remove option headers that do not exist and are not usedantoine2008-03-271-1/+1
| | | | | | | from the Makefiles in sys/modules. (opt_devfs.h, opt_bdg.h, opt_emu10kx.h and opt_uslcom.h) Approved by: rwatson (mentor)
* Remove WARNS from here and compile with default kernel flags.ru2008-02-211-1/+0
|
* Update snd_emu10kx driver with recent perforce changes (and fewariff2007-09-121-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | other changes too). (without any real order) 1. Use device_get_nameunit for mutex naming 2. Add timer for low-latency playback 3. Move most mixer controls from sysctls to mixer(8) controls. This is a largest part of this patch. 4. Add analog/digital switch (as a temporary sysctl) 5. Get back support for low-bitrate playback (with help of (2)) 6. Change locking for exclusive I/O. Writing to non-PTR register is almost safe and does not need to be ordered with PTR operations. 7. Disable MIDI until we get it to detach properly and fix memory managment problems. 8. Enable multichannel playback by default. It is as stable as single-channel mode. Multichannel recording is still an experimental feature. 9. Multichannel options can be changed by loader tunables. 10. Add a way to disable card from a loader tunable. 11. Add new PCI IDs. 12. Debugger settings are loader tunables now. 14. Remove some unused variables. 15. Mark pcm sub-devices MPSAFE. 16. Partially revert (bus_setup_intr -> snd_setup_intr) since it need to be done independently Submitted by: Yuriy Tsibizov (driver maintainer) Approved by: re (bmah)
* Disable multichannel recording in snd_emu10kx module. Whith multichannelnetchild2007-01-071-1/+1
| | | | | | | | | | recording enabled some programs (audio/audacity from ports) can't correctly enumerate all /dev/dsp device. Note: previous commit did not enable some debugging stuff, my eyes did misread "#undef" as "#define". Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru>
* Extend the emu10kx driver. With the words of the author:netchild2007-01-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---snip--- New features: 1. Optional multichannel recording (32 channels on Live!, 64 channels on Audigy). All channels are 16bit/48000Hz/mono, format is fixed. Half of them are copied from sound output, another half can be used to record any data from DSP. What should be recorded is hardcoded in DSP code. In this version it records dummy data, but can be used to record all DSP inputs, for example.. Because there are no support of more-than-stereo sound streams multichannell stream is presented as one 32(64)*48000 Hz 16bit mono stream. Channel map: SB Live! (4.0/5.1) offset (words) substream 0x00 Front L 0x01 Front R 0x02 Digital Front L 0x03 Digital Front R 0x04 Digital Center 0x05 Digital Sub 0x06 Headphones L 0x07 Headphones R 0x08 Rear L 0x09 Rear R 0x0A ADC (multi-rate recording) L 0x0B ADC (multi-rate recording) R 0x0C unused 0x0D unused 0x0E unused 0x0F unused 0x10 Analog Center (Live! 5.1) / dummy (Live! 4.0) 0x11 Analog Sub (Live! 5.1) / dummy (Live! 4.0) 0x12..-0x1F dummy Audigy / Audigy 2 / Audigy 2 Value / Audigy 4 offset (words) substream 0x00 Digital Front L 0x01 Digital Front R 0x02 Digital Center 0x03 Digital Sub 0x04 Digital Side L (7.1 cards) / Headphones L (5.1 cards) 0x05 Digital Side R (7.1 cards) / Headphones R (5.1 cards) 0x06 Digital Rear L 0x07 Digital Rear R 0x08 Front L 0x09 Front R 0x0A Center 0x0B Sub 0x0C Side L 0x0D Side R 0x0E Rear L 0x0F Rear R 0x10 output to AC97 input L (muted) 0x11 output to AC97 input R (muted) 0x12 unused 0x13 unused 0x14 unused 0x15 unused 0x16 ADC (multi-rate recording) L 0x17 ADC (multi-rate recording) R 0x18 unused 0x19 unused 0x1A unused 0x1B unused 0x1C unused 0x1D unused 0x1E unused 0x1F unused 0x20..0x3F dummy Fixes: 1. Do not assign negative values to variables used to index emu_cards array. This array was never accessed when index is negative, but Alexander (netchild@) told me that Coverity does not like it. After this change emu_cards[0] should never be used to identify valid sound card. 2. Fix off-by-one errors in interrupt manager. Add more checks there. 3. Fixes to sound buffering code now allows driver to use large playback buffers. 4. Fix memory allocation bug when multichannel recording is not enabled. 5. Fix interrupt timeout when recording with low bitrate (8kHz). Hardware: 1. Add one more known Audigy ZS card to list. Add two cards with PCI IDs betwen old known cards and new one. Other changes: 1. Do not use ALL CAPS in messages. Incomplete code: 1. Automute S/PDIF when S/PDIF signal is lost. Tested on i386 only, gcc 3.4.6 & gcc41/gcc42 (syntax only). ---snip--- This commits enables a little bit of debugging output when the driver is loaded as a module. I did a cross-build test for amd64. The code has some style issues, this will be addressed later. The multichannel recording part is some work in progress to allow playing around with it until the generic sound code is better able to handle multichannel streams. This is supposed to fix CID: 171187 Found by: Coverity Prevent Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru>
* Connect snd_hda(4) to build process...ariff2006-10-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Add support for Intel High Definition Audio Controller. This driver make a special guarantee that "playback" works on majority hardwares with minimal or without specific vendor quirk. This driver is a product of collaborative effort made by: Stephane E. Potvin <sepotvin@videotron.ca> Andrea Bittau <a.bittau@cs.ucl.ac.uk> Wesley Morgan <morganw@chemikals.org> Daniel Eischen <deischen@FreeBSD.org> Maxime Guillaud <bsd-ports@mguillaud.net> Ariff Abdullah <ariff@FreeBSD.org> ....and various people from freebsd-multimedia@FreeBSD.org Refer to snd_hda(4) for features and issues. Welcome To HDA. Sponsored by: Defenxis Sdn. Bhd.
* Add support for Intel High Definition Audio Controller.ariff2006-10-011-0/+9
| | | | | | | | | | | | | | | | | | | | | | | This driver make a special guarantee that "playback" works on majority hardwares with minimal or without specific vendor quirk. This driver is a product of collaborative effort made by: Stephane E. Potvin <sepotvin@videotron.ca> Andrea Bittau <a.bittau@cs.ucl.ac.uk> Wesley Morgan <morganw@chemikals.org> Daniel Eischen <deischen@FreeBSD.org> Maxime Guillaud <bsd-ports@mguillaud.net> Ariff Abdullah <ariff@FreeBSD.org> ....and various people from freebsd-multimedia@FreeBSD.org Refer to snd_hda(4) for features and issues. Welcome To HDA. Sponsored by: Defenxis Sdn. Bhd.
* Respect style.Makefile(5).netchild2006-09-303-12/+15
| | | | Cluebat waving by: ru
* Add the envy24ht driver to the build.netchild2006-09-302-2/+10
|
* Remove the ak452x module.netchild2006-09-301-8/+0
|
* Disconnect ak452x from the build, it is not needed anymore.netchild2006-09-301-1/+1
|
* We don't need the ISA interface.netchild2006-09-301-1/+1
| | | | Submitted by: "Konstantin Dimitrov" <kosio.dimitrov@gmail.com>
* Add the spicds module to the build.netchild2006-09-302-1/+9
| | | | Submitted by: "Konstantin Dimitrov" <kosio.dimitrov@gmail.com>
* - Connect the snd_emu10kx driver to the build. [1]netchild2006-07-151-3/+3
| | | | | | - Bump __FreeBSD_version, no need to build the port now. Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru> [1]
* Add snd_emu10kx driver for Creative SoundBlaster Live! and Audigy seriesnetchild2006-07-151-0/+48
| | | | | | | | | | | | | | | sound cards with optional pseudo-multichannel playback. It's based on snd_emu10k1 sound driver. Single channel version is available from audio/emu10kx port since some time. The two new ALSA header files (GPLed), which contain Audigy 2 ("p16v") and Audigy 2 Value ("p17v") specific interfaces, are latest versions from ALSA Mercurial repository. This is not connected to the build yet. Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru>
* Connect the envy42 driver to the build.netchild2006-06-171-2/+2
|
* dd the envy24 driver as is to the tree. It's not connected to the buildnetchild2006-06-172-0/+16
| | | | | | | | | | | yet. More commits to follow. I got no response from the author, but since the driver is BSD licensed I don't think he will complain. :-) I got it from http://people.freebsd.org/~lofi/envy24.tar.gz Written by: Katsurajima Naoto <raven@katsurajima.seya.yokohama.jp>
* Commit the new (old) midi framework. It's based in parts on the NetBSD code,netchild2006-05-272-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | but large parts are rewritten by matk and tanimura. This is old code, it's not maintained since 2003. We also don't have a maintainer for this! Yuriy Tsibizov took it and uses it in his emu10kx driver. Since the emu10kx driver will enter the tree "soon" (some bugs have to be fixed after Yuriy return from his holidays), I add it here already. This also contains some changes to emu10k1 and cmi, so if you're lucky, you can now make some kind of use of midi with those soundcards. To all those poor souls which don't have such a card: feel free to send patches, we don't have a maintainer for this. To those which miss a specific feature in the midi code: feel free to submit patches, we don't have a maintainer for this. Oh, did I already told that it would be nice if someone would take care of it? Maintainer with midi equipment wanted! :-) If you get LOR's, submit a PR and notify multimedia@ please. If you get panics, submit a PR with a backtrace (compile the sound system into your kernel instead of using modules in this case) and notify multimedia@ please. Written by: matk, tanimura Submitted by: "Yuriy Tsibizov" <Yuriy.Tsibizov@gfk.ru> Based upon: code from NetBSD
* Unbreak build. es1888.c (alpha bit) no longer exist.ariff2006-05-121-1/+1
|
* Support for ATI IXP 200 / 300 / 400 series audio controllers.ariff2005-11-272-1/+10
|
* Connect es137x build on sparc64.yongari2005-10-251-1/+1
|
* Add WERRROR= to work around the warningsimp2005-01-261-0/+1
|
* We don't need to generate vnode_if.h anymoreimp2004-12-291-1/+1
|
* Device driver for onboard CS4231 audio controller which is foundyongari2004-10-252-0/+14
| | | | | | | | | | | | | | | on UltraSPARC workstations. The driver is based on OpenBSD's SBus cs4231 driver and heavily modified to incorporate into sound(4) infrastructure. Due to the lack of APCDMA documentation, the DMA code of SBus cs4231 came from OpenBSD's driver. The driver runs without Giant lock and supports both SBus and EBus based CS4231 audio controller. Special thanks to marius for providing feedbacks during the driver writing. His feedback made it possible to write hiccup free playback code under high system loads. Approved by: jake (mentor) Reviewed by: marius (initial version) Tested by: marius, kwm, Julian C. Dunn(jdunn AT opentrend DOT net)
* Add Audigy support.obrien2004-01-111-2/+11
| | | | | | I started with a year-old patch by Orlando Bassotto <orlando.bassotto@ieo-research.it>, and ported it to 5.2-CURRENT along with fixing the problems working with pre-Audigy cards.
* Add (but do not connect) a half-finished driver for Aureal Vortex cards.des2003-06-011-0/+9
| | | | The mixer works, pcm support is half done.
* pci_if.h is not needed.nyan2003-02-071-1/+1
|
* isa_if.h is not needed.nyan2003-02-0719-19/+19
| | | | No response from: sound
OpenPOWER on IntegriCloud