aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
Commit message (Collapse)AuthorAge
* ALSA: hda - Fix quirk for VAIO type GTakashi Iwai2009-11-17
| | | | | | | | Vaio type G laptop doesn't work with the current quirk setup. After some tests, it turned out that it should be model=auto as default. Reported-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: Use model=mb5 for MacBookPro 5,2Daniel T Chen2009-11-12
| | | | | | | | | | | BugLink: https://bugs.launchpad.net/bugs/462098 Until we can look closer at the verbs, let's use ALC885_MB5 for codec SSID 0x106b4600 to enable playback and capture for MacBookPro 5,2s. Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - possible read past array alc88[02]_parse_auto_config()Roel Kluin2009-11-11
| | | | | | | | | The test of index `i' is after the read - too late - and unsafe: if snd_hda_get_connections() fails in the last iteration a read beyond the array is possible. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Avoid quirk for HP dc5750Takashi Iwai2009-11-10
| | | | | | | | | | | The present quirk for HP dc5750 seems broken and maps the pins wrongly. Since the auto-parser works well for this device, set the default entry to use model=auto. Reference: Novell bnc#552154 https://bugzilla.novell.com/show_bug.cgi?id=552154 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: Use model=auto quirk for Sony VAIO VGN-FW170J using ALC262Daniel T Chen2009-11-09
| | | | | | | | | | BugLink: https://bugs.launchpad.net/bugs/478309 The internal microphone on this VAIO model does not work unless the "auto" quirk is used. Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Don't check invalid HP pinTakashi Iwai2009-11-02
| | | | | | | | | | alc_automute_pin() might be called even if any HP pin is defined, and it will result in verbs with NID=0. This patch adds a check for the validity of HP widget before issuing any verbs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: Use quirk mask for Dell Inspiron Mini9/Vostro A90 using ALC268Daniel T Chen2009-11-02
| | | | | | | | | | BugLink: https://bugs.launchpad.net/bugs/368629 We should use a quirk mask for these Dell Inspiron Mini9s and Vostro A90s, as the model=dell quirk appears to enable audio on them. Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix capture source checks for ALC662/663 codecsTakashi Iwai2009-10-14
| | | | | | | | | | The ALC662/663 parser calls wrongly alc880_auto_create_input_ctls() to check the capture source selections. This should be alc882, instead. Reference: Novell bnc#546918 http://bugzilla.novell.com/show_bug.cgi?id=546918 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix overflow of spec->init_verbs in patch_realtek.cTakashi Iwai2009-10-13
| | | | | | | | ALC861-VD lenovo model causes overflow of spec->init_verbs entries due to the recent changes. Simply increase the array size to avoid the overflow. Reported-by: Luca Tettamanti <kronos.it@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix yet another auto-mic bug in ALC268Takashi Iwai2009-10-07
| | | | | | | | | | | | Since patch_alc268() doesn't call set_capture_mixer() (due to its h/w design different from other siblings), it needs to call fixup_automic_adc() explicitly to set up the auto-mic routing. Otherwise the indices for int/ext mics aren't set properly. Reference: Novell bnc#544899 http://bugzilla.novell.com/show_bug.cgi?id=544899 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Don't pick up invalid HP pins in alc_subsystem_id()Takashi Iwai2009-10-06
| | | | | | | | | | | alc_subsystem_id() tries to pick up a headphone pin if not configured, but this caused side-effects as the problem in commit 15870f05e90a365f8022da416e713be0c5024e2f. This patch fixes the driver behavior to pick up invalid HP pins; at least, the pins that are listed as the primary outputs aren't taken any more. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add a workaround for ASUS A7KTakashi Iwai2009-10-06
| | | | | | | | | | ASUS A7K needs additional GPIO1 bit setup; it has to be cleared. Added a new fixup hook for this laptop so that it works as is. Refernece: Novell bnc#494309 http://bugzilla.novell.com/show_bug.cgi?id=494309 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix invalid initializations for ALC861 auto modeTakashi Iwai2009-10-05
| | | | | | | | | | | | | | | | The recent auto-parser doesn't work for machines with a single output with ALC861, such as Toshiba laptops, because alc_subsystem_id() sets the hp_pins[0] while it's listed in line_outs[0]. This ends up with the doubled initialization of the same mixer widget, and it mutes the DAC route because hp_pins has no DAC assigned. To fix this problem, just check spec->autocfg.hp_outs and speaker_outs so that they are really detected pins. Reference: Novell bnc#544161 http://bugzilla.novell.com/show_bug.cgi?id=544161 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix / improve ALC66x parserTakashi Iwai2009-10-02
| | | | | | | | | | | The auto-parser for ALC662/663/272 codecs doesn't work properly when a speaker is connected to mono NID 0x17, and doesn't handle the dynamic DAC assignment properly. This patch fixes the issues and also improves the assignment of DACs so that HP and speakers can have independent volume controls. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Added quirk to enable sound on Toshiba NB200Manoj Iyer2009-10-01
| | | | | | | | Patch was tested on Toshiba NB200 and is found to enable sound. Signed-off-by: Manoj Iyer <manoj.iyer@canonical.com> Cc: stable@kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Resurrect input-source mixer of ALC268 model=acerTakashi Iwai2009-09-30
| | | | | | | | In the commit fdbc66266c21976027938642f60e0f047149a61a, I mistakenly replaced the capture mixer array for ALC268_ACER to nosrc version although this should be kept to alt_mixer. Now fixed back. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix MSI GX620 mixerTakashi Iwai2009-09-17
| | | | | | | | | The headphone and speaker mixer elements aren't properly set for MSI GX620 with targa-8ch-dig quirk. Also fixed the speaker volume control for other ALC883-targa quirks, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add missing model=auto entry for ALC269Takashi Iwai2009-09-11
| | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Use auto model for HP laptops with ALC268 codecTakashi Iwai2009-09-08
| | | | | | | | | The HP laptops with ALC268 codec seem working better with model=auto than model=toshiba; e.g. the auto model fixes missing digital outputs. Let's fix quirk entry to choose auto model explicitly. Tested-by: Jens Jorgensen <jbj1@ultraemail.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digitalddiaz@cenditel.gob.ve2009-09-07
| | | | | | | | | | | | | | | | | | | | | | | The model clevo-m540r was created with 6-channel and digital support. All functions verified except spdif. Tested with a VIT D2000 laptop which has: [lspci extract] Audio device [0403]: Intel Corporation 82801H (ICH8 Family) HD Audio Controller [8086:284b] (rev 03) Subsystem: CLEVO/KAPOK Computer Device [1558:5409] [/proc/asound/card0/codec\#0 header] Codec: Realtek ALC883 Address: 0 Function Id: 0x1 Vendor Id: 0x10ec0883 Subsystem Id: 0x15585409 Revision Id: 0x100002 [Added a comment about HP mute and the model description by tiwai] Signed-off-by: Dhionel Diaz <ddiaz@cenditel.gob.ve> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-08-31
|\ | | | | | | | | Conflicts: sound/pci/hda/patch_realtek.c
| * ALSA: hda - Fix MacBookPro 3,1/4,1 quirk with ALC889ATakashi Iwai2009-08-31
| | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the wrong headphone output routing for MacBookPro 3,1/4,1 quirk with ALC889A codec, which caused the silent headphone output. Also, this gives the individual Headphone and Speaker volume controls. Reference: kernel bug#14078 http://bugzilla.kernel.org/show_bug.cgi?id=14078 Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
* | ALSA: hda - Fix ALC268/ALC269 headphone pin routingTakashi Iwai2009-08-31
| | | | | | | | | | | | | | | | | | Fix the headphone pin routing of ALC268/ALC269 codecs. Using alc882 routine doesn't work because alc268/alc269 parser assumes the independent DACs for both HP and speaker outputs. Need to assign the DAC depending on the pin. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add full audio support on Acer Aspire 7730G notebookDenis Kuplyakov2009-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Added support of internal subwoofer (it sounds!!!) 2) Auto muting front speakers and internal subwoofer on headphones plug. 3) Internal mic works. 4) 3 channel mods (jack maps): black pink blue 2ch: front ext mic line in 4ch: front ext mic surround 6ch: front CLFE surround Can be changed in mixer. 5) Sound can be recorded from: Internal mic Ext mic Cd Line in 6) 2 separate capture channels. Signed-off-by: Denis Kuplyakov <dener.kup@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Improve auto-cfg mixer name for ALC662Takashi Iwai2009-08-25
| | | | | | | | | | | | | | The last patch in this series is for ALC662; pretty similar as the previous patch for ALC861-VD. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Improve auto-cfg mixer name for ALC861-VDTakashi Iwai2009-08-25
| | | | | | | | | | | | | | | | | | | | One more patch to give a better name for the primary output controls, this time for ALC861-VD codec. The change is simple, just checking the pin connection whether it's a speaker-out. When both speaker and HP are assigned, we name the volume as "PCM" as this influences on both outputs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Improve auto-cfg mixer name for ALC262Takashi Iwai2009-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar improvements for ALC262 codec like previous two commits: assign a better name, either Master or Speaker, for the primary output controls. However, in the case of ALC262 codec, the necessary changes are larger than others because we need to check the possibility of different mixer amps depending on the pins. The pin 0x16 is mono, and bound with the dedicated mixer 0x0e while other pins are bound with 0x0c. Thus, there are two possible volumes. When only one of them is used, we can name it as "Master". OTOH, when both are used at the same time, they have to be named uniquely. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Improve auto-cfg mixer name for ALC260Takashi Iwai2009-08-25
| | | | | | | | | | | | | | | | Instead of fixed "Front" mixer name, try to assign a better name, e.g. "Master" or "Speaker" fot the primary output volume controls of ALC260 codec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Improve auto-cfg mixer name for ALC880Takashi Iwai2009-08-25
| | | | | | | | | | | | | | When there is only one DAC is used for ALC880, try to assign a better name, either Speaker or Front, depending on the output pin type. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Generalize input pin parsing in patch_realtek.cTakashi Iwai2009-08-25
| | | | | | | | | | | | | | | | | | Provide a standard parser for input pins to create the input mixer and input source controls instead of having a difference one for each Realtek codec. The new helper parses the codec connections dynamically isntead of fixed indicies. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Reuse ALC268 parser for ALC269Takashi Iwai2009-08-24
| | | | | | | | | | | | | | | | Reuse a part of the code of ALC268 parser for ALC269. This will change the default output volume either to Front or Speaker depending on the pin configuration. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-08-19
|\|
| * ALSA: hda - Fix probe of Toshiba laptops with ALC268 codecTakashi Iwai2009-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are many variants of Toshiba laptops with ALC268 codec, and it seems that a few of them don't work with model=toshiba preset since they have the secondary ALC268 codec just for HDMI output. This is a regression due to the previous clean-up work to merge all Toshiba quirk entries into a single check. This patch adds the identification of such laptops to apply the standard BIOS-probing method. Unfortunately, Toshiba laptops have all the same PCI SSID, so we need to check the codec SSID to identify each device. Tested-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix invalid capture mixers with some ALC268 modelsTakashi Iwai2009-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The auto-mic clean-up patches caused regressions on some ALC268 models that have no proper input_mux but with "Input Source" mixer elements. Such a combination results in Oops when accessed. [A reason why set_capture_mixer() isn't used in patch_alc268() is that ALC268 codec have HDA_OUTPUT direction for capture volumes unlike other codecs. Thus it needs own definitions of capture elements.] This patch fixes the issues: - Add a capture mixer definition without input-source - Use the new capture mixer appropriately Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - fix noise issue when recording from digital mic with alc268Herton Ronaldo Krzesinski2009-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With auto config model of alc268 realtek codec, it allows to select any of possible available digital microphone inputs when only one is available. For example, when only digital mic in nid 0x12 is available, on second input source it will allow you to select unavailable digital mic in nid 0x13. The problem is that selecting unavailable digital mic creates a source of noise when recording (I'm not sure if this happens on all machines with alc268 and only one digital mic input, but testing on a quanta uw1 netbook a lot of noise is introduced in recording from digital mic 0x12/first input source, when you select the unavailable digital mic 0x13 for capture source 0x24 in the second input source in mixer). Then to avoid noise when recording from digital mic with auto model in this case, prevent a digital mic input source to be selected if microphone is not available. Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Clean up init and setup hooks for Realtek codecsTakashi Iwai2009-08-11
| | | | | | | | | | | | | | | | | | | | Move static codes to setup from init_hook for each model. Also, use the common auto-mic selection helper for devices that support auto-mic selection. They just need to set up ext_mic, int_mic and auto_mic flag in the setup section. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add setup hook to ALC preset structTakashi Iwai2009-08-11
| | | | | | | | | | | | | | | | | | Added setup hook to ALC preset struct to be called at in the parser but not at each init callback. This can be used for setting up the static pins, etc, while the init hook should be used for updating the status again. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Check connectivity for auto-mic of Realtek codecsTakashi Iwai2009-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some Realtek codecs don't provide the full connections for certain pins from each ADC; e.g. ACL662/ALC272 gives only one of two digital-mic pins for each ADC. Thus, depending on the digital mic pin, the ADC/MUX to be used has to be chosen properly. This patch adds the check of the connectivity of pins at auto-mic mode. If no proper connectivity is found, auto_mic flag is turned off to be sure. Also the mux_idx is determined during this check so it won't be checked in the unsol event any more. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-08-11
|\|
| * ALSA: hda - Don't override ADC definitions for ALC codecsTakashi Iwai2009-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ALC269 and ALC861-VD parsers override the ADC definitions unconditionally without checking the spec definition. This causes the problem when any inconsistent ADC is set up in the device quirk (like ALC272 with digital-mic). This patch avoids the overriding by adding the proper checks. Reference: Novell bnc#529467 https://bugzilla.novell.com/show_bug.cgi?id=529467 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Use only one capture stream for auto-micTakashi Iwai2009-08-10
| | | | | | | | | | | | | | When the auto-mic feature is enabled, we should support only one capture stream. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add auto-mic support for Realtek codecsTakashi Iwai2009-08-10
| | | | | | | | | | | | | | | | Added the support for automatic mic selection via plugging for Realtek codecs (in auto-probing mode). The auto-mic mode is enabled only when one internal mic and one external mic are present. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-08-10
|\|
| * ALSA: hda - Add missing vmaster initialization for ALC269Takashi Iwai2009-08-10
| | | | | | | | | | | | | | | | | | | | | | Without the initialization of vmaster NID, the dB information got confused for ALC269 codec. Reference: Novell bnc#527361 https://bugzilla.novell.com/show_bug.cgi?id=527361 Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-08-03
|\|
| * ALSA: hda - Read buffer overflowRoel Kluin2009-08-03
| | | | | | | | | | | | | | Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix quirk for Toshiba Satellite A135-S4527Takashi Iwai2009-08-03
| | | | | | | | | | | | | | | | | | | | Use model=lenovo instead of model=dallas for Toshiba Satellite A135-S4527 with ALC861-VD codec. Reference: Novell bnc#526325 https://bugzilla.novell.com/show_bug.cgi?id=526325 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Increase PCM stream name buf in patch_realtek.cTakashi Iwai2009-07-31
| | | | | | | | | | | | | | The name buf with size 16 is too short for some codec names, e.g. truncated like "ALC861-VD Analo". Now the size is doubled. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: add HP automute support to Intel ALC889/ALC889A modelsWu Fengguang2009-07-30
| | | | | | | | | | | | | | | | It auto mutes all 8-channel outputs at rear panel when the front panel headphone is connected. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda: add 2-channel mode to Intel ALC889/ALC889A modelsWu Fengguang2009-07-30
| | | | | | | | | | | | | | | | This 2-channel mode is useful in that it will broadcast a 2-channel audio stream to all front/side/... ports. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>