summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound
Commit message (Collapse)AuthorAgeFilesLines
* Fix a few comment typos.joel2012-01-151-4/+4
|
* Remove spurious 8bit chars, turning files into plain ASCII.uqs2012-01-151-2/+2
|
* Major snd_hda driver rewrite:mav2012-01-1510-7312/+8829
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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-115-293/+312
| | | | | | | | | | | | | | 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
* Fix an inconsistency that crept in while replacing constantspfg2012-01-111-2/+2
| | | | | | | from the new header. Approved by: jhb (mentor) MFC after: 3 days
* Replace a GPL'd header in the emu10k1 snd driver code.pfg2012-01-032-235/+1006
| | | | | | | | | | | 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
* Oops, list of IDs is not sequential. Have to list all of them expoicitly.mav2011-12-201-2/+10
|
* Cast some vendor-specific spell on VIA VT1708S codecs to:mav2011-12-201-5/+39
| | | | | | | | - make analog input loopback work; - get access to the mics boost controls. Sponsored by: iXsystems, Inc. MFC after: 1 month
* Use usbd_transfer_unsetup() instead of usbd_transfer_stop() so thathselasky2011-12-141-2/+4
| | | | | | we don't have to worry about locking. MFC after: 1 weeks
* Stop USB audio transfers early so that any audio applicationshselasky2011-12-142-1/+14
| | | | | | | | | | will time out and close opened /dev/dspX.Y device(s), if any. This is a workaround because we cannot unregister PCM devices while the audio character device is in use. Add a missing inclusion guard. MFC after: 1 weeks
* - There's no need to overwrite the default device method with the defaultmarius2011-11-225-12/+12
| | | | | | | | | | one. Interestingly, these are actually the default for quite some time (bus_generic_driver_added(9) since r52045 and bus_generic_print_child(9) since r52045) but even recently added device drivers do this unnecessarily. Discussed with: jhb, marcel - While at it, use DEVMETHOD_END. Discussed with: jhb - Also while at it, use __FBSDID.
* Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.ed2011-11-073-3/+3
| | | | | | The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else, there's no reason why it shouldn't be static.
* Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs.ed2011-11-076-6/+6
| | | | This means that their use is restricted to a single C file.
* In order to maximize the re-usability of kernel code in user space thiskmacy2011-09-161-2/+2
| | | | | | | | | | | | | patch modifies makesyscalls.sh to prefix all of the non-compatibility calls (e.g. not linux_, freebsd32_) with sys_ and updates the kernel entry points and all places in the code that use them. It also fixes an additional name space collision between the kernel function psignal and the libc function of the same name by renaming the kernel psignal kern_psignal(). By introducing this change now we will ease future MFCs that change syscalls. Reviewed by: rwatson Approved by: re (bz)
* dsp_ioctl: fix type of variable used to store ioctl requestavg2011-09-121-1/+2
| | | | | | | | PR: kern/156433 Submitted by: Grigori Goronzy <greg@chown.ath.cx> Reviewed by: hselasky Approved by: re (kib) MFC after: 1 week
* Fix precedence warning when compiling kernel with clang.hselasky2011-09-061-2/+2
| | | | | | Approved by: re (kib) Submitted by: dim MFC after: 1 week
* Fix headphones pin configuration on Lenovo B450 laptop.mav2011-08-181-0/+8
| | | | | Submitted by: "Sergey V. Dyatko" <sergey.dyatko@gmail.com> Approved by: re (kib)
* Restore USB MIDI transmit buffer size to 1Kbyte.hselasky2011-07-141-1/+1
| | | | MFC after: 1 week
* Introduce a quirk for broken USB MIDI hardware instead of limiting performancehselasky2011-07-031-11/+11
| | | | | | in general. MFC after: 1 week
* Fix problem about USB MIDI TX data format, that some devices only accepthselasky2011-07-021-23/+30
| | | | | | | a maximum of 4 bytes (one command) per short terminated USB transfer. Optimise the TX case by sending multiple USB frames. MFC after: 1 week
* Do not attach to the sound device on G5 Xserves, which is actually annwhitehorn2011-06-261-0/+12
| | | | | | | LED controller used to run the load graph on the server's front panel. Reported by: Paul Mather <paul at gromit dot dlib dot vt dot edu> MFC after: 3 days
* - Move all USB device ID arrays into so-called sections,hselasky2011-06-241-0/+9
| | | | | | | | | | | | sorted according to the mode which they support: host, device or dual mode - Add generic tool to extract these data: tools/bus_autoconf Discussed with: imp Suggested by: Robert Millan <rmh@debian.org> PR: misc/157903 MFC after: 14 days
* Hide driver revision behind bootverbose.joel2011-06-151-1/+4
| | | | Approved by: mav
* Add bunch of Conexant codec IDs. For some of them add quirks to disablemav2011-06-131-0/+39
| | | | excessive signal paths to simplify tracer's life.
* Make automatic hw.snd.default_unit choice a bit more intelligent. Insteadmav2011-06-071-18/+36
| | | | | | | | | | | | of just setting it to the first registered device, reevaluate it for each device registered, trying to choose best candidate, unless one was forced. For now use such preference order: play&rec, play, rec. As side effect, this should workaround the situation when HDMI audio output of the video card, usually not connected to anything, becomes default, that requires manual user intervention to make sound working. If at some point this won't be enough, we can try to fetch some additional priority flags from the device driver.
* Add better names for the Intel HDMI audio codecs.mav2011-05-261-12/+14
|
* usb: change to one-pass probing of device driversavg2011-05-181-5/+2
| | | | | | | | | | | | | | | | | | | | | This brings USB bus more in line with how newbus is supposed to be used. Also, because of the two-pass probing the following message was produced by devd in default configuration when almost any USB device was connected: Unknown USB device: vendor <> product <> bus <> This should be fixed now. Note that many USB device drivers pass some information from probe method to attach method via ivars. For this to continue working we rely on the fact that the subr_bus code calls probe method of a winning driver again before calling its attach method in the case where multiple drivers claim to support a device. This is done because device description is set in successful probe methods and we want to get a correct device description from a winning driver. So now this logic is re-used for setting ivars too. Reviewed by: hselasky MFC after: 1 month
* fix build on 32-bit platforms for r221803avg2011-05-121-1/+1
| | | | | | | | | Casting a pointer to a wide integer is probably not that bad, but I am still guilty of not testing this. Pointyhat to: avg MFC after: 1 week X-MFC with: r221803
* dsp/pcm: allow to mmap both read and write buffers using the same fdavg2011-05-121-21/+35
| | | | | | | | | | This brings our implementation in line with OSS specification for systems that support mmap. The change should also improve compatibility with OSS software not specifically written for FreeBSD, e.g. PulseAudio OSS plugin. Reviewed by: kib, jhb MFC after: 1 week
* Correct a typojfv2011-05-121-1/+1
|
* Chipset support for the new Intel Panther Point PCH, thanksjfv2011-05-111-0/+2
| | | | to Seth Heasley for preparing the changes.
* Workaround for broken no-name USB audio devices sold by dealextremehselasky2011-05-091-1/+48
| | | | | | called "3D sound" and the alike. MFC after: 14 days
* SNDCTL_DSP_GETIPTR: set pointer to sndbuf_getfreeptr()avg2011-05-031-1/+1
| | | | | | | | | | | | | | Rationale: - unlike current behavior this seems to be compliant with OSS specification: http://manuals.opensound.com/developer/SNDCTL_DSP_GETIPTR.html - this seems to meet expectations of some OSS programs compiled for or ported from Linux, e.g. ALSA OSS plugin - this doesn't seem to break any programs as far as current testing shows Tested by: nox, hselasky MFC after: 4 days
* Only set the sample rate if the USB audio channel reportshselasky2011-04-201-4/+3
| | | | | | | that it supports the frequency control request. MFC after: 7 days Approved by: thompsa (mentor)
* Allocate the sound buffer DMA memory coherent. While NetBSD typicallymarius2011-03-111-1/+1
| | | | | | | | | | also does this for sound drivers it's probably not necessary for all combinations of controllers and drivers. However, given that our sound drivers completely lack bus_dmamap_sync(9) calls this at least serves as a workaround when enabling use of the IOMMU streaming buffers on sparc64 and generally for arm and mips. MFC after: 2 weeks
* - Add support for some non-standard USB MIDI devices from Roland, byhselasky2011-02-241-15/+32
| | | | | | | | | means of allowing vendor specific interface class for audio and MIDI devices. - Add new quirks for this. The vendor and product list in OpenBSD's dev/usb/umidi_quirks.c was used as reference. MFC after: 14 days Approved by: thompsa (mentor)
* Fix typos - remove duplicate "the".brucec2011-02-211-1/+1
| | | | | | PR: bin/154928 Submitted by: Eitan Adler <lists at eitanadler.com> MFC after: 3 days
* - Make an enum for all the umidi USB transfers.hselasky2011-02-181-108/+62
| | | | | | | | | | | | - Use the USB stack's builtin clear-stall feature. - Wrap some long lines. - Use memcpy() instead of bcopy(). - Use memset() instead of bzero(). - Tested applications: /usr/ports/audio/fluidsynth MFC after: 7 days Approved by: thompsa (mentor)
* Correct signedness and off-by-one issues in parameters used for DMA tagmarius2011-02-092-2/+2
| | | | | | | | creation. PR: 154259 Submitted by: Vladislav Movchan (partially) MFC after: 3 days
* Support for the new Patsburg PCH chipset:jfv2011-02-011-1/+5
| | | | | | | | | | | - SMBus Controller - SATA Controller - HD Audio Controller - Watchdog Controller Thanks to Seth Heasley (seth.heasley@intel.com) for providing us code. MFC after 3 days
* Fix up a few more sysctl(9) mis-typing found in various LINT builds.mdf2011-01-131-2/+2
|
* sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly.mdf2011-01-121-1/+1
| | | | Commit the rest of the devices.
* Remove unneeded includes of <sys/linker_set.h>. Other headers that usejhb2011-01-111-1/+0
| | | | | | it internally contain nested includes. Reviewed by: bde
* Add device id for RDC M3010 which is found on Vortex86 SoC.yongari2010-12-281-0/+5
| | | | Reviewed by: mav
* Merge amd64 and i386 bus.h and move the resulting header to x86. Replacetijl2010-12-201-1/+1
| | | | | | | | | the original amd64 and i386 headers with stubs. Rename (AMD64|I386)_BUS_SPACE_* to X86_BUS_SPACE_* everywhere. Reviewed by: imp (previous version), jhb Approved by: kib (mentor)
* Use convenience functions where possible instead of accessing the PCItijl2010-12-182-12/+0
| | | | | | | | | | | | | configuration registers directly. Remove pci_enable_io calls where they are redundant. The PCI bus driver will set the right bits when the corresponding bus resource is activated. Remove redundant pci_* function calls from suspend/resume methods. The bus driver already saves and restores the PCI configuration. Reviewed by: jhb Approved by: kib (mentor)
* Fix typos.brucec2010-11-091-2/+2
| | | | | PR: bin/148894 Submitted by: olgeni
* Make hw.snd.vpc_0db to be also a loader tunable.mav2010-10-251-0/+1
|
* Fix a brain-o: wrong case statement semantics.rpaulo2010-10-132-2/+4
| | | | Found with: clang
* Add Intel Cougar Point PCH HD Audio Controller IDjfv2010-08-281-0/+2
| | | | MFC in a week
OpenPOWER on IntegriCloud