summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: hda/realtek: remove redundant semicolonJesper Juhl2011-11-141-1/+1
| | | | | | | Having just one semicolon after a break statement is enough. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Mute unused capture sources for Realtek codecsTakashi Iwai2011-11-081-6/+7
| | | | | | | | | | When a Realtek codec has a matrix-style capture-source selection, we need to scan all connections instead of only imux items. Otherwise some input might be kept unmuted. Although the corresponding input must be dead so there should be no input from it, it's still safer to mute the route completely. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'modsplit-Oct31_2011' of ↵Linus Torvalds2011-11-061-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits) Revert "tracing: Include module.h in define_trace.h" irq: don't put module.h into irq.h for tracking irqgen modules. bluetooth: macroize two small inlines to avoid module.h ip_vs.h: fix implicit use of module_get/module_put from module.h nf_conntrack.h: fix up fallout from implicit moduleparam.h presence include: replace linux/module.h with "struct module" wherever possible include: convert various register fcns to macros to avoid include chaining crypto.h: remove unused crypto_tfm_alg_modname() inline uwb.h: fix implicit use of asm/page.h for PAGE_SIZE pm_runtime.h: explicitly requires notifier.h linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h miscdevice.h: fix up implicit use of lists and types stop_machine.h: fix implicit use of smp.h for smp_processor_id of: fix implicit use of errno.h in include/linux/of.h of_platform.h: delete needless include <linux/module.h> acpi: remove module.h include from platform/aclinux.h miscdevice.h: delete unnecessary inclusion of module.h device_cgroup.h: delete needless include <linux/module.h> net: sch_generic remove redundant use of <linux/module.h> net: inet_timewait_sock doesnt need <linux/module.h> ... Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in - drivers/media/dvb/frontends/dibx000_common.c - drivers/media/video/{mt9m111.c,ov6650.c} - drivers/mfd/ab3550-core.c - include/linux/dmaengine.h
| * sound: Add module.h to the previously silent sound usersPaul Gortmaker2011-10-311-0/+1
| | | | | | | | | | | | | | | | Lots of sound drivers were getting module.h via the implicit presence of it in <linux/device.h> but we are going to clean that up. So fix up those users now. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
* | ALSA: hda - Fix silent output regression with ALC861Takashi Iwai2011-11-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | The 3.1 kernel has a regression for ALC861 codec where no sound output is heard with the default setup. It's because the amps in DACs aren't properly unmuted while the output mixers are assigned only to pins. This patch fixes the missing initialization of DACs when no mixer is assigned to them. Tested-by: Andrea Iob <andrea_iob@yahoo.it> Cc: <stable@kernel.org> [v3.1+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda/realtek - Skip invalid digital out pinsTakashi Iwai2011-11-031-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | Some BIOS report invalid pins as digital output pins. The driver checks the connection but it doesn't do it fully correctly, and it leaves some undefined value as the audio-out widget, which makes the driver spewing warnings. This patch fixes the issue. Reference: https://bugzilla.novell.com/show_bug.cgi?id=727348 Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove unused variablesTakashi Iwai2011-11-021-3/+0
| | | | | | | | | | | | Just clean-up what GCC caught. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda/realtek - Don't create alt-stream for capture when unnecessaryTakashi Iwai2011-11-021-2/+6
|/ | | | | | | | | | | | | | When the driver finds multiple ADCs, it tries to create an alternative capture PCM stream. However, these secondary ADCs might be useless or in uncontrolled paths in some cases, e.g. when auto-mic or dynamic ADC-switching is enabled. Also, when only a single capture source is available, the multi-streams don't make sense, too. With this patch, the driver checks such condition and skips the alt stream appropriately. Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Fix missing volume controls with ALC260Takashi Iwai2011-10-271-5/+37
| | | | | | | | | | | | | | | ALC260 has multiple mixer widgets connected to the shared DAC, but the driver currently doesn't check this possibility and ignores when the DAC is shared with others. This resulted in the silent output from some routes because of lack of the amp setup. This patch adds the workaround for it by checking the route even with the shared DAC, but also checking the conflict with the existing control for the very same widget NID. Reference: https://bugzilla.novell.com/show_bug.cgi?id=726812 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix pin-config for ASUS W90VTakashi Iwai2011-10-261-0/+9
| | | | | | | | | The association numbers of surround/CLFE speaker pins aren't correctly mapped by the auto-parser. This patch fixes the CLFE speaker pin to the right assoc value (from 3 to 1). Tested-by: Nika Topolchanskaya <nanodesuu@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDA: Add new revision for ALC662David Henningsson2011-10-241-0/+2
| | | | | | | | | | | | The revision 0x100300 was found for ALC662. It seems to work well with patch_alc662. Cc: stable@kernel.org BugLink: http://bugs.launchpad.net/bugs/877373 Tested-by: Shengyao Xue <Shengyao.xue@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Acked-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Fix DAC assignments of multiple speakersTakashi Iwai2011-10-211-2/+8
| | | | | | | | | | | | When a device has multiple speakers and still has the auto-mute support, the driver copies line_outs[] to speaker_outs[]. And then it tries to assign DACs for both. This ended up with the assignment only to the primary DAC to all speakers. This patch fixes the situation by checking the duplicated LO/SPK case appropriately. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Cache COEF 0 valueTakashi Iwai2011-10-171-20/+28
| | | | | | | | The COEF #0 value represents a sort of device id, so it's supposedly constant while operation. Better to use the cached value instead of reading it at each time from the performance POV. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Clean up codec renamesTakashi Iwai2011-10-171-150/+139
| | | | | | | Use a static table for detecting the codec renames. Also clean up the error paths in each patch_*() function. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Use alc_codec_rename()Takashi Iwai2011-10-171-8/+9
| | | | | | Replaced with alc_codec_rename() in all possible places. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - ALC888S-VC remark to ALC886Kailang Yang2011-10-171-1/+17
| | | | | Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Check the error from alc_codec_rename()Takashi Iwai2011-10-171-14/+22
| | | | | | Should be a rare case, but... Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDA: Fixup Realtek headphone pin initializationDavid Henningsson2011-10-131-1/+1
| | | | | | | | | This typo caused headphone pins not to be initialized correctly. BugLink: https://bugs.launchpad.net/bugs/871582 Reported-by: Effenberg Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Choose more cleverly the primary outputsTakashi Iwai2011-10-061-1/+2
| | | | | | | | | | | When the speaker outputs are more than the headphone outputs, it implies that the system has surround speakers while the headphones are only for monitoring the front. In such a case, it's better to put speakers as the primary outputs so that the driver can build up and keep the surround setup. Otherwise the system will pick up the headphone as primary, and offers less channels than the speakers do support. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-09-261-1/+7
|\
| * ALSA: hda/realtek - Don't detect LO jack when identical with HPTakashi Iwai2011-09-261-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The spec->autocfg.line_out_pins[] may contain the same pins as hp_pins[] depending on the configuration. When they are identical, detecting the line_jack_present flag screws up the auto-mute because alc_line_automute() is called unconditionally at initialization while it won't be triggered by unsol events, thus the old line_jack_present flag is kept for the whole run. For fixing this buggy behavior, the driver needs to check whether the line-outs are really individual, and skip if same as headphone jacks. Reference: https://bugzilla.novell.com/show_bug.cgi?id=716104 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda/realtek - Avoid bogus HP-pin assignmentTakashi Iwai2011-09-261-1/+3
| | | | | | | | | | | | | | | | | | | | | | When the headphone pin is assigned as primary output to line_out_pins[], the automatic HP-pin assignment by ASSID must be suppressed. Otherwise a wrong pin might be assigned to the headphone and breaks the auto-mute. Reference: https://bugzilla.novell.com/show_bug.cgi?id=716104 Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
* | ALSA: HDA: Refactor Realtek's automuteDavid Henningsson2011-09-201-62/+74
| | | | | | | | | | | | | | Increase readability and understandability in the automute code. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-09-201-4/+5
|\ \ | |/
| * ALSA: hda/realtek - Fix auto-mute with HP+LO configurationTakashi Iwai2011-09-191-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the system has only the headphone and the line-out jacks without speakers, the current auto-mute code doesn't work. It's because the spec->automute_lines flag is wrongly referred in update_speakers(). This flag must be meaningless when spec->automute_hp_lo isn't set, thus they should be always coupled. The patch fixes the problem and add a comment to indicate the relationship briefly. BugLink: http://bugs.launchpad.net/bugs/851697 Reported-by: David Henningsson <david.henningsson@canonical.com> Tested-By: Jayne Han <jayne.han@canonical.com> Cc: stable@kernel.org (3.0) Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove the rest of ALC662 quirksTakashi Iwai2011-08-241-36/+10
| | | | | | | | | | | | | | The rest of ALC662 quirks are only for desktops, and they should work with the auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Prefer multi-io to speakers for realtek auto-parserTakashi Iwai2011-08-241-47/+51
| | | | | | | | | | | | | | | | When the multi-io jacks are available, parse them first and assign DACs before parsing speakers and headphones. This allows a better chance of surround I/O in some desktops and laptops with limited DACs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix Center/LFE mixer element creations for RealtekTakashi Iwai2011-08-241-1/+1
| | | | | | | | | | | | | | | | | | | | The commit 23c09b00900c3fa6672148738cad29d6fc6ded7c ALSA: hda - Support multiple speakers by Realtek auto-parser changes the return value from alc_get_line_out_pfx(), and it breaks the center/LFE mixer split check. The caller must test with a string "CLFE" now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Rewrite ALC269 laptop-amic,dmic,&co quirks with fixupsTakashi Iwai2011-08-231-38/+110
| | | | | | | | | | | | | | | | | | Similarly like ALC662 asus-mode* models, rewrite the laptop-amic and dmic models with the static pin-config tables. Now we can get rid of all alc269_quirks.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Rewrite ALC662 asus-mode* models with fixupsTakashi Iwai2011-08-231-5/+177
| | | | | | | | | | | | | | | | | | Re-implement the asus-mode[1-8] quirks with the pin-config tables. They are provided in case where BIOS is broken on the device, so it's not enabled in PCI SSID lookup table. User needs to specify it via model option explicitly if the driver doesn't work with the BIOS setup as is. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Support multiple headphones in Realtek auto-parserTakashi Iwai2011-08-231-14/+21
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove all ALC861 and ALC861-VD quirksTakashi Iwai2011-08-231-80/+18
| | | | | | | | | | | | | | | | Let's remove the rest of ALC861 and ALC861-VD quirks. If any breakage is found, it can be fixed easily via the pin-config table update. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Restore VREF50 setup for ALC861-VD dallas/hp modelsTakashi Iwai2011-08-231-2/+19
| | | | | | | | | | | | | | | | During the cleanup by commit 6727b12669f255dbf65b3d63c32cce1e3e967398, the specific setups for dallas and hp models, using VREF50 for mic pins, were lost. Fixed now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix initialization of multi-speaker output paths for RealtekTakashi Iwai2011-08-231-5/+12
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-08-231-11/+19
|\ \ | |/ | | | | | | Conflicts: sound/pci/hda/patch_realtek.c
| * ALSA: hda - Update jack-sense info even when no automute is setTakashi Iwai2011-08-231-4/+4
| | | | | | | | | | | | | | | | | | The internal states, jack_present and line_jack_present should be updated upon unsolicited events even if no automute is set. Otherwise the wrong state is referred when the automute behavior is changed by the mixer control. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix output-path initialization for Realtek auto-parserTakashi Iwai2011-08-231-7/+13
| | | | | | | | | | | | | | | | When the headphone or speaker output has no own DAC, initialize the path using the primary DAC. Otherwise the path won't be set properly and can result in the silence. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add "PCM" volume to vmaster slave listTakashi Iwai2011-08-181-0/+2
| | | | | | | | | | | | | | | | | | The new parser may use "PCM" volume, but it was missing the vmaster slave list, thus "Master" volume didn't control it. Reference: https://bugzilla.kernel.org/show_bug.cgi?id=41342 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Support multiple speakers by Realtek auto-parserTakashi Iwai2011-08-191-32/+164
| | | | | | | | | | | | | | | | Add the support of multiple speakers by Realtek auto-parser. When all speaker pins have individual DACs, create each speaker volume control. Otherwise, create a bind-volume control for all speaker outs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove ALC662 eeepc-p701 and ecs modelsTakashi Iwai2011-08-181-0/+13
| | | | | | | | | | | | These are confirmed to work with the auto-parser with pincfg fixups. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove ALC268 model quirksTakashi Iwai2011-08-161-38/+6
| | | | | | | | | | | | | | Get rid of the rest of ALC268 model quirks. They are all confirmed to work with the auto-parser, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Replace ALC269 quanta and lifebook models with fixupsTakashi Iwai2011-08-161-3/+55
| | | | | | | | | | | | | | | | Implement new fixup entries for Quanta FL1 and Fujitsu Lifebook specific COEF and pin configurations. Removed the model entries from alc269_quirks.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove ALC680 model quirksTakashi Iwai2011-08-151-44/+6
| | | | | | | | | | | | The auto-parser works fine. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove ALC268 Dell, Toshiba and Zapto model quirksTakashi Iwai2011-08-151-1/+1
|/ | | | | | These models work fine with the BIOS auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix digital-mic mono recording on ASUS Eee PCTakashi Iwai2011-08-041-0/+26
| | | | | | | | | | | | | | The digital-mic unit on ASUS Eee PC gives PDM signals instead of the normal stereo PCM, thus you can't record a mono stream from the stereo stream as is; the summed stereo signal results in almost zero level, and you'll hear only soft noise. As a workaround, use ALC269-specific COEF to manipulate the dmic route for mono, like used for ALC271x. This is implemented as a fix-up, thus it works only with model=auto or without REALTEK_QUIRKS Kconfig. Reported-and-tested-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix duplicated DAC assignments for RealtekTakashi Iwai2011-07-271-2/+5
| | | | | | | | | Copying hp_pins and speaker_pins from line_out_pins may confuse the parser, and it can lead to duplicated initializations for the same pin with a wrong DAC assignment. The problem appears in 3.0 kernel code. Cc: <stable@kernel.org> (for 3.0) Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix Oops with Realtek quirks with NULL adc_nidsTakashi Iwai2011-07-271-11/+11
| | | | | | | | | | Somce quirk models don't set adc_nids but let the parser filling it. But the recent code has unnecessary NULL-checks of spec->input_mux, and it resulted in NULL dereferences. This patch fixes that regression. Reported-and-tested-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Make CONFIG_SND_HDA_POWER_SAVE depending on CONFIG_PMTakashi Iwai2011-07-261-5/+5
| | | | | | | | It makes little sense to enable power-saving without PM. This removes SND_HDA_NEEDS_RESUME define so that we can use CONFIG_PM in all places. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix DAC filling for multi-connection pins in Realtek parserTakashi Iwai2011-07-231-1/+4
| | | | | | | | Fix a regression in the DAC filling code in patch_realtek.c. The already filled DACs in multiout.dac_nids[] were ignored because of num_dacs=0, thus always pointed to the first DAC. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Re-add need_dac_fix check for multi-io jacks of Realtek codecsTakashi Iwai2011-07-141-0/+3
| | | | | | | | | | During the rewrite, the check of spec->need_dac_fix and the corresponding num_dacs change was dropped from the channel-mode control. This patch re-adds it, and also enables need_dac_fix for ALC880 as default, as this feature was originally introduced to fix h/w bugs of this chip. Signed-off-by: Takashi Iwai <tiwai@suse.de>
OpenPOWER on IntegriCloud