summaryrefslogtreecommitdiff
path: root/sound/pci/hda
AgeCommit message (Collapse)AuthorFilesLines
2010-02-09sound: use DEFINE_PCI_DEVICE_TABLEAlexey Dobriyan1-1/+1
Use DEFINE_PCI_DEVICE_TABLE() to make PCI device ids go to .devinit.rodata section, so they can be discarded in some cases, and make them const. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-01-21ALSA: hda - AD1988 codec - fix SPDIF-input mixer initialization (unmute)Jaroslav Kysela1-1/+10
The SPDIF-input pin 0x1c is muted by default in hardware. Unmute appropriate pin to get captured samples instead zeros. Tested on Lenovo Thinkstation. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-01-08ALSA: hda - support OLPC XO-1.5 DC inputDaniel Drake1-23/+190
The XO's audio hardware is wired up to allow DC sensors (e.g. light sensors, thermistors, etc) to be plugged in through the microphone jack. Add sound mixer controls to allow this mode to be enabled and tweaked. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-01-08ALSA: hda - Configure XO-1.5 microphones at capture timeDaniel Drake1-40/+85
The XO-1.5 has a microphone LED designed to indicate to the user when something is being recorded. This light is controlled by the microphone bias voltage and it is currently coming on all the time. This patch defers the microphone port configuration until when recording is actually taking place, fixing the behaviour of the LED. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-01-08Merge branch 'topic/hda' of ↵Jaroslav Kysela12-153/+687
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into devel
2010-01-08ALSA: hda - conexant - Fixed microphone mixer for HP Compaq Presario F700Ken Prox1-0/+50
Added patch for Hewlett-Packard Company Device Subsystem id - 103c:30ea. Signed-off-by: Ken Prox <kprox@users.sourceforge.net> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-12-28ALSA: hda: Refactor powerdown for Realtek HDA codecsDaniel T Chen1-22/+38
This patch converts the alc889 Aspire-specific powerdown to a generic one. Like the previous effort, it currently only handles Front and PCM but can be easily extended to cover other nids. The existing hook for alc889 Aspire-specific remains enabled. Upon further testing, I've added its use for ALC861_AUTO as well. Following patches will enable them for other quirks. Tested-by: Dr. David Alan Gilbert <linux@treblig.org> Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-28ALSA: hda: Add powerdown for Analog Devices HDA codecsDaniel T Chen1-0/+68
This patch ports powerdown fixes to AD198x. Currently we only turn off Front and HP for suspend, but this is easily extended for additional nids. Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-27ALSA: hda - Use strict_strtoul()Takashi Iwai2-24/+31
Rewrite the codes to use strict_strtoul() instead of simple_strtoul(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-27ALSA: hda - Add sanity check for storing the user-defined pin configsTakashi Iwai1-0/+3
Check whether the given NID is a pin widget before storing the user-defined pin configs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-27ALSA: hda - Fix click noises at suspend/free with Realtek codecsTakashi Iwai1-0/+7
Call snd_hda_shutup_pins() at suspend and free for avoiding click noises. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-27ALSA: hda - Add snd_hda_shutup_pins() helper functionTakashi Iwai3-11/+21
Add a common helper function for clearing pin controls before suspend. Use the pincfg array instead of looking through all widget tree. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-26ALSA: hda - Add more hints for GPIO setup of IDT/STAC codecsTakashi Iwai1-0/+14
gpio_led, gpio_led_polarity and gpio_mute are added now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-25Merge branch 'fix/hda' into topic/hdaTakashi Iwai5-16/+27
2009-12-25ALSA: hda - HDMI sticky stream tag supportWu Fengguang1-6/+15
When we run the following commands in turn (with CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0), speaker-test -Dhw:0,3 -c2 -twav # HDMI speaker-test -Dhw:0,0 -c2 -twav # Analog The second command will produce sound in the analog lineout _as well as_ HDMI sink. The root cause is, device 0 "reuses" the same stream tag that was used by device 3, and the "intelhdmi - sticky stream id" patch leaves the HDMI codec in a functional state. So the HDMI codec happily accepts the audio samples which reuse its stream tag. The proposed solution is to remember the last device each azx_dev was assigned to, and prefer to 1) reuse the azx_dev (and hence the stream tag) the HDMI codec last used 2) or assign a never-used azx_dev for HDMI With this patch and the above two speaker-test commands, HDMI codec will use stream tag 8 and Analog codec will use 5. The stream tag used by HDMI codec won't be reused by others, as long as we don't run out of the 4 playback azx_dev's. The legacy Analog codec will continue to use stream tag 5 because its device id is 0 (this is a bit tricky). Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-23Merge branch 'fix/hda' into for-linusTakashi Iwai4-15/+40
2009-12-23ALSA: hda - Add STAC9205 PCI_QUIRK for Dell Vostro 1700Anisse Astier1-0/+3
Signed-off-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-23ALSA: hda - Set mixer name after codec patchTakashi Iwai1-5/+5
Postpone the mixer name setup after the codec patch since the codec patch may change the codec name string in itself. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-23ALSA: hda - Fix NID association for capture mixersTakashi Iwai7-40/+12
Fix the wrong implementation of NID <-> kctl mapping for capture mixers introduced by the ocmmit 5b0cb1d850c26893b1468b3a519433a1b7a176be. So far, the driver returns an error at probe. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-23Merge branch 'fix/hda' into topic/hdaTakashi Iwai5-23/+141
2009-12-22ALSA: hda - Add Bass Speaker switch for HP dv7Takashi Iwai1-0/+57
The bass speaker is controlled via GPIO5. Tested-by: Wael Nasreddine <mla@nasreddine.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-22ALSA: hda - Add MSI blacklistTakashi Iwai1-0/+1
A machine with AMD CPU with Nvidia board doesn't work with MSI. Reported-by: Robert J. King <peritus@gurunetwork.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-22ALSA: hda - Add support for the new 27 inch IMacsRafael Avila de Espindola1-1/+21
With the attached patch I am able to use the sound on a new IMac 27. What works: *) Internal speakers *) Internal microphone *) Headphone I don't have an external mic or a SPDIF device to test the rest. Signed-off-by: Rafael Avila de Espindola <rafael.espindola@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-22ALSA: hda - Fix NULL dereference with enable_beep=0 optionTakashi Iwai1-9/+10
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-21Merge branch 'fix/misc' into for-linusTakashi Iwai1-1/+1
2009-12-21Merge branch 'fix/hda' into for-linusTakashi Iwai2-37/+391
2009-12-21Merge remote branch 'alsa/fixes' into fix/hdaTakashi Iwai3-5/+3
2009-12-21ALSA: HDA: add powersaving hook for RealtekHector Martin1-0/+36
The current Realtek code makes no specific provision for turning stuff off. The codec chip is placed into low-power mode generically, but this doesn't turn off any external hardware connected to it, in particular external amplifiers. This patch creates a hook function that is called by the codec suspend/resume functions. It ought to disable any external hardware in a device-specific way. I've implemented a generic ALC889 function that sets the EAPD pin properly, and used it for the Acer Aspire 8930G which can benefit from this feature. On my laptop, this results in ~0.5W extra savings. Signed-off-by: Hector Martin <hector@marcansoft.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-21ALSA: HDA: remove useless mixers on Aspire 8930GHector Martin1-1/+20
This patch removes some extra mixers that do nothing on the Acer Aspire 8930G. The CD mixer is useless because the SATA DVD/Blu-Ray drive has no analog audio output, and the Side mixer is useless because we max out at 6ch anyway. Signed-off-by: Hector Martin <hector@marcansoft.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-21ALSA: HDA: simplify Aspire 8930G verb arrayHector Martin1-4/+2
This patch just simplifies the 8930G verb array a bit. Just use the common ALC889 EAPD verb array to make things more consistent. The file is already huge enough already. Signed-off-by: Hector Martin <hector@marcansoft.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-21ALSA: hda: Set Front Mic to input vref 50% for Lenovo 3000 Y410Daniel T Chen1-1/+9
BugLink: https://bugs.launchpad.net/bugs/479373 The OR has verified with hda-verb that the internal microphone needs VREF50 set for audible capture. Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-20ALSA: hda/realtek: Remove extra .capsrc_nids initialization for ALC889_INTELJaroslav Kysela1-2/+0
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-12-20Merge branch 'fix/hda' of ↵Jaroslav Kysela4-31/+338
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into fixes
2009-12-19ALSA: Use kzalloc for allocating only one thingJulia Lawall1-1/+1
Use kzalloc rather than kcalloc(1,...) The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ @@ - kcalloc(1, + kzalloc( ...) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-18ALSA: hda - Check class to identify Nvidia controller chipsTakashi Iwai1-26/+4
Instead of listing all individual PCI IDs, check the matching with the PCI class together with the vendor id for Nvidia. This simplifies the pci id entries. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-18ALSA: hda - Fix quirk for Maxdata obook4-1Takashi Iwai1-1/+1
Works fine with the auto-parser. Reference: Novell bnc#564940 https://bugzilla.novell.com/show_bug.cgi?id=564940 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-17ALSA: hda - Fix NULL dereference in kctl-NID mapping in patch_realtek.cTakashi Iwai1-1/+4
capsrc_nids can be NULL, and adc_nids should be taken as fallback. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-17ALSA: hda - Fix missing capsrc_nids for ALC88xTakashi Iwai1-0/+6
Some model quirks missed the corresponding capsrc_nids. This resulted in non-working capture source selection. Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
2009-12-17ALSA: hda - Make use of beep device found in Dell Vostro 1015nEinar Rünkaru1-0/+4
Conexant CX20583-10Z has digital beep device with volume control. Making use of them. Signed-off-by: Einar Rünkaru <einarry@smail.ee> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-17ALSA: hda - Fixed internal mic initialization for Dell Vostro 1015Einar Rünkaru1-6/+33
Fixed initialization of internal mic and added internal mic boost control Renamed analog mic boost control to ext mic boost contol. Name pair analog/digital seems too confusing for a normal user. Signed-off-by: Einar Rünkaru <einarry@smail.ee> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-17Merge branch 'fix/hda' into topic/hdaTakashi Iwai1-24/+282
2009-12-17ALSA: hda - More ALC663 fixes and support of compatible chipsKailang Yang1-24/+282
1. Add more ASUS NB model. 2. Fixed alc663_m51va_setup M51VA has Digital Mic that NID is 0x12. The record source index is 0x9 for ALC663. So, to modify the alc663_m51va_setup function to index 0x9 and add analog Mic aupport function alc663_mode1_setup. 3. Add ASUS mode7 and mode8 modules for ALC663 Signed-off-by: Kailang Yang <kailang@realtek.com.tw> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-12-15Merge branch 'for-linus' of ↵Linus Torvalds3-0/+12
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: ac97_codec - increase timeout for analog sections to 5 second ASoC: Correct code taking the size of a pointer ALSA: hda - Add PCI IDs for Nvidia G2xx-series ALSA: sound/isa/gus: Correct code taking the size of a pointer ALSA: hda: Fix max PCM level to 0 dB for AD1981_HP ALSA: hda: Use ALC260_WILL quirk for another Acer model (0x1025007f)
2009-12-15tree-wide: convert open calls to remove spaces to skip_spaces() lib functionAndré Goddard Rosa1-4/+3
Makes use of skip_spaces() defined in lib/string.c for removing leading spaces from strings all over the tree. It decreases lib.a code size by 47 bytes and reuses the function tree-wide: text data bss dec hex filename 64688 584 592 65864 10148 (TOTALS-BEFORE) 64641 584 592 65817 10119 (TOTALS-AFTER) Also, while at it, if we see (*str && isspace(*str)), we can be sure to remove the first condition (*str) as the second one (isspace(*str)) also evaluates to 0 whenever *str == 0, making it redundant. In other words, "a char equals zero is never a space". Julia Lawall tried the semantic patch (http://coccinelle.lip6.fr) below, and found occurrences of this pattern on 3 more files: drivers/leds/led-class.c drivers/leds/ledtrig-timer.c drivers/video/output.c @@ expression str; @@ ( // ignore skip_spaces cases while (*str && isspace(*str)) { \(str++;\|++str;\) } | - *str && isspace(*str) ) Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com> Cc: Julia Lawall <julia@diku.dk> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Jeff Dike <jdike@addtoit.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Neil Brown <neilb@suse.de> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Henrique de Moraes Holschuh <hmh@hmh.eng.br> Cc: David Howells <dhowells@redhat.com> Cc: <linux-ext4@vger.kernel.org> Cc: Samuel Ortiz <samuel@sortiz.org> Cc: Patrick McHardy <kaber@trash.net> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-12-15Merge remote branch 'alsa/devel' into topic/hdaTakashi Iwai13-143/+455
2009-12-15Merge branch 'fix/hda' into for-linusTakashi Iwai3-0/+12
2009-12-15ALSA: hda - simplify usage of HDA_SUBDEV_AMP_FLAGJaroslav Kysela8-38/+30
The HDA_SUBDEV_NID_FLAG is duplicate for amplifier control elements. Move get_amp_nid_() call to the snd_hda_ctl_add() function. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-12-15ALSA: hda - introduce HDA_SUBDEV_AMP_FLAG (ControlAmp in proc)Jaroslav Kysela9-23/+50
The purpose of this changeset is to show information about amplifier setting in the codec proc file. Something like: Control: name="Front Playback Volume", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Control: name="Front Playback Switch", index=0, device=0 ControlAmp: chs=3, dir=In, idx=2, ofs=0 Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-12-15ALSA: hda - add more NID->Control mappingJaroslav Kysela11-122/+415
This set of changes add missing NID values to some static control elemenents. Also, it handles all "Capture Source" or "Input Source" controls. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2009-12-14ALSA: hda - Add PCI IDs for Nvidia G2xx-seriesStefan Ringel1-0/+3
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>