Commit Graph

21 Commits

Author SHA1 Message Date
jmcneill
8a962f23f2 Merge jmcneill-audiomp3 branch, which is derived from ad-audiomp2. From
the original ad-audiomp branch notes:

  Add MP locking to the audio drivers.

  Making the audio drivers MP safe is necessary before efforts
  can be made to make the VM system MP safe.

  The are two locks per device instance, an ISR lock and
  a character device lock. The ISR lock replaces calls to
  splaudio()/splx(), and will be held across calls to device
  methods which were called at splaudio() before (e.g.
  trigger_output). The character device lock is held across
  calls to nearly all of the methods, excluding some only
  used for initialization, e.g. get_locks.

Welcome to 5.99.57.
2011-11-23 23:07:28 +00:00
jmcneill
22870f3a1f PR#38860: azalia record does not work on Realtek ALC662-GR
o Don't add unconnected pins to generated mixer list, should help
    make auto-generated mixer lists slightly easier to work with.
  o Move COP_AWTYPE_AUDIO_MIXER type knobs to mix.* rather than polluting
    the inputs.* namespace and giving a few more characters for the
    auto-generated names.
  o Introduce an alternate to generic_mixer_init, generic_mixer_autoinit.
    generic_mixer_autoinit uses COP_AWTYPE_PIN_COMPLEX "default
    configuration" capability flags to determine proper pin widget control
    and eapd configuration, as well as creating virtual outputs.master,
    inputs.dac, and record.volume mixer controls that mirror the default
    dac and adc controls.
  o Introduce generic_mixer_init_widget which uses COP_AWTYPE_PIN_COMPLEX
    "default configuration" device type, gross location, and geometric
    locations to guess friendlier mixer control names.
  o On ALC662-GR, the primary ADC NID is 0x09, not 0x08, so correct the
    convgroupset in alc662_init_dacgroup.

Audio capture now works on ALC662-GR (as found in the ASUS EeePC 701).
Note that only ALC662-GR uses generic_mixer_autoinit and
generic_mixer_init_widget; other codecs will need to be tested and
converted to address PR#38578: azalia_codec.o is too large.
2008-08-14 23:43:27 +00:00
freza
564b3de4f4 Split device_t/softc. Remove unused macros. 2008-06-07 16:32:38 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
kent
f5cb63973e Add PCI_SUBCLASS_MULTIMEDIA_HDAUDIO to pcireg.h
and azalia(4) uses it
2007-05-13 03:30:46 +00:00
kent
ec3dff2790 fix a typo: PRESENSE -> PRESENCE
From deanna@OpenBSD
2007-05-08 05:18:20 +00:00
kent
5dd4ff1479 If both of AZALIA_DEBUG and AZALIA_DEBUG_DOT are defined,
a DOT file for Graphviz representing the widget structure
is printed.
2007-02-05 13:52:26 +00:00
kent
21623cc733 support for EAPD, Balanced I/O, and LR-Swap 2006-07-21 14:40:12 +00:00
kent
b2c67a5653 * disconnect a stream and audio converters on a halt of the stream
* enable S/PDIF for a digital audio converter when connecting
 a stream
* rename "inputs.usingdac" to "playback.mode", and
 "record.usingadc" to "record.mode"
* add S/PDIF output configuration to ALC882
2006-06-25 13:41:58 +00:00
kent
6d02918db1 ALC260 & Fujitsu LOOX:
mute the internal speaker when the headphone is inserted, and
unmute the internal speaker when the headphone is pulled out.
2006-06-25 07:36:33 +00:00
kent
19cf46b4ef handle unsolicited responses.
A codec can receive unsolicited responses by codec_t::unsol_event()
2006-06-25 05:05:51 +00:00
kent
f519fc40b7 add some constant macros for unsolicited response and jack sense 2006-06-23 15:49:28 +00:00
kent
fa89e6f87e support for multi-channel (>=3) recording with ALC880, ALC882, or STAC9221 2006-06-11 11:48:39 +00:00
kent
a70f7f188d - print audio format only when the format is changed
- print the name of STAC9220 codec
2006-06-09 16:56:30 +00:00
kent
0b0ab7efe7 * move mixer functions from azalia.c to azalia_codec.c, and
rename them like azalia_mixer_foo() to generic_mixer_foo()

* enable codec-specific code to hook any mixer operations such
as creating mixer items, or special handling for a specific
item.

* provide a custom mixer table specific to ALC260
* provide a custom mixer table specific to Fujitsu LOOX
2006-06-07 15:23:59 +00:00
kent
dd89fc8bd6 Don't crash when a connection list has invalid NIDs.
PR#32485 by Samuel Tran
2006-01-16 14:15:26 +00:00
kent
a2e0795bf5 - make this compile with AZALIA_DEBUG
Thanks to Tomokatsu HAYAKAWA.
- introduce WIDGET_CHANNELS macro
2006-01-03 14:16:28 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
kent
50e11da459 * shorten *_init_dacgroup() functions
* add a hook point for widget initialization and implement for ALC882
2005-09-29 04:14:03 +00:00
kent
4443bcd69a add codec-specific code for ALC260, ALC880, ALC882,
and STAC9221 to detect DAC/ADC cominations.
2005-09-28 14:26:19 +00:00
kent
6e455dd565 split azalia.c into three files.
* azalia_codec.c: code for specific codecs
  * azalia.c: other code
  * azalia.h: common definitions
2005-09-28 13:06:49 +00:00