summaryrefslogtreecommitdiffstats
path: root/sys/modules/sound/driver
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2012-01-15 13:21:36 +0000
committermav <mav@FreeBSD.org>2012-01-15 13:21:36 +0000
commita84af1b28cf33f23a875d32dc0f9a4ce3069588f (patch)
tree8289c967044f52cc3a8f60637b0eb5a3620165b2 /sys/modules/sound/driver
parent9f44ed5ca827811dd8729bb0ab4397c71161fa9c (diff)
downloadFreeBSD-src-a84af1b28cf33f23a875d32dc0f9a4ce3069588f.zip
FreeBSD-src-a84af1b28cf33f23a875d32dc0f9a4ce3069588f.tar.gz
Major snd_hda driver rewrite:
- 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.
Diffstat (limited to 'sys/modules/sound/driver')
-rw-r--r--sys/modules/sound/driver/hda/Makefile5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/modules/sound/driver/hda/Makefile b/sys/modules/sound/driver/hda/Makefile
index 8508b5d..f136936 100644
--- a/sys/modules/sound/driver/hda/Makefile
+++ b/sys/modules/sound/driver/hda/Makefile
@@ -3,7 +3,8 @@
.PATH: ${.CURDIR}/../../../../dev/sound/pci/hda
KMOD= snd_hda
-SRCS= device_if.h bus_if.h pci_if.h channel_if.h mixer_if.h
-SRCS+= hdac.c hdac_private.h hdac_reg.h hda_reg.h hdac.h
+SRCS= device_if.h bus_if.h pci_if.h channel_if.h mixer_if.h hdac_if.h
+SRCS+= hdaa.c hdaa.h hdaa_patches.c hdac.c hdac_if.h hdac_if.c
+SRCS+= hdacc.c hdac_private.h hdac_reg.h hda_reg.h hdac.h
.include <bsd.kmod.mk>
OpenPOWER on IntegriCloud