summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: hda/realtek - Drop model=asus* from ALC880Takashi Iwai2012-02-202-127/+3
| | | | | | | | It turned out that BIOS on most of ASUS mobo's set the pin-config tables reasonably well for the auto-parser. We'd need GPIO setups, but should work as is other than that. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Rewrite ALC880 model=asus-w1v with auto-parserTakashi Iwai2012-02-202-31/+6
| | | | | | | ASUS W1V has a sane pin-config table set by BIOS. The only missing piece is the setup of GPIO1. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Rewrite ALC880 model=z71v with auto-parserTakashi Iwai2012-02-202-58/+20
| | | | | | | | ASUS Z71V has a totally broken BIOS setup (at least the info I got), thus we need to override the whole pin-config table to make the auto-parser working correctly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Rewrite ALC880 model=uniwill-dig with auto-parserTakashi Iwai2012-02-202-14/+13
| | | | | | | ALC880 model=uniwill-dig requires the fix-up of bogus BIOS pin default configurations. Other than that, it's pretty normal. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Rewrite ALC880 model=uniwill with auto-parserTakashi Iwai2012-02-203-130/+12
| | | | | | | | The model=uniwill would work almost as is, but a couple of adjustments are needed to make the mutli-io working correctly. The headphone and speaker pins have to be marked properly in pin configs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Rewrite ALC880 model=uniwill-p53 with auto-parserTakashi Iwai2012-02-202-94/+1
| | | | | | | Uniwill p53 has a sane BIOS setup but just needs the volume-knob handling like Fujitsu laptops with ALC880. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Rewrite ALC880 model=F1734 with auto-parserTakashi Iwai2012-02-202-85/+24
| | | | | | | | Similar as the previous patch for model=fujitsu, we can now move the static quirk for F1734 to the auto-parser. The only difference is the default pin configurations: F1734 has less pins than Amilo's. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Rewrite ALC880 model=futjisu with auto-parserTakashi Iwai2012-02-202-35/+74
| | | | | | | Now adding the support for the volume-knob widget, we can move the static quirk for ALC880 model=fujitsu to the auto-parser completely. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Apply probe-fixup really after probingTakashi Iwai2012-02-201-16/+16
| | | | | | | | | Move the call of alc_apply_fixup() with ALC_FIXUP_ACT_PROBE after the whole setups of patch_ops & co, so that the fix-up function may override the default setup. This will be needed for installing the own unsol event handler (e.g. for volume-knob controls). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Replace ALC880 model=tcl with auto-parserTakashi Iwai2012-02-172-56/+13
| | | | | | | It needs a few extra setups for EAPD, but others look fairly straightforward. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Drop ALC880 model=clevoTakashi Iwai2012-02-172-45/+11
| | | | | | | Clevo machines with ALC880 are all well with proper BIOS setup. It seems still requiring the additional COEF setup for the EAPD. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Refactor the DAC filler functionTakashi Iwai2012-02-171-77/+77
| | | | | | | Refactor the DAC filling function to be used for both the primary line outputs and extra outputs using the individual badness tables. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Rewrite ALC880 model=w810 with auto-parserTakashi Iwai2012-02-172-83/+14
| | | | | | | | The Medion W810 with ALC880 has a typical BIOS bug, copying the pin-defaults without disabling the unused pins. At least, the pin 0x17 must be disabled. Also, it requires GPIO-2 setup. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Rewrite ALC880 model=lg with the auto-parserTakashi Iwai2012-02-172-158/+14
| | | | | | | | | ALC880 model=lg could work fine with the auto-parser due to the recent rewrite, but it still needs the manual adjustment; namely, the BIOS leaves unused pins as some real active jacks. This confuses the parser. Thus we just cover these pins and override the pin-configs as a fix-up. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Adjust badness calculation for multi-iosTakashi Iwai2012-02-171-62/+134
| | | | | | | | | Try harder to fit the multi-io pins also by checking the hard-wired connections for multi-ios. Also, the badness values are adjusted to prioritize the multi-ios as more valuable. These changes will enable the multi-io on some machines without losing the current capability. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Show multi-io pins in debug printsTakashi Iwai2012-02-171-0/+5
| | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Try harder to fit the single-connectionsTakashi Iwai2012-02-161-33/+91
| | | | | | | | | | | | So far, the Realtek driver tires to assign the single-connected routes for all pins only once at the beginning. However, since some DACs have been already mapped, the rest pins might have also single conections. In this patch, the driver does the single-connection assignment in a loop until all possbile single-connections are checked. This will improve the DAC assignment, e.g. for ASUS G72. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Finer tuning of auto-parser with badness evaluationTakashi Iwai2012-02-161-84/+293
| | | | | | | | | | | | | | | This patch improves the Realtek auto-parser for assigning the DACs and mixers in more suitable ways by evaluating the assignment with "badness" calculations. When assigning a DAC hinders the assignment of individual DACs for other pins, some badness point is given. Similarly, when it blocks the assignment of unique mixer controls, another badness point is added. Also, if no DAC, even shared DAC, can be assigned, more badness is pointed. Finally, comparing the accumulated badness, the best route is chosen among several trials. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Improve the signel-connection checkTakashi Iwai2012-02-161-1/+5
| | | | | | | | | | | | When the connections from the pin selector contain only two widgets, a route to DAC and the aa-mixer, it's certainly a single connection. In such a case, get_dac_if_single() should return the connected DAC, too. This will improve the detection of the individual DAC assignment for each pin. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2012-02-167-12/+48
|\ | | | | | | | | The fix for bitmap-overflow in Realtek codec driver is needed for the further development of the auto-parser with badness evaluation.
| * ALSA: hda/realtek - Fix overflow of vol/sw check bitmapTakashi Iwai2012-02-161-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | The bitmap introduced in the commit [527e4d73: ALSA: hda/realtek - Fix missing volume controls with ALC260] is too narrow for some codecs, which may have more NIDs than 0x20, thus it may overflow the bitmap array on them. Just double the number to cover all and also add a sanity-check code to be safer. Cc: <stable@kernel.org> [v3.2+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: usb-audio: avoid integer overflow in create_fixed_stream_quirk()Xi Wang2012-02-153-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | A malicious USB device could feed in a large nr_rates value. This would cause the subsequent call to kmemdup() to allocate a smaller buffer than expected, leading to out-of-bounds access. This patch validates the nr_rates value and reuses the limit introduced in commit 4fa0e81b ("ALSA: usb-audio: fix possible hang and overflow in parse_uac2_sample_rate_range()"). Signed-off-by: Xi Wang <xi.wang@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: intel8x0: Fix default inaudible sound on Gateway M520Daniel T Chen2012-02-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | BugLink: https://bugs.launchpad.net/bugs/930842 The reporter states that audio is inaudible by default without muting 'External Amplifier'. Add a quirk to handle his SSID so that changing the control is not necessary. Reported-and-tested-by: Benjamin Carlson <elderbubba0810@gmail.com> Cc: <stable@kernel.org> Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * Merge tag 'asoc-3.3' of ↵Takashi Iwai2012-02-141-5/+1
| |\ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus A simple fix from Morimoto-san for the pointer() operation in the FSI driver.
| | * ASoC: fsi: fixup fsi_pointer() calculation methodKuninori Morimoto2012-02-091-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | current fsi_pointer() calculation was not correct for FSI driver. This patch fix it up. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | Merge branch 'fix/acer-alc889-fix' into fix/hdaTakashi Iwai2012-02-131-0/+23
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: sound/pci/hda/patch_realtek.c Merged back the fix for Acer Aspire 6935 with ALC889 codec. The fix commit was based on 3.2 kernel so that it can be applied to stable kernel cleanly.
| | * | ALSA: hda - Fix silent speaker output on Acer Aspire 6935Takashi Iwai2012-02-131-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 3.2 kernel, the driver starts trying to assign the multi-io DACs before the speaker, thus it assigns DAC2/3 for multi-io and DAC4 for the speaker for a standard laptop setup like a HP, a speaker, a mic-in and a line-in. However, on Acer Aspire 6935, it seems that the speaker pin 0x14 must be connected with either DAC1 or 2; otherwise it results in silence by some reason, although the codec itself allows the routing to DAC3/4. As a workaround, the connection list of each pin is reduced to be mapped to either only DAC1/2 or DAC3/4, so that the compatible assignment as in kernel 3.1 is achieved. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42740 Cc: <stable@kernel.org> [v3.2+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Fix initialization of secondary capture source on VT1705Takashi Iwai2012-02-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VT1705 codec has two ADCs where the secondary ADC has no MUX but only a fixed connection to the mic pin. This confused the driver and it tries always overriding the input-source selection by assumption of the existing MUX for the secondary ADC, resulted in resetting the input-source at each time PM (including power-saving) occurs. The fix is simply to check the existence of MUX for secondary ADCs in the initialization code. Tested-by: Anisse Astier <anisse@astier.eu> Cc: <stable@kernel.org> [v3.1+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: hda/realtek - Disable static fixups for ASUS with ALC269Takashi Iwai2012-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've enabled the static fixups for ASUS machines with ALC269 codec, just for making things compatible during the transition to the auto- parser. However, it seems that the static configurations do more harmful than good, as some of entries don't match with the actual hardware setups. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: hda/realtek - Remove leftover static quirks for ALC260Takashi Iwai2012-02-163-773/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we can clean up all static quirks for ALC260. Also many codes in alc_quirks.c can be ripped off since they have been used only by ALC260 static quirks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: hda/realtek - Drop model=fujitsu from ALC260 static quirksTakashi Iwai2012-02-161-142/+0
| | | | | | | | | | | | | | | | | | | | | | | | The model works with the auto-parser as is, thus now good to drop. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: hda/realtek - Drop model=favorit100 for ALC260Takashi Iwai2012-02-162-129/+1
| | | | | | | | | | | | | | | | | | | | | | | | It's working with the auto-parser just with the standard GPIO 1 setup. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: hda/realtek - Add the support for HP Presario B1900Takashi Iwai2012-02-161-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HP Presario B1900 needs a similar hack like Replacer, toggling GPIO1 per the jack state, in addition to the COEF setup used for other Acer laptops. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: hda/realtek - Replace ALC260 model=replacer with the auto-parserTakashi Iwai2012-02-162-76/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The support for Replacer 627V in the auto-parser needs the unique unsol event handling: although the machine has a single output pin 0x0f, it's used for both the headphone and the speaker, and the driver needs to toggle the output route via GPIO 1. In addition, it needs a special COEF setup with 0x3050. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: hda/realtek - Replace ALC260 model=acer with the auto-parserTakashi Iwai2012-02-162-146/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ALC260 model=acer needs GPIO1 setup. It could be selected well if the codec SSID is set properly by BIOS, but to make sure, enable it forcibly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: hda/realtek - Add the fixup codes for ALC260 model=willTakashi Iwai2012-02-162-46/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The model=will for ALC260 requires the pin 0x0f to be a headphone and some special verbs for the COEF to turn on the amp. Now added these as fixup entries and removed the static model quirk. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: hda - Add another jack-detection suppression for ASUS ALC892Takashi Iwai2012-02-131-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the jack-detect suppression for an ASUS machine with ALC892 codec. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42655 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: hda - Suppress auto-mute feature on some machines with ALC861Takashi Iwai2012-02-131-8/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few machines with ALC861 & co are reported not to work properly with the auto-mute feature in software. The auto-mute feature is implemented in the hardware level, and the jack-detection never works with them. Also, rename the fixup index as ALC861_FIXUP_* to follow the standard. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: hda - Add codec->no_jack_detect flagTakashi Iwai2012-02-132-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new flag to indicate that the codec has no jack-detection cap. This flag should be set for hardwares that have no jack-detect implementation although the codec chip itself supports it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: hda - Make is_jack_detectable() as non-inlinedTakashi Iwai2012-02-132-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | It's a bit too big and used too often as an inline function. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2012-02-1311-43/+74
|\ \ \ \ | |/ / / | | | | | | | | Necessary for working on the jack-detection suppression feature.
| * | | ALSA: hda - Fix mute-LED VREF value for new HP laptopsTakashi Iwai2012-02-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new HP laptops turns off the mute LED with VREF50 or VREF80, but not in HIZ unlike the previous models. Since VREF50 (also 80) works with the previous models, let's use VREF50 for all. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | Merge tag 'asoc-3.3' of ↵Takashi Iwai2012-02-081-1/+10
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus A few small WM8994 updates to go on top of the previous lot of things that were sent. They collide with some -next work so I'd really like to get them into 3.3-rc3 if possible to merge back up into the -next code. All driver specific and unexciting in the grand scheme of things.
| | * | ASoC: wm8994: Disable line output discharge prior to ramping VMIDMark Brown2012-02-081-0/+5
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | ASoC: wm8994: Fix typo in VMID ramp settingMark Brown2012-02-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The VMID ramp rate is supposed to be 0x3, not 11b. Fix that. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
| | * | ASoC: wm8994: Enabling VMID should take a runtime PM referenceMark Brown2012-02-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can enable VMID independently of the bias in some use cases so we need to ensure that the core device is powered up. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
| * | | ALSA: oxygen, virtuoso: fix exchanged L/R volumes of aux and CD inputsClemens Ladisch2012-02-081-11/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver accidentally exchanged the left/right fields for stereo AC'97 mixer registers. This affected only the aux and CD inputs because the line input bypasses the AC'97 codec and the mic input is mono; cards without AC'97 (Xonar DS/DG/HDAV Slim, HG2PCI, HiFier) were not affected. Reported-and-tested-by: Abby Cedar <abbycedar@yahoo.com.au> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Cc: 2.6.31+ <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: usb-audio: add Edirol UM-3G supportClemens Ladisch2012-02-081-0/+8
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - add support for Uniwill ECS M31EI notebookJaroslav Kysela2012-02-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This hardware requires same fixup for the node 0x0f like Asus A6Rp. More information: https://bugzilla.redhat.com/show_bug.cgi?id=785417 Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Fix error handling in patch_ca0132.cTakashi Iwai2012-02-071-14/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In patch_ca0132.c, the error returned from chipio_write() isn't checked always. Also, the power-up/down sequence isn't tracked properly in some error paths. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
OpenPOWER on IntegriCloud