]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC r230130:
authormav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 8 Jun 2012 12:35:43 +0000 (12:35 +0000)
committermav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 8 Jun 2012 12:35:43 +0000 (12:35 +0000)
commitd6b5806f51a2d25868048ff3d1a9c4dd7055f874
treea8341d72d7f7fe49d31b5977ff6c29775ebf5bc5
parent89c4a278deb3b0b00f0629514fdd723417f70258
MFC r230130:
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.

Sponsored by:   iXsystems, Inc.

git-svn-id: svn://svn.freebsd.org/base/stable/8@236750 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
14 files changed:
share/man/man4/snd_hda.4
sys/conf/files
sys/conf/kmod.mk
sys/dev/sound/pci/hda/hda_reg.h
sys/dev/sound/pci/hda/hdaa.c [new file with mode: 0644]
sys/dev/sound/pci/hda/hdaa.h [new file with mode: 0644]
sys/dev/sound/pci/hda/hdaa_patches.c [new file with mode: 0644]
sys/dev/sound/pci/hda/hdac.c
sys/dev/sound/pci/hda/hdac.h
sys/dev/sound/pci/hda/hdac_if.m [new file with mode: 0644]
sys/dev/sound/pci/hda/hdac_private.h
sys/dev/sound/pci/hda/hdac_reg.h
sys/dev/sound/pci/hda/hdacc.c [new file with mode: 0644]
sys/modules/sound/driver/hda/Makefile