summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: hda/realtek - Reuse init_hook for ALC269VB coef setupTakashi Iwai2012-03-071-10/+5
| | | | | | | | Move the currently unused spec->init_hook at the beginning of the init sequence so that the recently added ALC269VB coef setup can be put there. The alc_init() is again clean without an ugly check. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2012-03-072-2/+19
|\ | | | | | | | | Conflicts: sound/pci/hda/patch_realtek.c
| * ALSA: hda/realtek - Apply the coef-setup only to ALC269VBKailang Yang2012-03-071-0/+8
| | | | | | | | | | | | | | | | | | | | The coef setup in alc269_fill_coef() was designed only for ALC269VB model, and this has some bad effects for other ALC269 variants, such as turning off the external mic input. Apply it only to ALC269VB. Signed-off-by: Kailang Yang <kailang@realtek.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - add quirk to detect CD input on Gigabyte EP45-DS3Marton Balint2012-03-061-0/+9
| | | | | | | | | | | | | | | | | | My CD input got lost in commit 68ef0561efe494143516df38c03a16b837b8e79c. Raymond helped me to add the necessary pin fixup to make it appear again. In fact, this is basically his patch. It fixes alsa bug #5541. Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * Merge tag 'asoc-3.3' of ↵Takashi Iwai2012-03-041-2/+2
| |\ | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus A driver specific fix that wasn't noticed as the OpenMoko guys have been stuck on 2.6.39 for a very long time now and are just starting to catch up again.
| | * ASoC: neo1973: fix neo1973 wm8753 initializationDenis 'GNUtoo' Carikli2012-03-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The neo1973 driver had wrong codec name which prevented the "sound card" from appearing. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
* | | ALSA: hda - Add Gigabyte GA-MA790X to the beep whitelistTakashi Iwai2012-03-061-0/+1
| | | | | | | | | | | | | | | | | | Its BIOS suppresses the PC beep although it's implemented. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - fix broken automute/autoswitch for RealtekDavid Henningsson2012-03-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The recent addition of volume-knob widget in the auto-parser broke automute/autoswitch for some Realtek devices. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2012-03-0212-35/+79
|\| | | | | | | | | | | | | | | | | | | | Speaker-Out renames are merged. Conflicts: sound/pci/hda/patch_realtek.c
| * | ALSA: hda - Kill hyphenated namesTakashi Iwai2012-03-024-8/+8
| | | | | | | | | | | | | | | | | | Kill hyphens from "Line-Out" name strings, as suggested by Mark Brown. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Merge tag 'asoc-3.3' of ↵Takashi Iwai2012-03-012-4/+10
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus A small fix for the SSI driver and a fix for system shutdown with modern devices. Most of the modern devices will never get shut down normally with a visible kernel log as the systems they're in tend not to shut down often and when they do it's usually in form factors that don't have a user visible console.
| | * ASoC: i.MX SSI: Fix DSP_A format.Javier Martin2012-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to i.MX27 Reference Manual (p 1593) TXBIT0 bit selects whether the most significant or the less significant part of the data word written to the FIFO is transmitted. As DSP_A is the same as DSP_B with a data offset of 1 bit, it doesn't make any sense to remove TXBIT0 bit here. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
| | * ASoC: dapm: Check for bias level when powering downMark Brown2012-02-231-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent enhancements in the bias management means that we might not be in standby when the CODEC is idle and can have active widgets without being in full power mode but the shutdown functionality assumes these things. Add checks for the bias level at each stage so that we don't do transitions other than the ON->PREPARE->STANDBY->OFF ones that the drivers are expecting. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * | ALSA: hda - Add a fake mute featureTakashi Iwai2012-02-293-3/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some codecs don't supply the mute amp-capabilities although the lowest volume gives the mute. It'd be handy if the parser provides the mute mixers in such a case. This patch adds an extension amp-cap bit (which is used only in the driver) to represent the min volume = mute state. Also modified the amp cache code to support the fake mute feature when this bit is set but the real mute bit is unset. In addition, conexant cx5051 parser uses this new feature to implement the missing mute controls. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42825 Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Always set HP pin in unsol handler for STAC/IDT codecsTakashi Iwai2012-02-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | A bug report with an old Sony laptop showed that we can't rely on BIOS setting the pins of headphones but the driver should set always by itself. Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: azt3328 - Fix NULL ptr dereference on cards without OPL3Alban Bedel2012-02-251-2/+1
| | | | | | | | | | | | | | | | | | | | | opl3->private_data was set even if opl3 could not be created. Signed-off-by: Alban Bedel <albeu@free.fr> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda/realtek - Fix resume of multiple input sourcesTakashi Iwai2012-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When there are multiple input sources, the driver wrongly overwrites with the value of the last input source on other slots at resume. Thus the primary input source may be shown wrongly. Reported-and-tested-by: Julian Sikorski <belegdol@gmail.com> Cc: <stable@kernel.org> [v3.1+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: snd-usb-caiaq: Fix the return of XRUNMark Hills2012-02-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 3702b08 added a lock, but did not account for the case of SNDRV_PCM_POS_XRUN, which would get immediately overwritten. This could be bundled into one if-else-if statement, but the goto helps to clarify the 'exceptional' case. Thanks to Andreas Pape for spotting this. Signed-off-by: Mark Hills <mark@pogo.org.uk> Acked-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Merge tag 'asoc-3.3' of ↵Takashi Iwai2012-02-212-16/+17
| |\| | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus A couple of small, driver specific fixes - nothing too exciting going on.
| | * ASoC: ak4642: fixup HeadPhone L/R dapm settingsKuninori Morimoto2012-02-211-15/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current ak4642 driver had wrong dapm settings for headphone L/R. If you select headphone L, and select R after that, headphone L setting was removed by R settings. This patch fixes it up. It provides just "Headphone Enable" to user side Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * ASoC: wm8962: Fix sidetone enumeration textsMark Brown2012-02-141-1/+1
| | | | | | | | | | | | | | | | | | | | | The sidetone enumeration texts have left and right swapped. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
| * | ALSA: hda/realtek - Fix surround output regression on Acer Aspire 5935Takashi Iwai2012-02-171-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous fix for the speaker on Acer Aspire 59135 introduced another problem for surround outputs. It changed the connections on the line-in/mic pins for limiting the routes, but it left the modified connections. Thus wrong connection indices were written when set to 4ch or 6ch mode. This patch fixes it by restoring the right connections just after parsing the tree but before the initialization. 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/conexant - Clear unsol events on unused pinsTakashi Iwai2012-02-291-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | It seems that Lenovo machines (or codec chip itself?) leave the unsol event tags and the enablement-flag from other pins bogusly even on the unused pins. Although this shouldn't be too critical, it's better to clear them up sanely. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Enable docking-station SPDIF for ThinkpadTakashi Iwai2012-02-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The docking-station of Thinkpad X200 & co supports also an SPDIF output, and the corresponding pin 0x1c has to be enabled for using it. Reported-and-tested-by: Sebastian Glita <sebastian.glita@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Add position_fix=4 (COMBO) optionTakashi Iwai2012-02-281-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new position_fix option value, 4, as a combo mode to use LPIB for playbacks and POSBUF for captures. It's the way recommended by Intel hardware guys. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Fix audio playback support on HP Zephyr systemVitaliy Kulikov2012-02-281-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | Enables port E of IDT 92HD91 codec as output and sets correct output phase between ports E and D and high pass filter. Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - add id for Atom Cedar Trail HDMI codecWu Fengguang2012-02-231-0/+2
| | | | | | | | | | | | | | | | | | | | | [the order sorted by tiwai] Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda/via - Add a few sanity checksTakashi Iwai2012-02-221-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added sanity checks in a few places not to assume the pins having the certain amp caps or the input-source being always assigned to a mux. No actual bugs have been triggered by these, but surely better to be a bit more robust. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda/via - Don't create duplicated boost controlsTakashi Iwai2012-02-221-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | The driver may create duplicated mic boost controls when there are multiple mics with the very same type / location, and this leads to the error at actual kcontrol creation. It needs to check the validity of the created control and add a proper index if it's duplicated. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda/realtek - Small code cleanupsTakashi Iwai2012-02-211-135/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few clean-ups for post-static-quirk time: - Call alc_auto_init_std() statically in alc_init() instead of setting spec->init_hook in each caller. spec->init_hook field is left unused for any future use. - Move the call of set_capture_mixer() to to alc_parse_auto_config() instead of each caller. - Get rid of the ADC-filling and imux check in each parser function. This is no longer needed since the auto-parser always check ADCs and imux. It was only for the static quirks. - Kill unused defines Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda/realtek - Fix the wrong offset for two-speaker systemsTakashi Iwai2012-02-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | When the machine has two speakers but wants to put more multi-io jacks, the parser shouldn't consider about the shared DAC but try to assign the individual DACs. Otherwise the channel mapping would be fairly confused and lead to the wrong DACs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda/realtek - Fix the possible conflicts of Bass Speaker nameTakashi Iwai2012-02-211-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | When the multi-io is added to the two speaker output configuration, the parser would try to add yet another "Bass Speaker" control since it checks only cfg->line_outs. Add a workaround for it by simply passing the channel name in the case of multi-io outputs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda/realtek - Create individual mute switches for shared DACTakashi Iwai2012-02-211-30/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | Even if the outputs are using shared DACs, we can still create individual mute siwtches since they are assigned per pin. This allows to create, e.g. Speaker and Bass Speaker mute switches while the single volume is used for these outputs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda/realtek - Fix possible Oops with NULL input_muxTakashi Iwai2012-02-211-0/+3
| | | | | | | | | | | | | | | | | | | | | When BIOS is damn crazy and gives no pin-config at all, the driver might lead to a NULL dereference. Let's add a NULL check for such a case. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda/realtek - Parse aa-loopback items dynamicallyTakashi Iwai2012-02-211-82/+22
| | | | | | | | | | | | | | | | | | | | | Similarly in patch_via.c, parse the active analog-loopback connections and create a list dynamically rather than static arrays. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda/realtek - Remove the last static quirks for ALC882Takashi Iwai2012-02-213-1092/+92
| | | | | | | | | | | | | | | | | | | | | | | | Resitance is futile. The remaining static model quirks for Apple machines with ALC882-compatible codecs are converted to the auto-parser now. We can remove all alc*_quirks.c finally. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda/realtek - Add model=fixup not to apply fix-upsTakashi Iwai2012-02-201-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | If anyone wants to debug the driver and avoid the existing fix-ups, pass model=nofixup option. Then the driver will skip to pick up the fixup list. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda/realtek - Drop all ALC880 static quirksTakashi Iwai2012-02-203-856/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Finally the all static quirks for ALC880 are converted to the auto-parser. Since we are never sure whether the BIOS on so many old machines are really correct, the quirk table entries are copied as they are, but just providing the proper pin-config values accordingly. Since alc880_quirks.c is removed, alc882_quirks.c has to be adjusted slightly to be built again. There might be some compile warnings due to the remaining alc882 quirks, but these shall be killed sooner or later, I don't care it much at this point. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | 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>