Initialize the capture source properly for auto model.
It's especially important for cases that only mic is detected.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Added the beep volume control to ALC268 codec support code.
Since the codec doesn't return the correct AMP caps, we need to override
the value.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Use a private array for TLV entries of virtual master controls instead
of (supposed) static array. This cleans up the existing codes.
Also, now vmaster assumes the simple dB-range TLV that is the only type
it can handle.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Move the codes for virtual master controls to sound core part so that
not only hda-intel drivers can use it.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Added the support of new AD codecs: AD1883, AD1884A, AD1984A and AD1984B.
These are almost compatible except for additional digital pins, etc.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
ALC262 must have capsrc_nids defined as well as in ALC882.
Also, add a NULL check in alc882_mux_enum_put to avoid Oops.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The last patch for fixing the auto-config pin setting breaks the resume
due to a wrong use of snd_hda_codec_amp_stereo(). The code in the init
hook shouldn't touch the amp cache.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Added a new mixer switch to enable/disable the sharing of the default
PCM stream with analog and SPDIF outputs. When "IEC958 Default PCM"
switch is on, the PCM stream is routed both to analog and SPDIF outputs.
This is the behavior in the earlier version.
Turning this switch off has a merit for some codecs, though. Some codec
chips don't support 24bit formats for SPDIF but only for analog outputs.
In this case, you can use 24bit format by disabling this switch.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This patch fixes some bugs in the auto-configurator of Realtek codecs:
- add missing pin set-up for speaker pins
- fix the speaker auto-mute function not to conflict with the existing
"Speaker" mixer switch
Signed-off-by: Takashi Iwai <tiwai@suse.de>
In some cases, the BIOS sets up only the HP pins with different assoc
and sequence numbers, e.g. on FSC Esprimo with ALC262.
This patch adds a fix-up for such a case. When multiple HPs are defined
and no line-outs is found, the configurator tries to re-assign some pins
from HP list to line-out, judging from the sequence number.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Implemented the auto-mic jack sensing for Samsung laptops with AD1986A
codec chip (model=laptop-eapd).
The hardware uses pin 0x1d and 0x1f for the internal and external
mics, respectively.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clean up the codes of the capture source selection for Realtek codecs.
Now using common helper functions with the new capsrc_nids field.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Reprogram the speaker-pin setting at each HP pin plug to make sure
the spekaer auto-muting on AD1981HD hp model.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
I've just noticed that there are a handful of duplicate controls in the
ALC268 test model mixer. This patch (against alsa-driver 1.0.16) removes
them.
Signed-off-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The HD-audio hardware usually supports 64bit address for DMA and other
buffers. The patch enables the feature if supported.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
On several laptops that have STAC9228 codecs have unused DACs,
this powers them down to a D3 state.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
In the current scheme, PCM device numbers are assigned incrementally
in the order of codecs. This causes problems when the codec number
is irregular, e.g. codec #0 for HDMI and codec #1 for analog. Then
the HDMI becomes the first PCM, which is picked up as the default
output device. Unfortuantely this doesn't work well with normal
setups.
This patch introduced the fixed device numbers for the PCM types,
namely, analog, SPDIF, HDMI and modem. The PCM devices are assigned
according to the corresponding PCM type. After this patch, HDMI will
be always assigned to PCM #3, SPDIF to PCM #1, and the first analog
to PCM #0, etc.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The current code doesn't allow multiple SPDIF devices, and causes
errors when multiple SPDIF devices are found (e.g. SPDIF out and HDMI).
This patch allows multiple SPDIF devices by incrementing the index
automatically.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This patch adds support for the OQO Model 2 Ultra Mobile PC.
Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Fix the line-out volume control of eeepc p701 to be a proper slave of
the virtual master control.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Some models like eeepc ep20 have invalid mixer names that aren't
handled properly by virtual master controls. Rename them to the
proper names.
Also fixed some typos in the mixer names but they are not compiled
in right now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This adds a quirk to the Realtek ALC883 table for the Albatron KI690-AM2
motherboard to use the 6stack-dig model.
Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
HP dv8000 laptop has a problem with Master volume. It's due to the
connection of the widget 0x13. When it's connected from the analog
amp mixer (0x19), it works as expected mysteriously (ALSA bug#3775):
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3775
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The driver gets Oops with ATI HDMI devices due to the wrong calculation
of index for playback streams. This patch fixes it. Reference:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3746
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Pin widgets have always one amp-input value regardless of number of
connections. The proc file showed values wrongly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
The capture source selection for ADC list with two elements is buggy
becaues of a wrong capture mux list. This patch fixes the starting
index based on spec->num_adc_nids.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
The widget list of capture source selection for ALC883 contains the
wrong NIDs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Don't create vmaster controls if no slaves are found in the given list.
This prevents the error due to an empty vmaster control.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Fixed the SPDIF output on Conexant Cx5045 codec. Added the missing
pin output setting and fixed the wrong NID for digital audio-out widget.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Some laptop has an internal analog microphone that is 'fixed'.
This patch prevents creating a 'Mic In as Output' switch for
ports that can't be outputs.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This patch adds support for Intel's SCH mobile chipset.
Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Support added for detecting HP jack presence via GPIO on several laptop docks.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Added the support for Dell T3400 with AD1984 codec chip.
ALSA bug#3699:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3699
Signed-off-by: Douglas Kosovic <douglask@itee.uq.edu.au>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>