aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
AgeCommit message (Collapse)AuthorFilesLines
2009-08-11ALSA: hda - Don't override ADC definitions for ALC codecsTakashi Iwai1-6/+12
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>
2009-08-10ALSA: hda - Add missing vmaster initialization for ALC269Takashi Iwai1-0/+2
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>
2009-08-03ALSA: hda - Read buffer overflowRoel Kluin1-1/+1
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>
2009-08-03ALSA: hda - Fix quirk for Toshiba Satellite A135-S4527Takashi Iwai1-1/+1
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>
2009-07-31ALSA: hda - Increase PCM stream name buf in patch_realtek.cTakashi Iwai1-2/+2
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>
2009-07-24ALSA: hda - Fix mute control with some ALC262 modelsTakashi Iwai1-17/+16
The master mute switch is wrongly implemented as checking the pointer instead of its value, thus it can be never muted. This patch fixes the issue. Reference: Novell bnc#404873 https://bugzilla.novell.com/show_bug.cgi?id=404873 Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
2009-07-10ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checkingJaroslav Kysela1-0/+6
On some IbexPeak systems with ALC889A errors like "azx_get_response timeout, switching to polling mode: last cmd=0xaf9f000b" are produced, because non-existent codec #10 is wrongly accessed. The problem is that snd_hda_get_connections() returns out-of-range result for NID 0x1c (something like 0xf8f9 or 0xffff). This patch adds a check to alc880_parse_auto_config() to avoid using of this out-of-range NIDs. A better fix maybe to improve snd_hda_get_connections() routine to check for valid NID ranges if NIDs are expected as result. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-09ALSA: hda - targa and targa-2ch fixDavid Heidelberger1-6/+6
Simplify ALC882_TARGA and return gpio3 to ALC883_TARGA_DIG and ALC883_TARGA_2ch_DIG, which I accidentally removed in commit id 64a8be74357477558183b43156c5536b642de134 Signed-off-by: David Heidelberger <d.okias@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-08ALSA: hda - Missing volume controls for Intel HDA (ALC269/EeePC)Darren Salt1-2/+2
There is a regression, introduced in aa202455eec51699e44f658530728162cefa1307 (in alsa-kernel) which I noticed when trying to use the headphone socket on my EeeCPC 901: the output was *very* quiet, practically silent. This patch corrects the control types to that which was obviously intended in the referenced commit. Signed-off-by: Darren Salt <linux@youmustbejoking.demon.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-03ALSA: hda - Improve ASUS eeePC 1000 mixerTakashi Iwai1-19/+5
The mixer elements created for ASUS eeePC 1000 with ALC269 aren't standard but strange words like "LineOut". Rename the element names to follow the standard one like "Headphone" and "Speaker". Also, split the volumes to each so that the virtual master can control them. The alc269_fujitsu_mixer is removed because it's now identical with the new eeepc mixer. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-29ALSA: hda - Add missing initializations for ALC268 and ALC269Takashi Iwai1-0/+4
During the changes to clean up / fix the realtek codec initialization routines in commit 4a79ba34cada6a5a4ee86ed53aa8a73ba1e6fc51, I forgot to add the check for ALC268 and ALC269. This resulted in the missing EAPD and COEF setup for these codecs. This patch adds the missing checks for these codecs. Reference: bko#13633 http://bugzilla.kernel.org/show_bug.cgi?id=13633 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-29ALSA: hda - Line In for Acer Inspire 6530G modelTony Vroon1-2/+8
The Line In connector is set up as PIN_IN by default, using VREF_HIZ. It is connected to both ADCs, so add it to both input selectors. Also add the ability to use the input mix (on a SoundBlaster one would call this "What You Hear"). Signed-off-by: Tony Vroon <tony@linx.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-25ALSA: hda - Use model=acer-aspire-6530g for Acer Aspire 6930GTakashi Iwai1-1/+1
For Acer Aspire 6930G (1025:015e), acre-aspire-6530g model matches obviously better. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-25ALSA: hda - Fix acer-aspire-6530g model quirkEmilio López1-1/+16
Fix the following bugs of acer-aspire-6530g model with ALC888: - HP jack to mute all speaker outputs including LFE - Make digital built-in mic working Signed-off-by: Emilio López <buhitoescolar@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-25ALSA: hda - Add pin-sense trigger when needed for Realtek codecsTakashi Iwai1-4/+9
Realtek codecs require the pin-sense trigger call before actually reading the pin-sense. Without this, the pin-detection might not be done accurately. This patch adds the pin-capability check and issues the trigger call if required. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-22ALSA: hda - Add digital-mic support to ALC262 auto modelTakashi Iwai1-35/+51
Add the digital-mic support with ALC262 auto model. The new ALC262 models have the digital mic at NID 0x12. This widget isn't checked in the current alc262_auto_create_analog_input_ctls() since it's under 0x18. So, just reuse the routine for alc269 to fix the behavior. But, it doesn't suffice: the digital mic is supported only with the ADC0, we have to exclude other ADCs when d-mic is detected. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-22ALSA: hda - Fix check of input source type for realtek codecsTakashi Iwai1-18/+3
Fix the check of the input-source type by checking the widget type of each capture-source item. Since some codecs can have both the mixer and selector types depending on the ADC, alc_mux_enum_put() needs to check each widget. With this change, spec->capture_style gets unneeded, so it's removed, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-22ALSA: hda - Add quirk for Sony VAIO Z21MNTakashi Iwai1-0/+1
It needs model=toshiba-s06 to work with the digital-mic. Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
2009-06-22ALSA: hda - Get back Input Source for ALC262 toshiba-s06 modelTakashi Iwai1-0/+1
The commit f9e336f65b666b8f1764d17e9b7c21c90748a37e ALSA: hda - Unify capture mixer creation in realtek codes removed the "Input Source" mixer element creation for toshiba-s06 model because it contains a digital-mic input. This patch take the control back. Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
2009-06-21ALSA: hda - Add model=6530g optionTakashi Iwai1-0/+1
Add the new model string corresponding to the previous Acer Aspire 6530G support. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-21ALSA: hda - Acer Inspire 6530G model for Realtek ALC888Tony Vroon1-1/+71
The selected 4930G model seemed to keep the subwoofer 'tuba' function from operating correctly. Removing the existing PCI ID match made this work again, but it was mapped to 'Side' instead of to LFE as one would expect. This attempts to enable all functionality and keep the amount of available mixer sliders low. Any slider that had no audible effect on the output audio has been removed, and as such EAPD is not currently enabled. Signed-off-by: Tony Vroon <tony@linx.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-17ALSA: HDA - Correct trivial typos in comments.Sasha Alexandr1-13/+13
Correct some trivial typos in comments. Signed-off-by: Sasha Alexandr <brina_keith@ns.sympatico.ca> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-17ALSA: HDA - Name-fixes in code (tagra/targa)Sasha Alexandr1-17/+17
Correct some cut+paste typos from 'tagra' to 'targa'. Signed-off-by: Sasha Alexandr <brina_keith@ns.sympatico.ca> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-17ALSA: HDA - Add pci-quirk for MSI MS-7350 motherboard.Sasha Alexandr1-0/+1
Add pci-quirk for MSI MS-7350 motherboard with Realtek ALC888. Signed-off-by: Sasha Alexandr <brina_keith@ns.sympatico.ca> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-13ALSA: hda - Add quirk for Acer Aspire 6935GTakashi Iwai1-0/+2
Added model=acer-aspire-8930g for Acer Aspire 6935G (1025:0146). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: hda - Fix the previous tagra-8ch patchTakashi Iwai1-2/+2
- Fix a typo in the patch - Adapted to follow the recent change for unsol event handling Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-08ALSA: hda - Add 7.1 support for MSI GX620David Heidelberger1-8/+107
Added 7.1 support for MSI GX620 and jack quirk. Reference: kernel bug#13430 http://bugzilla.kernel.org/show_bug.cgi?id=13430 Signed-off-by: David Heidelberger <d.okias@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-05ALSA: support Sony Vaio TTGuido Günther1-0/+45
with BIOS probing only we offer a non functional headphone swith and volume slider. Signed-off-by: Guido Günther <agx@sigxcpu.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-04ALSA: hda - More Aspire 8930G fixesHector Martin1-11/+54
Enable all three capture channels, including the missing nid 7 which is the only one capable of capturing DMIC input Enable Headphone amp for the HP jack. This causes a volume boost for headphones, but does not cause any noticeable effect for light loads like other amps, so there is no need to make it configurable. Add Input Mix capture mux setting to capture the output of the playback input mux (that is, what goes out the speakers except for PCM) Hack another coef register because the stereo DMIC for some reason produces a nonstandard sum/difference signal. I found a bit to make it just use the sum signal for both channels, which makes it behave like a standard mono microphone. The stereo is useless anyway (they're 1cm apart). Tested working: Three capture channels, mic in, line in, DMIC. Tested not working: CD. Not sure why, might be unconnected in the actual hardware or a CD drive issue. Also looked at SPDIF. It appears to work (emitter lights up inside the HP out jack) but I lack a proper miniTOSLINK cable to test it. Signed-off-by: Hector Martin <hector@marcansoft.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: hda - Acer Aspire 8930G supportHector Martin1-5/+94
Short story: this laptop has 5.1 built-in speakers which you *really* want to use (the not-so-"sub" woofer is what makes the audio above average for a laptop), so 6-channel support is important (plus a decent asound.conf to upmix stereo). It also has the 3 typical jacks that ought to have a selectable mode. And it's based on ALC889, which sucks. Rationale/explanations: The const_channel_count stuff was added because, for a laptop like this, you always have 6 channels available (internal speakers) but still need to set the mode for the 3 external jacks. Therefore, the device always needs to be in 6-channel mode but there still needs to be a mixer control for the jack mode. You could use line/mic-in at the same time as the 6 internal speakers, for example. You might be tempted to make it even smarter by dynamically switching the max channel count when headphones are plugged in (therefore muting the internal speakers and reducing the physical channel count to the jack channel mode), but as a user I consider this to be harmful because I want the audio to blow up to 6 channels / upmixed as soon as I unplug the headphones, and having opened the device while in 2-channel mode would prevent this from working (and always making 6-channel mode available doesn't do any harm). The hardware needs EAPD turned on and the DACs routed to the internal speaker pins, so the patch adds those verbs. The ALC889 CLFE and subsequent (side/aux, here unused) DACs do NOT work by default, at least here. I wasted much time trying to talk to Realtek/pshou about this, but they just kept sending me useless updates to patch_realtek.c that did nothing relevant. In the end I gave up and brute forced the issue by trying to flip every bit in the proprietary coefficient registers, and eventually found the two magic registers that need to be cleared to enable all DACs. I have only heard Acer users complain, but that might be because ALC889 is pretty new and using 5.1 (and noticing the missing center/lfe channels) might not be that common. If this is a generalized issue with all ALC889 systems then those verbs should probably be moved to a common verb array. The internal mic is untested and probably doesn't work. These settings will probably work for other Acer Gemstone laptops with the same 5.1 speaker config. When identified, those should be added to the PCI subsystem ID list. Signed-off-by: Hector Martin <hector@marcansoft.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: hda - Reorder and clean-up ALC268 quirk tableTakashi Iwai1-7/+6
Rearrange alc268_cfg_tbl[] in the order of vendor id, and group some entries using SND_PCI_QUIRK_MASK(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: hda - fix audio on LG R510Ozan Çağlayan1-0/+1
Currently, LG R510 is only able to produce sound on headphones, the internal speakers are not working. The user tested and confirmed that with model=Dell headphones, internal speakers and the microphone are working flawlessly. Tested-by: Serdar Soytetir <tulliana@gmail.com> Signed-off-by: Ozan Çağlayan <ozan@pardus.org.tr> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: hda - Macbook[Pro] 5 6ch supportKacper Szczesniak1-15/+65
this is a patch against current snapshot that adds: 6 channels support for the MB5 model Signed-off-by: Kacper Szczesniak <kacper@qwe.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-01ALSA: hda-intel: improve initialization for ALC262_HP_BPC modelJaroslav Kysela1-13/+28
Fix issues for 3 generations of HP workstations. The modest modifications do the following: 1. Change the second MIC from device 3 to device 1 2. Init the "boost" values to "0" by default From: John Brown <john.brown3@hp.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-26Merge branch 'fix/hda' into topic/hdaTakashi Iwai1-0/+7
2009-05-25ALSA: hda - Add missing check of pin vref 50 and others in Realtek codecsTakashi Iwai1-0/+6
Some Realtek codecs like ALC861 seem to support only VREF50 while the current driver assumes it's only VREF80. Check other VREF bits to set the correct value. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-22ALSA: hda - fix audio on HP TX25xx series notebooksAdam Williamson1-0/+1
Fixes https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4121 Taken from https://bugzilla.redhat.com/show_bug.cgi?id=498060 Signed-off-by: Adam Williamson <awilliam@redhat.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-18ALSA: hda - Improved MacBook 3,1 supportTorben Schulz1-5/+146
This patch adds support for MacBook 3,1 sound by adding a model new "mb31" with the appropriate init verbs, mixers and channel modes to the ALC883 configuration. patch_alc882() and patch_alc883() are modified to handle the MacBook 3,1 sound-chip (Realtek ALC889A) correctly. Signed-off-by: Torben Schulz <public@letorbi.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-18ALSA: hda - Show the actual chip name in 'unkown model' messagesTakashi Iwai1-20/+22
Show the actual chip name in 'unknown model..' info messages for Realtek codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-16ALSA: hda - Split codec->name to vendor and chip name stringsTakashi Iwai1-55/+8
Split the name string in hda_codec struct to vendor_name and chip_name strings to be stored directly from the preset name. Since mostly only the chip name is referred in many patch_*.c, this results in the reduction of many codes in the end. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-14ALSA: hda - Add a quirk entry for Macbook Pro 5,1Takashi Iwai1-0/+4
Added the codec SSID for MacBook Pro 5,1 as compatible as MP51. However, the headphone auto-muting function doesn't work. So, this is just a tentative solution. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-13ALSA: hda - Disable fallback to model=acer for Acer laptopsTakashi Iwai1-2/+4
The model=acer for ALC883/889 doesn't work well for the recent Acer Aspire laptops. Since model=auto works better nowadays, it's safer to use the default fallback instead of the Acer specific one. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-12ALSA: hda - Add support of Samsung NC10 mini notebookChris Pockelé1-0/+64
Add specific configuration for Samsung NC10 mini notebook. Internal mic/speakers will be correctly muted when plugging in external ones. Mixer controls are added for speakers, headphones and PC beep. "Boost" is added for the microphones. Signed-off-by: Chris Pockelé <chris.pockele.f1@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-11ALSA: hda - Add missing models for Realtek codecsTakashi Iwai1-0/+2
Added the missing descriptions and the model names for Realtek codecs to the documentation and the config table. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-08ALSA: hda - Clean up Realtek auto-mute unsol routinesTakashi Iwai1-590/+311
Most of unsol handlers defined in patch_realtek.c can be classified to two types, mute via amp of pins and mute via ctl bits of pins. Thus there are a big room to generalize each implementation. This patch creates two generic functions, alc_automute_amp() and alc_automute_pin(). The latter is actually changed from the previous alc_sku_automute(). Each caller needs to initialize hp_pins and speaker_pins properly at own init_hook. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-08ALSA: hda - Clean up for ALC262 HP model auto-mute functionsTakashi Iwai1-35/+19
Just clean up, no functional changes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-08ALSA: hda - Fix and clean up hippo-compat HP auto-mutingTakashi Iwai1-214/+158
The speaker auto-muting per HP plugging for ALC262 HIPPO and compatible devices is slightly buggy as the "Master" or "Front" mixer control can still toggle the speaker output even if the headphone is plugged. This patch fixes the issue, and clean up the hippo-related codes together with fixes of some inconsistent mixer names. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-05-07ALSA: hda - Add support for MacBook 5.1 (Aluminium)Kacper Szczesniak1-0/+73
Signed-off-by: Kacper Szczesniak <kacper@qwe.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-28ALSA: hda - Fix a typo in patch_realtek.c againTakashi Iwai1-1/+1
The commmit dfed0ef9b3ff9e37903920b6938ed33344ad0b3d was reverted accidentally by the merge of auto-detection fix patch. Fixed again now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-28ALSA: hda - Don't enable auto-mute but for speakers in patch_realtek.cTakashi Iwai1-1/+4
Enable auto-muting in model=auto only for devices with HP and speakers. For devices with HP and line-outs, don't enable the auto-muting. Also, add a debug print to show the auto-mute feature. Signed-off-by: Takashi Iwai <tiwai@suse.de>