summaryrefslogtreecommitdiff
path: root/sound/pci/hda/patch_conexant.c
AgeCommit message (Collapse)AuthorFilesLines
2011-08-25ALSA: hda: Conexant: Allow different output types to share DACDavid Henningsson1-19/+27
Headphones has stopped working for the original reported (a regression compared to 2.6.38). This is because Speaker and Headphones share the same DAC, in which case no Headphones volume control was created. This patch fixes so that both Speaker and Headphones volume controls are created in such scenario. BugLink: http://bugs.launchpad.net/bugs/817943 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-08-24ALSA: hda/conexant - Enable ADC-switching for auto-mic mode, tooTakashi Iwai1-1/+1
The ADC-switching can work also in the auto-mic mode, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-08-23ALSA: hda - Fix double-headphone/speaker paths for Cxt auto-parserTakashi Iwai1-3/+10
When multiple headphones or speakers are assigned but no individual DACs are available, the driver should take the first HP/SPK DAC instead of another primary output. The patch adds a bit-flag to dac field of struct pin_dac_pair indicating that it's a slave DAC. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-07-26ALSA: hda - Allow codec-specific set_power_state opsTakashi Iwai1-0/+14
The procedure for codec D-state change may have exceptional cases depending on the codec chip, such as a longer delay or suppressing D3. This patch adds a new codec ops, set_power_state() to override the system default function. For ease of porting, snd_hda_codec_set_power_to_all() helper function is extracted from the default set_power_state() function. As an example, the Conexant codec-specific delay is removed from the default routine but moved to patch_conexant.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-07-11ALSA: hda - Turn on extra EAPDs on Conexant codecsTakashi Iwai1-0/+39
Some machines seem to use EAPD control of the unused pin for controlling the overall EAPD. Since the driver currently doesn't check the EAPD of unused pins, the EAPD isn't enabled. For avoiding such a problem, turn all extra EAPDs on as default. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-29ALSA: hda - Enable auto-parser as default for Conexant codecsTakashi Iwai1-12/+4
Let's use auto-parser as default now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-29Merge branch 'fix/hda' into topic/hdaTakashi Iwai1-0/+4
2011-06-29ALSA: hda - Create snd_hda_get_conn_index() helper functionTakashi Iwai1-13/+2
Create snd_hda_get_conn_index() helper function for obtaining the connection index of the widget. Replaced the similar codes used in several codec-drivers with this common helper. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-28ALSA: HDA: Add model=auto quirk for Acer Aspire 3830TGDavid Henningsson1-0/+1
Since we're not using the new auto parser as a fallback yet, add it manually as a quirk. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-28ALSA: HDA: Add a new Conexant codec ID (506c)David Henningsson1-0/+3
Conexant ID 506c was found on Acer Aspire 3830TG. As users report no playback, sending to stable should be safe. Cc: stable@kernel.org BugLink: https://bugs.launchpad.net/bugs/783582 Reported-by: andROOM Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-13Merge branch 'fix/hda' into topic/hdaTakashi Iwai1-0/+1
2011-06-10ALSA: hda: Fix inaudible internal speakers on CyberpowerPC Gamer Xplorer ↵Daniel T Chen1-0/+1
N57001 laptop BugLink: https://launchpad.net/bugs/761171 The original reporter needs the model=auto quirk for his internal speakers to be audible in the latest daily snapshot, so add an entry in the quirk table for his PCI SSID. A trivially different version of this patch using the model=asus quirk should be applied to the 2.6.38 and 2.6.39 stable kernels. We don't use the asus quirk in 3.0-rc2, because 3.0-rc2's autoparser is much improved. Reported-and-tested-by: tomdeering7 Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-06ALSA: hda: Virtualize SPDIF out controlsStephen Warren1-0/+1
The SPDIF output controls apply to converter widgets. A future change will create a PCM device per pin widget, and hence a set of SPDIF output controls per pin widget, for certain HDMI codecs. To support this, we need the ability to virtualize the SPDIF output controls. Specifically: * Controls can be "unassigned" from real hardware when a converter is not used for the PCM the control was created for. * Control puts only write to hardware when they are assigned. * Controls can be "assigned" to real hardware when a converter is picked to support output for a particular PCM. * When a converter is assigned, the hardware is updated to the cached configuration. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-25ALSA: hda - Use model=auto for Lenovo G555Takashi Iwai1-0/+1
The new auto-parser fixes problems on Lenovo G555. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-24ALSA: hda - Fix speaker auto-mute in Cxt auto-parserTakashi Iwai1-12/+21
Fix some logic failures in auto-mute handling in Conexant auto-parser. Also, modify codes to be a bit more understandable. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-23ALSA: hda - Fix initial capture-source with auto-mic for Cxt auto-parserTakashi Iwai1-2/+3
Fix the initialization of capture-source route when auto-mic is enabled for Conexant auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-23ALSA: hda - Fix auto-mic detection in Conexant codec-parserTakashi Iwai1-1/+1
Fix the auto-mic detection for Cxt auto-parser due to off-by-one missing initialization. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-23ALSA: HDA: Add quirk for Lenovo U350David Henningsson1-0/+1
Add model=asus quirk for Lenovo Ideapad U350 to make internal mic work correctly. Cc: stable@kernel.org (2.6.38+) BugLink: http://bugs.launchpad.net/bugs/751681 Reported-by: Kent Baxley <kent.baxley@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-17ALSA: hda - Handle dock line-in as auto-detecable for Cxt auto-parserTakashi Iwai1-5/+7
Similar process like in patch_realtek.c and patch_sigmatel.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-17ALSA: hda - Add support of dock-mic detection to Conexant auto-parserTakashi Iwai1-39/+59
In addition to the normal external mic jack, check also the mic jack on a docking-station as well, and select the input source appropriately. The similar functionality was already implemented in patch_sigmatel.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-17ALSA: hda - Add automute-mode enum to Conexant auto-parserTakashi Iwai1-49/+210
Implement the same functionality as Realtek's auto-mute mode control. Now Conexant auto-parser can also mutes line-out and provide the enum control for different automute behavior. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-17ALSA: hda - Add missing Front/Surround/CLFE as slaves for Cxt auto-parserTakashi Iwai1-0/+6
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-17ALSA: hda - Code refactoring in patch_conexant.cTakashi Iwai1-30/+34
Use a struct instead of each array for managing input-source info for auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-16ALSA: hda - Add support of auto-parser to cxt5066 codecsTakashi Iwai1-2/+11
Still experimental. Not enabled as default unless model=auto is passed. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-16ALSA: hda - Don't create multiple same volume/boost controls in Cxt auto-parserTakashi Iwai1-2/+13
Check the routing more exactly for avoiding the duplicated controls for the very same effect for multiple capture routes in Conexant auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-16ALSA: hda - Build boost controls from selector widget in Cxt auto-parserTakashi Iwai1-18/+61
When the intermediate selector widget in the capture path provides the boost volume, create the corresponding volume control. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-15ALSA: hda - Don't use auto-parser for cxt5045 / 5051 as defaultTakashi Iwai1-0/+4
Just for safety reason (for avoiding any possible regressions), don't enable auto-parser as default for cxt5045 and 5051, as well as 5047. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-15ALSA: hda - Enable codec->pin_amp_workaround always for Conexant auto-parserTakashi Iwai1-11/+1
It can (must for some) be used for all Conexnat codecs safely. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-15ALSA: hda - Search ADC NIDs dynamically in Conexant auto-parserTakashi Iwai1-14/+26
Instead of giving fixed arrays, look for ADC nids dynamically in the tree in Conexant auto-parser code. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-13ALSA: hda - Add support of auto-parser to cxt5047 / CX20551 WaikikiTakashi Iwai1-3/+18
Similarly like other Conexant codecs, now model=auto is supported for cxt5047. But the auto-parser mode isn't activated as default yet, since BIOS pin-configs seem often broken on machines with this codec. User need to pass model=auto explicitly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-13ALSA: hda - Parse more deep input-source routes in Conexant auto-parserTakashi Iwai1-21/+52
Handle not only a single-depth input-route but two-level depth routes (PIN->MUX->ADC), too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-13ALSA: hda - Clean up input-mux handling in Conexant auto-parserTakashi Iwai1-9/+10
Keep the registered input-pins in imux_pins[], and fix the inconsistent use of sepc->auto_mic_ext. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-13ALSA: hda - Add auto-parser support to cxt5045 / CX20549 VeniceTakashi Iwai1-19/+65
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-13ALSA: hda - Add auto-parser support to cxt5051 / CX20561 HermosaTakashi Iwai1-62/+217
Extend the existing auto-parser for CX2064x for cxt5051 codec. Now the auto-parser supports ADC-switching for this codec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-13ALSA: hda - Check AMP CAP at initialization of Conexant auto-parserTakashi Iwai1-8/+20
Some codecs have no mute caps in audio I/O widgets. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-13ALSA: hda - Turn on EAPD dynamically per jack plug in Conexant auto modeTakashi Iwai1-8/+17
Instead of keeping always EAPD on, turn on/off appropriately at jack plugging in Conexant auto-parser mode. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-13ALSA: hda - Fix auto-mic for CX2064x codecsTakashi Iwai1-4/+4
The wrong id is assigned for external/internal mics in the auto-mic selection parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-05-02ALSA: hda - Constify fixup and other array data in patch_conexant.cTakashi Iwai1-95/+95
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-04-05ALSA: HDA: Fix dock mic for Lenovo X220-tabletDavid Henningsson1-0/+1
Without the "thinkpad" quirk, the dock mic in Lenovo X220 tablet edition won't work. BugLink: http://bugs.launchpad.net/bugs/751033 Cc: stable@kernel.org Tested-by: James Ferguson <james.ferguson@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-03-31ALSA: HDA: Add dock mic quirk for Lenovo Thinkpad X220David Henningsson1-0/+1
This quirk is needed for the docking station mic of Lenovo Thinkpad X220 to function correctly. BugLink: http://bugs.launchpad.net/bugs/746259 Cc: stable@kernel.org Tested-by: James Ferguson <james.ferguson@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-03-03ALSA: hda - Make common input-jack helper functionsTakashi Iwai1-110/+14
Since multiple codec drivers already use the input-jack stuff, let's make common helper functions to reduce the duplicated codes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-02-23ALSA: HDA: Add ideapad quirk for two Dell machinesDavid Henningsson1-0/+2
These two Dell machines have been reported working well with the ideapad model. BugLink: http://bugs.launchpad.net/bugs/723676 Cc: stable@kernel.org Tested-by: David Chen <david.chen@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-02-23ALSA: HDA: Add a new Conexant codec 506e (20590)David Henningsson1-0/+3
Conexant 506e/20590 has the same graph as the rest of the 5066 family. BugLink: http://bugs.launchpad.net/bugs/723672 Cc: stable@kernel.org Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-02-19ALSA: HDA: Do not announce false surround in Conexant autoDavid Henningsson1-1/+1
Without this patch, one line-out and one speaker and Conexant's auto parser would announce (non-working) surround capabilities. BugLink: http://bugs.launchpad.net/bugs/721126 Cc: stable@kernel.org Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-02-19ALSA: HDA: Conexant auto: Handle multiple connections to ADC nodeDavid Henningsson1-13/+48
Conexant 20641 has several inputs to its ADC node, with one selector and individual amps for all inputs. This patch adds support in the Conexant auto parser to handle that case. It also means that the pin node's volume is being renamed to "Boost" to avoid name clash with the new volume controls on the ADC node. BugLink: http://bugs.launchpad.net/bugs/719524 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-02-02ALSA: hda - Fix memory leaks in conexant jack arraysTakashi Iwai1-1/+7
The Conexant codec driver adds the jack arrays in init callback which may be called also in each PM resume. This results in the addition of new jack element at each time. The fix is to check whether the requested jack is already present in the array. Reference: Novell bug 668929 https://bugzilla.novell.com/show_bug.cgi?id=668929 Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-01-28ALSA: HDA: Fix microphone(s) on Lenovo Edge 13David Henningsson1-0/+1
BugLink: http://bugs.launchpad.net/bugs/708521 This Edge 13 model has an internal mic at 0x1a and should therefore use the asus quirk. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-01-24ALSA: HDA: cxt5066 - Use asus model for Asus U50F, select correct SPDIF outputAndy Robinson1-4/+31
Changed the Asus A52J quirk to use the asus model instead of the hp_laptop model, which fixes the external mic input. Added an Asus U50F quirk to use the asus model. For the cxt5066 codecs, added checking of the digital output pins to determine which digital output nodes to use instead of always using node 0x21, since some systems have node 0x12 connected to a SPDIF out jack. [A slight modification for better readability by tiwai] Signed-off-by: Andy Robinson <ajr55555@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-01-22ALSA: HDA: Add a new model "asus" for Conexant 5066/205xxDavid Henningsson1-1/+23
BugLink: http://bugs.launchpad.net/bugs/701271 This new model, named "asus", is identical to the "hp_laptop" model, except for the location of the internal mic, which is at pin 0x1a. It is used for Asus K52JU and Lenovo G560. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-01-22ALSA: HDA: Refactor some redundant code for Conexant 5066/205xxDavid Henningsson1-58/+23
Four very similar procedures - one for each model - now refactored into one. This isn't all duplicated code, but a step in the right direction. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>