summaryrefslogtreecommitdiff
path: root/sound/pci
AgeCommit message (Collapse)AuthorFilesLines
2010-03-01Merge branch 'topic/hda' into for-linusTakashi Iwai8-484/+844
2010-03-01Merge branch 'topic/misc' into for-linusTakashi Iwai112-626/+2892
2010-03-01Merge branch 'fix/misc' into for-linusTakashi Iwai2-1/+9
2010-02-25ALSA: hda - Add/fix ALC269 FSC and Quanta modelsKailang Yang1-1/+7
Specify proper quirk models for FSC and Quanta machines with ALC269 codec. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-25ALSA: hda - Add ALC670 codec supportKailang Yang1-16/+24
- Fixed alc_subsystem_id( ) typo and add new function. - !(ass & 0x100000)) ==> Delete this check. It is unnecessary check. - Add porti - ALC670 support Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-24ALSA: hda - remove unnecessary msleep on power state transitionsZhang, Rui1-2/+2
This will save ~15ms boot time. The first 10ms sleep was introduced in commit d2595d86e5 for (buggy) Cxt codecs, so better to limit the sleep to the problem hardware. For the second 10ms sleep, the HDA spec says: Power State[1:0]: 00: Node Power state (D0) is fully on. 01: Node Power state (D1) allows for (does not require) the lowest possible power consuming state from which it can return to the "fully on" state (D0) within 10 ms, excepting analog pass through circuits (e.g., CD analog playback) which must remain fully on. 10: Node Power state (D2) allows for (does not require) the lowest possible power consuming state from which it can return to the "fully on" state (D0) within 10 ms. For modems, this is the "wake on ring" power state. 11: Node Power state (D3) allows for (does not require) lowest possible power consuming state under software control. Note that any low power state set by software must retain sufficient operational capability to properly respond to subsequent software Power State command. So 10ms is actually the max wait time. It should be safe to remove/reduce it and rely on the loop of 1ms-sleeps. CC: Marc Boucher <marc@linuxant.com> CC: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-23ALSA: add support for Macbook Air 2,1 internal speakerReimundo Heluani1-0/+64
Add support for Macbook Air 2,1 (late 2008) internal speaker and headphones. Create a "mba21" model for snd-hda-intel. Signed-off-by: Reimundo Heluani <rheluani@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-23ALSA: hda - enable snoop for Intel Cougar PointSeth Heasley1-1/+5
This patch enables snoop, eliminating static during playback. This patch supersedes the previous Cougar Point audio patch. Signed-off-by: Seth Heasley <seth.heasley@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-23ALSA: hda - Remove identical definitions for macmini3 modelTakashi Iwai1-29/+1
The channel mode definitions for macmini3 model are identical with mb5. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-22Merge remote branch 'alsa/fixes' into fix/miscTakashi Iwai1-0/+6
2010-02-22ALSA: via82xx: add quirk for D1289 motherboardClemens Ladisch1-0/+6
Add a headphones-only quirk for the Fujitsu Siemens D1289. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Reported-and-tested-by: Marc Haber <mh+alsa201002@zugschlus.de> Cc: <stable@kernel.org> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-22ALSA: hda-intel: Add position_fix quirk for ASUS M2V-MX SE.Paul Menzel1-0/+1
With PulseAudio and an application accessing an input device like `gnome-volume-manager` both have high CPU load as reported in [1]. Loading `snd-hda-intel` with `position_fix=1` fixes this issue. Therefore add a quirk for ASUS M2V-MX SE. The only downside is, when now exiting for example MPlayer when it is playing an audio file a high pitched sound is outputted by the speaker. $ lspci -vvnn | grep -A10 Audio 20:01.0 Audio device [0403]: VIA Technologies, Inc. VT1708/A [Azalia HDAC] (VIA High Definition Audio Controller) [1106:3288] (rev 10) Subsystem: ASUSTeK Computer Inc. Device [1043:8290] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 17 Region 0: Memory at fbffc000 (64-bit, non-prefetchable) [size=16K] Capabilities: <access denied> Kernel driver in use: HDA Intel [1] http://sourceforge.net/mailarchive/forum.php?thread_name=1265550675.4642.24.camel%40mattotaupa&forum_name=alsa-user Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-22ALSA: Typo. s/distrubs/disturbs/Paul Menzel1-1/+1
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-22ALSA: hda - Clean up Intel Mac unsol codesTakashi Iwai1-64/+17
Use the standard unsol_event callback with each setup callback for IntelMac models with Realtek ALC885 codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-22ALSA: hda - Add Macmini 3,1 supportLuke Yelavich1-0/+136
BugLink: https://bugs.edge.launchpad.net/ubuntu/+source/linux/+bug/343989 Add a model quirk for the NVIDIA based Macmini hardware, aka Macmini 3,1. The pinout is almost identical to the mb5 quirk, except for no microphone and the line-in mixer controls being on a different index. Everything works in 2ch mode, but as I am not sure what needs to be changed for 6ch mode, or whether the Mac Mini's chip supports 6ch mode, I have simply duplicated the code from the mb5 quirk for the mac mini chmode management. The new model parameter for this quirk is "macmini3". Signed-off-by: Luke Yelavich <luke.yelavich@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-22ALSA: hda: Use 3stack quirk for Toshiba Satellite L40-10QDaniel T Chen1-1/+1
BugLink: https://bugs.launchpad.net/bugs/524948 The OR has verified that the existing model=laptop-eapd quirk does not function correctly but instead needs model=3stack. Make this change so that manual corrections to module-init-tools file(s) are not required. Reported-by: Lasse Havelund <lasse@havelund.org> CC: <stable@kernel.org> Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-18ALSA: cs46xx - fix some typosFlorian Zumbiehl1-4/+4
Signed-off-by: Florian Zumbiehl <florz@florz.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-18ALSA: cs46xx - Do test writes to register AC97_REC_GAIN inFlorian Zumbiehl1-1/+1
snd_cs46xx_codec_reset() bypassing the register cache, so as to not clobber the cached register value during resume. Signed-off-by: Florian Zumbiehl <florz@florz.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-17Merge branch 'fix/misc' into topic/miscTakashi Iwai6-44/+176
Conflicts: sound/pci/hda/patch_realtek.c
2010-02-17ALSA: Echoaudio, fix Guru Meditation #00000005.48454C50Giuliano Pochini1-1/+3
This patch fixes a division by zero error in the irq handler. There is a small window between the hw_params() callback and when runtime->frame_bits is set by ALSA middle layer. When another substream is already running, if an interrupt is delivered during that window the irq handler calls pcm_pointer() which does a division by zero. The patch below makes the irq handler skip substreams that are initialized but not started yet. Cc to Clemens Ladisch because he proposed an alternate fix. For more information, please read the original thread in the linux-kernel mailing list: http://lkml.org/lkml/2010/2/2/187 Signed-off-by: Giuliano Pochini <pochini@shiny.it> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-16Merge branch 'topic/misc' of ↵Jaroslav Kysela91-328/+612
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into devel
2010-02-16Merge branch 'fixes' into develJaroslav Kysela12-59/+88
2010-02-16Merge branch 'fix/hda' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Correct ASUA blacklist for MSI brokenness
2010-02-15ALSA: hda - Correct ASUA blacklist for MSI brokennessTakashi Iwai1-1/+1
The MSI blacklist entry for ASUS mobo added in the commit 8ce28d6abff34886d3797b25324c940471b99164 was based on the alsa-info output wrongly posted. Fix the id to the right one now. Reported-by: Sid Boyce <sboyce@blueyonder.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-15ALSA: Echoaudio - Add suspend support #2Giuliano Pochini3-78/+222
This patch adds rearranges parts of the initialization code and adds suspend and resume callbacks. This patch adds suspend and resume callbacks. It also rearranges parts of the initialization code so it can be used in both the first initialization (when the module is loaded we also have to load default settings) and the resume callback (where we have to restore the previous settings). Signed-off-by: Giuliano Pochini <pochini@shiny.it> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-15ALSA: Echoaudio - Add suspend support #1Giuliano Pochini15-80/+115
Move the controls init code outside the init_hw() function because is must not be called during resume. This patch moves the code that initializes the card's controls with default valued from the init_hw() function into a separated set_mixer_defaults() function (one for each of the 16 supported cards). This change is necessary because during resume we must resurrect the hardware without losing the previous settings. set_mixer_defaults() must be called only once when the module is loaded. Signed-off-by: Giuliano Pochini <pochini@shiny.it> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-15ALSA: Echoaudio - Add firmware cache #2Giuliano Pochini2-4/+41
This patch implements a simple cache for the firmware files when CONFIG_PM is defined. This patch changes get_firmware(), free_firmware() and adds free_firmware_cache(). The first two functions implement a very simple cache and the latter is used to actually release all the stored firmwares when the module is unloaded. When CONFIG_PM is not enabled those functions act as before, that is free_firmware() releases the firmware immediately and free_firmware_cache() does nothing. Signed-off-by: Giuliano Pochini <pochini@shiny.it> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-15ALSA: Echoaudio - Add firmware cache #1Giuliano Pochini18-65/+69
Changes the way the firmware is passed through functions. When CONFIG_PM is enabled the firmware cannot be released because the driver will need it again to resume the card. With this patch the firmware is passed as an index of the struct firmware card_fw[] in place of a pointer. That same index is then used to locate the firmware in the firmware cache. Signed-off-by: Giuliano Pochini <pochini@shiny.it> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-13ALSA: hda - Add support for Lenovo IdeaPad U150Greg Alexander1-4/+126
Add patch for the Conexant 5066 HDA codec to support the Lenovo IdeaPad U150 Signed-off-by: Greg Alexander <greigs@galexander.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-12Merge branch 'fix/hda' of ↵Linus Torvalds1-6/+3
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - use WARN_ON_ONCE() for zero-division detection
2010-02-12ALSA: hda - use WARN_ON_ONCE() for zero-division detectionTakashi Iwai1-6/+3
Replace the zero-division warning message with WARN_ON_ONCE() per the advice by Linus. This shouldn't happen, but if it happens, it's possible that the bug happens often due to buggy IRQs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-12Merge branch 'fix/hda' of ↵Linus Torvalds1-0/+6
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda-intel: Avoid divide by zero crash
2010-02-09Merge branch 'fix/hda' into topic/hdaTakashi Iwai1-0/+6
2010-02-09ALSA: hda-intel: Avoid divide by zero crashJody Bruchon1-0/+6
On my AMD780V chipset, hda_intel.c can crash the kernel with a divide by zero for as-yet unknown reasons. A simple check for zero prevents it, though the problem that causes it remains. Since the workaround is harmless and won't affect anyone except victims of this bug, it should be safe; moreover, because this crash can be triggered by a user-mode application, there are denial of service implications on the systems affected by the bug without the patch. Signed-off-by: Jody Bruchon <jody@nctritech.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-09sound: use DEFINE_PCI_DEVICE_TABLEAlexey Dobriyan66-69/+69
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-02-09ALSA: hda - Fix default polarity of mute-LED GPIO on 92HD83x/88x codecsTakashi Iwai1-4/+4
The previous commit caused a regression on HP laptops with 92HD83x/88x codecs. The default polarity of mute-LED GPIO is inverted on these devices. Reference: Novell bnc#578190 https://bugzilla.novell.com/show_bug.cgi?id=578190 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-08ALSA: hda - Remove static gpio_led setup via modelTakashi Iwai1-6/+0
We have now a better mute-LED GPIO detection, and no need to assign the values statically per model option. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-08ALSA: hda - Merge HP mute-LED status callback on both IDT 92HD7x and 8x codecsTakashi Iwai1-30/+27
Merge the mute-LED status callback function for both IDT 92HD7x and 8x codecs to one function. Also it's changed to check all DACs, and called in the initialization to sync with the current status. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-08ALSA: hda - Detect HP mute-LED GPIO setup from GPIO countsTakashi Iwai1-13/+8
The GPIO pin number for the mute LED control on HP laptops can be determined more easily by checking the number of available GPIO pins of the codec chip. On a small package with up to 3 GPIOs, GPIO 0 is used while GPIO 3 is used for others. This fixes the missing mute GPIO for some HP laptops with new codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-05Merge remote branch 'alsa/fixes' into for-linusTakashi Iwai4-41/+32
2010-02-05ALSA: ice1724 - aureon - fix wm8770 volume offsetJaroslav Kysela1-5/+7
The volume register is from 0..0x7f and 0..0x1a range is mute. Also, fix mute combining in wm_vol_put(). The wrong behaviour was noticed by Peter Christensen. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-05Merge branch 'fix/hda' into topic/hdaTakashi Iwai2-6/+23
2010-02-05ALSA: cosmetic: make hda intel interrupt name consistent with othersMaxim Levitsky1-1/+1
This renames the interrupt name in /proc/interrupt. HDA Intel -> hda_intel This also eliminates space from the name, probably helping some parsers. Don't think anybody depends on this name in userspace Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-05ALSA: hda - Delay switching to polling mode if an interrupt was missingMaxim Levitsky1-2/+17
My sound codec seems sometimes (very rarely) to omit interrupts (ALC268) However, interrupt mode still works. Thus if we get timeout, poll the codec once. If we get 3 such polls in a row, then switch to polling mode. This patch is maybe an bandaid, but this might be a workaround for hardware bug. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-05ALSA: ice1712: fix: lock samplerate when samplerate locking is enabledSebastien Alaiwan1-0/+9
I found that the sampling rate locking setting of the ice1712 sound driver was only half-respected : when the driver was locked to, let's say, 44100Hz, and a usermode app was requesting 48000Hz playback, the request was succesful although the soundcard would continue to run at 44100Hz. Here's a patch that will make those requests to fail. Signed-off-by: Sebastien Alaiwan <sebastien.alaiwan@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-04ALSA: ctxfi - fix PTP address initializationJaroslav Kysela3-36/+25
After hours of debugging, I finally found the reason why some source and runtime combination does not work. The PTP (page table pages) address must be aligned. I am not sure how much, but alignment to PAGE_SIZE is sufficient. Also, use ALSA's page allocation routines to ensure proper virtual -> physical address translation. Cc: <stable@kernel.org> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-04ALSA: hda - Add support of ALC665Kailang Yang1-68/+44
- Add support for ALC665 - Add more ASUS model - Modify common patch for ALC272 ALC273 ALC661 ALC662 ALC663 ALC665 Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-04ALSA: hda - Add ALC269VB supportKailang Yang1-100/+246
- Add new models ALC269VB_AMIC ALC269VB_DMIC - Add alc269vb_laptop_dmic_setup The record source index Dmic is 0x6 for ALC269VB. - Change eeepc words for ALC269 - Modify init_verb tables of patch_alc269 patch_alc662 patch_alc882 - Modify common patch for ALC270 ALC269VB ALC275 Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-04ALSA: hda - Remove superfluous init verb entries for ALC88[235]Kailang Yang1-63/+12
The default values are no need to be set in init_verbs. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-04ALSA: hda - Fix docking output for IDT 92HD8xx codecsCharles Chin1-17/+13
This patch fixes docking output support for IDT 92HD81/83/88 family codecs. Typically one of ports 0xE or 0xF is used for docking output, while only port 0xF is common on all the three codec families. We don't want the pin to select the analog mixer here. Signed-off-by: Charles Chin <Charles.Chin@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>