Commit Graph

39 Commits

Author SHA1 Message Date
Alexander Motin
d9360bbfc4 Rewrite jack presence detection and implement automatic recording source
selection in snd_hda(4) driver.

Now driver tracks jack presence detection status for every CODEC pin. For
playback associations, when configured, that information, same as before,
can be used to automatically redirect audio to headphones. Also same as
before, these events are used to track digital display connection status
and fetch ELD. Now in addition to that driver uses that information to
automatically switch recording source of the mixer to the connected input.

When there are devices with no jack detection and with one both connected,
last ones will have the precedence. As result, on most laptops after boot
internal microphone should be automatically selected. But if external one
(for example, headset) connected, it will be selected automatically.
When external mic disconnected, internal one will be selected again.

Automatic recording source selection is enabled by default now to make
recording work out of the box without touching mixer. But it can be
disabled or limited only to attach time using hint.pcm.X.rec.autosrc loader
tunables or dev.pcm.X.rec.autosrc sysctls.

MFC after:	2 months
Sponsored by:	iXsystems, Inc.
2012-01-25 20:46:10 +00:00
Alexander Motin
7c6b05d280 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.
2012-01-15 13:21:36 +00:00
Benedict Reuschling
090f90cf61 Fix some wording and grammar in the BUGS section.
PR:             docs/157901
Submitted by:   Niclas Zeising (niclas dot zeising at gmail dot com)
Reviewed by:    mav
MFC after:      3 days
2011-06-16 19:57:07 +00:00
Ulrich Spörlein
0d9deed52c mdoc: drop redundant .Pp and .LP calls
They have no effect when coming in pairs, or before .Bl/.Bd
2010-10-08 12:40:16 +00:00
Joel Dahl
b06cfd40f9 Fix a bunch of typos and spelling mistakes. 2010-07-31 12:14:28 +00:00
Alexander Motin
4c3bf245fe Add "MIXER CONTROLS" chapter. 2010-01-22 11:04:25 +00:00
Alexander Motin
329fe20011 Update, reflecting added multichannel playback support. 2010-01-12 17:50:26 +00:00
Alexander Motin
8fd5093c2a Remove part that HDMI is not implemented. It had different meaning and
confuse users.
Extend BUGS section.
Add some supported chipsets.
2009-11-13 09:57:50 +00:00
Alexander Motin
be0d073bd7 Fix spelling a bit. 2009-02-12 13:04:13 +00:00
Alexander Motin
2847435155 Update date. 2009-01-07 16:06:09 +00:00
Alexander Motin
13ecc0c150 Add some more supported controller and codec models.
Add one more proposition to check correct PCM audio device usage.
2009-01-07 16:01:23 +00:00
Alexander Motin
600b915569 Cross-reference snd_ich and snd_hda man pages.
Some hardware require different drivers depending on implementation,
that may confuse users.
2009-01-06 11:11:58 +00:00
Giorgos Keramidas
af4831d48f Spell 'different' correctly. 2008-11-08 17:45:47 +00:00
Alexander Motin
8ab00b3855 Two minor fixes. 2008-11-07 17:55:09 +00:00
Alexander Motin
a3ffa4e0ae A lot of spelling fixes.
Submitted by:	keramida
2008-11-06 21:47:02 +00:00
Alexander Motin
edd4902fba Improve driver operation example description. 2008-11-05 17:12:18 +00:00
Alexander Motin
7dbf04d70c Fix month mistake. Again. Sorry. :) 2008-10-24 18:57:11 +00:00
Alexander Motin
d20d9a2efa Add hint.hdac.%d.msi description. 2008-10-24 18:28:52 +00:00
Alexander Motin
728747680a Add hint about hw.snd.default_unit sysctl. 2008-10-03 09:19:07 +00:00
Alexander Motin
18c908fda4 Fix small mistake. 2008-09-18 10:30:29 +00:00
Alexander Motin
874bf0b64b Bump modification date. 2008-09-17 20:34:50 +00:00
Alexander Motin
0737f637ef Fix a typo. 2008-09-17 20:28:01 +00:00
Alexander Motin
49c93197a3 Add set of snd_hda driver configuration examples to the man page. 2008-09-17 20:17:22 +00:00
Joel Dahl
c43aea0f68 Minor language fixes and updates to the hardware section. 2008-09-14 09:56:35 +00:00
Alexander Motin
04b96d88cd Update man page according to r182999 snd_hda driver update. 2008-09-13 17:01:38 +00:00
Joel Dahl
4b0532806f Update HARDWARE section. 2008-05-11 06:40:04 +00:00
Gabor Kovesdan
59e2f69aec - This driver will first appear in 6.3, not 7.0
MFC after:	0 days
2008-01-04 12:57:34 +00:00
Joel Dahl
bbff3c39b6 Document support for Intel 82801I and Realtek ALC268.
Approved by:	re
2007-07-14 12:35:29 +00:00
Joel Dahl
e141ee255d - Document support for Realtek ALC660 and Analog Devices AD1988B.
- Fix minor typos.
2007-06-12 15:26:41 +00:00
Joel Dahl
25f4d9a90a Forgot to bump .Dd 2007-05-05 10:36:57 +00:00
Joel Dahl
8f7dda1ba3 Document more quirks and supported codecs. 2007-05-05 10:33:28 +00:00
Joel Dahl
205faebf10 Add Sigmatel STAC9271D. 2007-02-16 18:23:17 +00:00
Joel Dahl
f1f234518b Add missing comma.
Noticed by:	ru
2007-01-18 15:27:15 +00:00
Joel Dahl
9a6e76e662 - Add a small section on boot-time configuration.
- Add more Xrefs.
- Fix minor nits.

Reviewed by:	ru
2007-01-17 14:27:03 +00:00
Joel Dahl
4573b928f8 Add Realtek ALC888 and Sigmatel STAC9227 to the HARDWARE section. 2006-12-17 16:48:26 +00:00
Joel Dahl
4a418e5bf9 Add the dev.pcm.%d.polling sysctl and a short description.
Reviewed by:	ru
2006-11-29 17:07:02 +00:00
Joel Dahl
8ea32c5e36 Update the list of codecs as well... 2006-10-08 19:57:53 +00:00
Joel Dahl
fd80809d23 Update list of supported hardware. 2006-10-08 19:41:37 +00:00
Joel Dahl
d96143bd3f Add a manual page for snd_hda(4) and hook it up to the build.
Reviewed by:	brueffer, ariff
2006-10-01 11:16:31 +00:00