summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_intel.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'fix/hda' into for-linusTakashi Iwai2010-03-171-0/+9
|\
| * ALSA: hda: Use LPIB and 6stack-dig for eMachines T5212Daniel T Chen2010-03-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | BugLink: https://bugs.launchpad.net/bugs/538895 The OR has verified that both position_fix=1 and model=6stack-dig are necessary to have capture function properly. (The existing 3stack-6ch model quirk seems to be incorrect.) Reported-by: Reuben Bailey <reuben.e.bailey@gmail.com> Tested-by: Reuben Bailey <reuben.e.bailey@gmail.com> Cc: <stable@kernel.org> Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Disable MSI for Nvidia controllerTakashi Iwai2010-03-151-0/+7
| | | | | | | | | | | | | | | | | | | | Judging from the member of enable_msi white-list, Nvidia controller seems to cause troubles with MSI enabled, e.g. boot hang up or other serious issue may come up. It's safer to disable MSI as default for Nvidia controllers again for now. Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
| * ALSA: hda - New Intel HDA controllerVitaliy Kulikov2010-03-151-0/+1
| | | | | | | | | | | | | | Added a PCI controller id on new Dell laptops. Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/hda' into for-linusTakashi Iwai2010-03-101-0/+1
|\ \ | |/
| * ALSA: hda - Sound MSI fallout on a Asus mobo NVIDIA MCP55Ralf Gerbig2010-03-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | without the following patch audio ssttuutteerrs on ASUS M2N32-SLI PREMIUM ACPI BIOS Revision 1304 the sound device is: 00:0e.1 Audio device: nVidia Corporation MCP55 High Definition Audio (rev a2) worked with 2.6.32 Signed-off-by: Ralf Gerbig <rge@quengel.org> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/hda' into for-linusTakashi Iwai2010-03-081-2/+7
|\ \ | |/
| * ALSA: hda - Add ASRock mobo to MSI blacklistMichele Ballabio2010-03-071-0/+1
| | | | | | | | | | | | | | This avoids a lockup at boot. Signed-off-by: Michele Ballabio <barra_cuda@katamail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * Merge branch 'fix/hda' into topic/hdaTakashi Iwai2010-03-071-7/+4
| |\
| * | ALSA: hda: Use LPIB for a Biostar Microtech boardDaniel T Chen2010-03-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BugLink: https://launchpad.net/bugs/523953 The OR has verified that position_fix=1 is necessary to work around errors on his machine. Reported-by: MMarking Cc: <stable@kernel.org> Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda: Use LPIB for Dell Latitude 131LDaniel T Chen2010-03-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BugLink: https://launchpad.net/bugs/530346 The OR has verified that position_fix=1 is necessary to work around errors on his machine. Reported-by: Tom Louwrier Cc: <stable@kernel.org> Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Support max codecs to 8 for nvidia hda controllerWei Ni2010-03-041-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support max codecs to 8 for nvidia hda controller. Change AZX_MAX_CODECS to 8, and add "#define AZX_DEFAULT_CODECS 4" for default driver. Set azx_max_codecs to 8 for nvidia controller. Signed-off-by: Wei Ni <wni@nvidia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'topic/hda' into for-linusTakashi Iwai2010-03-011-11/+17
|\ \ \ | |/ /
| * | ALSA: hda - enable snoop for Intel Cougar PointSeth Heasley2010-02-231-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>
| * | ALSA: hda-intel: Add position_fix quirk for ASUS M2V-MX SE.Paul Menzel2010-02-221-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>
| * | ALSA: Typo. s/distrubs/disturbs/Paul Menzel2010-02-221-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2010-02-091-0/+6
| |\ \
| * \ \ Merge branch 'fix/hda' into topic/hdaTakashi Iwai2010-02-051-3/+19
| |\ \ \
| * | | | ALSA: hda - Define max number of PCM devices in hda_codec.hTakashi Iwai2010-01-281-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define the constant rather in the common header file. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda - Change the AZX_MAX_PCMS to 10Wei Ni2010-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In hda_codec.c, it has define "[HDA_PCM_TYPE_HDMI] = { 3, 7, 8, 9, -1 },", it support up to device 9 for HDMI. But in hda_intel.c, it only define AZX_MAX_PCMS as 8. So if it have 4 hdmi codecs, when run azx_attach_pcm_stream(), it will show error "Invalid PCM device number 8", and "... number 9", and return "-EINVAL". We should change the AZX_MAX_PCMS to 10. Signed-off-by: Wei Ni <wni@nvidia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda - Add support for more the 8 streamsWei Ni2010-01-261-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In azx_stream_start() and azx_stream_stop(), it use azx_readb/azx_writeb to read/write SIE, it just enable/disable 8 streams. But according to the HDA spec, it support 30 streams, and the new HDA controller will support more then 8 streams. So we should use azx_readl/azx_writel to read/write SIE. Signed-off-by: Wei Ni <wni@nvidia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda_intel: ALSA HD Audio patch for Intel Cougar Point DeviceIDsSeth Heasley2010-01-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the Intel Cougar Point (PCH) HD Audio Controller DeviceIDs. Signed-off-by: Seth Heasley <seth.heasley@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | Merge branch 'topic/misc' into for-linusTakashi Iwai2010-03-011-27/+5
|\ \ \ \ \ | |_|_|_|/ |/| | | |
| * | | | Merge branch 'fix/misc' into topic/miscTakashi Iwai2010-02-171-3/+22
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: sound/pci/hda/patch_realtek.c
| * | | | | sound: use DEFINE_PCI_DEVICE_TABLEAlexey Dobriyan2010-02-091-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>
| * | | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-12-251-6/+15
| |\ \ \ \
| * \ \ \ \ Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-12-231-0/+1
| |\ \ \ \ \
| * | | | | | ALSA: hda - Check class to identify Nvidia controller chipsTakashi Iwai2009-12-181-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>
* | | | | | | ALSA: hda - Correct ASUA blacklist for MSI brokennessTakashi Iwai2010-02-151-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>
* | | | | | ALSA: hda - use WARN_ON_ONCE() for zero-division detectionTakashi Iwai2010-02-121-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>
* | | | | ALSA: hda-intel: Avoid divide by zero crashJody Bruchon2010-02-091-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>
* | | | ALSA: cosmetic: make hda intel interrupt name consistent with othersMaxim Levitsky2010-02-051-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>
* | | | ALSA: hda - Delay switching to polling mode if an interrupt was missingMaxim Levitsky2010-02-051-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>
* | | | ALSA: hda - Add an ASUS mobo to MSI blacklistTakashi Iwai2010-01-271-0/+1
| |_|/ |/| | | | | | | | | | | | | | | | | | | | Sid Boyce reported that his machine locks up without enable_msi=0 option. This looks like another ASUS mobo with Nvidia combo. Reported-by: Sid Boyce <sboyce@blueyonder.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - HDMI sticky stream tag supportWu Fengguang2009-12-251-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>
* | ALSA: hda - Add MSI blacklistTakashi Iwai2009-12-221-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>
* ALSA: hda - Add PCI IDs for Nvidia G2xx-seriesStefan Ringel2009-12-141-0/+3
| | | | | Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* intelhdmi - dont power off HDA linkWu Fengguang2009-12-111-1/+2
| | | | | | | | | | | | | For codecs without EPSS support (G45/IbexPeak), the hotplug event will be lost if the HDA is powered off during the time. After that the pin presence detection verb returns inaccurate info. So always power-on HDA link for !EPSS codecs. KarL offers the fact and Takashi recommends to flag hda_bus. Thanks! Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Terradici HDA controllers does not support 64-bit modeJaroslav Kysela2009-12-091-0/+5
| | | | | | | | Confirmed from vendor and tests in RedHat bugzilla #536782 . Signed-off-by: Jaroslav Kysela <perex@perex.cz> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add position_fix quirk for HP dv3Takashi Iwai2009-12-011-0/+1
| | | | | | | | | HP dv3 requires position_fix=1. Reference: Novell bnc#555935 https://bugzilla.novell.com/show_bug.cgi?id=555935 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add a position_fix quirk for MSI Wind U115Takashi Iwai2009-11-301-0/+1
| | | | | | | MSI Wind U115 seems to require position_fix=1 explicitly. Otherwise it screws up PulseAudio. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - add beep_mode module parameterJaroslav Kysela2009-11-161-0/+15
| | | | | | | | | | | | | | The beep_mode parameter for snd-hda-intel module allows to choose among different digital beep device registation to the input layer. 0 = do not register to the input layer 1 = register to the input layer all time 2 = use "Beep Switch" control exported to user space mixer applications Also, introduce CONFIG_SND_HDA_INPUT_BEEP_MODE for default value. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-11-161-4/+8
|\
| * ALSA: hda - Don't initialize CORB/RIRB for single_cmd modeTakashi Iwai2009-11-071-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far, CORB/RIRB still remains even if the driver is switched to the single_cmd mode. The specification says that this should be disabled, but I hoped this isn't the case; indeed most devices worked together with CORB/RIRB. However, Poulsbo (US15W) seems problematic with this setup, and it requires to disable CORB/RIRB when single_cmd is used. Now this patch disables CORB/RIRB initialization when the single_cmd mode is used. Also the unsolicited event is disabled because it can't work without RIRB. Reported-and-tested-by: Troy Kisky <troy.kisky@boundarydevices.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add reboot notifier to each codecTakashi Iwai2009-11-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Add reboot notifier to each codec so that it can do some workarounds needed for reboot. So far, patch_sigmatel.c calls its shutup routine for avoiding noises at reboot on some HP machines. References: Novell bnc#544779 http://bugzilla.novell.com/show_bug.cgi?id=544779 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-11-051-0/+1
|\ \ | |/
| * ALSA: hda_intel: Add the Linux device ID for NVIDIA HDA controllerpeer chen2009-10-301-0/+1
| | | | | | | | | | | | | | Add the generic device ID for NVIDIA HDA controller. Signed-off-by: Peer Chen <peerchen@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Switch to polling mode before disabling MSITakashi Iwai2009-10-301-8/+8
| | | | | | | | | | | | | | | | When any codec communication error happens, try to switch to the polling mode first before turning off MSI. MSI gets more stable nowadays, thus we should keep it on as much as possible. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Enable MSI as defaultTakashi Iwai2009-09-281-8/+8
|/ | | | | | | | | | Since the recent kernel can handle MSI properly on non-Intel platforms, let's enable MSI as default. If any borken device is found, we can add the quirk entry to the list, which is currently empty. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add HP Pavilion dv4t-1300 to MSI whitelistDaniel T Chen2009-09-241-0/+1
| | | | | | | | | BugLink: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=547994 Enable MSI by default for this Pavilion model. Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
OpenPOWER on IntegriCloud