aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/sound/driver
Commit message (Collapse)AuthorAgeFilesLines
* sys: Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-2336-36/+0
| | | | | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/ Similar commit in current: (cherry picked from commit 031beb4e239b)
* Fix some modules to export more used symbolsKonstantin Belousov2021-11-252-0/+4
| | | | (cherry picked from commit 5bb3134a8c21cb87b30e135ef168483f0333dabb)
* Remove sparc64 kernel supportWarner Losh2020-02-032-16/+0
| | | | | | | | | Remove all sparc64 specific files Remove all sparc64 ifdefs Removee indireeect sparc64 ifdefs Notes: svn path=/head/; revision=357455
* Revert r338423, reapplying r338422, which did get approval butGlen Barber2018-09-011-2/+2
| | | | | | | | | | | | communication lines got crossed. Apologies to avatar@ for the confusion. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=338424
* Revert r338422, which was did not get official approval from re@.Glen Barber2018-09-011-2/+2
| | | | | | | | Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=338423
* Adding support for CS46xx MIDI output. With this patch, users canTai-hwa Liang2018-09-011-2/+2
| | | | | | | | | | | | | | play the MIDI files through /dev/sequencer device with tools like playmidi. The audio output will go through the external MIDI device such like wavetable synthesis card. Reviewed by: matk (a long time ago), kib Approved by: re (kib) Tested with: Terratec SiXPack 5.1+ + Yamaha DB50XG MFC after: 4 weeks Notes: svn path=/head/; revision=338422
* sys/modules: normalize .CURDIR-relative paths to SRCTOPEnji Cooper2017-03-0436-39/+37
| | | | | | | | | | | This simplifies make output/logic Tested with: `cd sys/modules; make ALL_MODULES=` on amd64 MFC after: 1 month Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=314651
* Remove dependence on source tree options. Move all kernel moduleWarner Losh2014-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 Notes: svn path=/head/; revision=269812
* Re-enable -Werror for these modules. It is already enabled for the sameJohn Baldwin2014-06-091-1/+0
| | | | | | | files when built as part of a kernel. Notes: svn path=/head/; revision=267297
* Change the USB audio kernel module linking order, so that the USBHans Petter Selasky2014-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 Notes: svn path=/head/; revision=266006
* Use src.opts.mk in preference to bsd.own.mk except where we need stuffWarner Losh2014-05-061-1/+1
| | | | | | | from the latter. Notes: svn path=/head/; revision=265420
* The onyx codec works also as module, so add it.Andreas Tobler2014-01-131-1/+1
| | | | | | | MFC after: 1 month Notes: svn path=/head/; revision=260607
* Clean some 'svn:executable' properties in the tree.Pedro F. Giffuni2013-01-261-0/+0
| | | | | | | | Submitted by: Christoph Mallon MFC after: 3 days Notes: svn path=/head/; revision=245952
* Add driver for the RME HDSPe AIO/RayDAT sound cards -- snd_hdspe(4).Alexander Motin2012-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 Notes: svn path=/head/; revision=232337
* Add MK_SOURCELESS build option. Setting MK_SOURCELESS to "no" will disableRobert Millan2012-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 Notes: svn path=/head/; revision=230972
* Remove leftovers from previous commits.Joel Dahl2012-02-022-4/+2
| | | | | | | Approved by: jhb Notes: svn path=/head/; revision=230915
* Cleanup some sound headers that don't need to be in the modules makefiles.Pedro F. Giffuni2012-02-023-3/+1
| | | | | | | | Approved by: jhb (mentor) MFC after: 1 week Notes: svn path=/head/; revision=230898
* Replace GPLd headers from the Maestro3 driver with BSD licensedPedro F. Giffuni2012-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 Notes: svn path=/head/; revision=230401
* Major snd_hda driver rewrite:Alexander Motin2012-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. Notes: svn path=/head/; revision=230130
* Replace GPL'd headers in the emu10kx snd driver code.Pedro F. Giffuni2012-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 Notes: svn path=/head/; revision=229981
* Replace a GPL'd header in the emu10k1 snd driver code.Pedro F. Giffuni2012-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 Notes: svn path=/head/; revision=229430
* MFtbemd:Warner Losh2010-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... Notes: svn path=/head/; revision=211690
* Make kernel modules build correctly on 64-bit PowerPC.Nathan Whitehorn2010-07-131-1/+1
| | | | Notes: svn path=/head/; revision=209991
* Move the uaudio and ata-usb drivers into their correct locations.Andrew Thompson2009-02-231-1/+1
| | | | Notes: svn path=/head/; revision=188957
* Hook up new USB modules.Andrew Thompson2009-02-231-2/+5
| | | | Notes: svn path=/head/; revision=188943
* Add support for the I2S and davbus audio controllers found in Apple PowerPCNathan Whitehorn2009-01-253-7/+34
| | | | | | | | | hardware. Submitted by: Marco Trillo Notes: svn path=/head/; revision=187692
* - Remove snd_au88x0 which seems never got compiled into kernel nor as a kernelRong-En Fan2009-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 Notes: svn path=/head/; revision=186851
* Restore SUBDIR+= accidentally removed in the previous revision.Marius Strobl2008-05-041-4/+4
| | | | | | | Pointed out by: ariff Notes: svn path=/head/; revision=178763
* Don't build unused SBus front-ends for sun4v, don't build EBus front-endsMarius Strobl2008-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 Notes: svn path=/head/; revision=178762
* Remove option headers that do not exist and are not usedAntoine Brodin2008-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) Notes: svn path=/head/; revision=177671
* Remove WARNS from here and compile with default kernel flags.Ruslan Ermilov2008-02-211-1/+0
| | | | Notes: svn path=/head/; revision=176435
* Update snd_emu10kx driver with recent perforce changes (and fewAriff Abdullah2007-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) Notes: svn path=/head/; revision=172150
* Disable multichannel recording in snd_emu10kx module. Whith multichannelAlexander Leidinger2007-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> Notes: svn path=/head/; revision=165872
* Extend the emu10kx driver. With the words of the author:Alexander Leidinger2007-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> Notes: svn path=/head/; revision=165833
* Connect snd_hda(4) to build process...Ariff Abdullah2006-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. Notes: svn path=/head/; revision=162925
* Add support for Intel High Definition Audio Controller.Ariff Abdullah2006-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. Notes: svn path=/head/; revision=162922
* Respect style.Makefile(5).Alexander Leidinger2006-09-303-12/+15
| | | | | | | Cluebat waving by: ru Notes: svn path=/head/; revision=162892
* Add the envy24ht driver to the build.Alexander Leidinger2006-09-302-2/+10
| | | | Notes: svn path=/head/; revision=162887
* Remove the ak452x module.Alexander Leidinger2006-09-301-8/+0
| | | | Notes: svn path=/head/; revision=162880
* Disconnect ak452x from the build, it is not needed anymore.Alexander Leidinger2006-09-301-1/+1
| | | | Notes: svn path=/head/; revision=162879
* We don't need the ISA interface.Alexander Leidinger2006-09-301-1/+1
| | | | | | | Submitted by: "Konstantin Dimitrov" <kosio.dimitrov@gmail.com> Notes: svn path=/head/; revision=162878
* Add the spicds module to the build.Alexander Leidinger2006-09-302-1/+9
| | | | | | | Submitted by: "Konstantin Dimitrov" <kosio.dimitrov@gmail.com> Notes: svn path=/head/; revision=162875
* - Connect the snd_emu10kx driver to the build. [1]Alexander Leidinger2006-07-151-3/+3
| | | | | | | | | - Bump __FreeBSD_version, no need to build the port now. Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru> [1] Notes: svn path=/head/; revision=160386
* Add snd_emu10kx driver for Creative SoundBlaster Live! and Audigy seriesAlexander Leidinger2006-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> Notes: svn path=/head/; revision=160383
* Connect the envy42 driver to the build.Alexander Leidinger2006-06-171-2/+2
| | | | Notes: svn path=/head/; revision=159690
* dd the envy24 driver as is to the tree. It's not connected to the buildAlexander Leidinger2006-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> Notes: svn path=/head/; revision=159687
* Commit the new (old) midi framework. It's based in parts on the NetBSD code,Alexander Leidinger2006-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 Notes: svn path=/head/; revision=158979
* Unbreak build. es1888.c (alpha bit) no longer exist.Ariff Abdullah2006-05-121-1/+1
| | | | Notes: svn path=/head/; revision=158491
* Support for ATI IXP 200 / 300 / 400 series audio controllers.Ariff Abdullah2005-11-272-1/+10
| | | | Notes: svn path=/head/; revision=152851
* Connect es137x build on sparc64.Pyun YongHyeon2005-10-251-1/+1
| | | | Notes: svn path=/head/; revision=151640