- 12 1月, 2009 1 次提交
-
-
由 Takashi Iwai 提交于
snd-hda-intel driver used schedule_work() fot the delayed DMA pointer updates, but this has several potential problems: - it may block other eventsd works longer - it may deadlock when probing fails and flush_scheduled_work() is called during probe callback (as probe callback itself could be invoked from eventd) This patch adds an own workq for each driver instance to solve these problems. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 19 12月, 2008 1 次提交
-
-
由 Takashi Iwai 提交于
Added probe_only module option to hd-audio driver. This option specifies whether the driver creates and initializes the codec-parser after probing. When this option is set, the driver skips the codec parsing and initialization but gives you proc and other accesses. It's useful to see the initial codec state for debugging. The default of this value is off, so the default behavior is as same as before. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 11 12月, 2008 1 次提交
-
-
由 Takashi Iwai 提交于
Fixed the compile warning regarding the unused function when built with CONFIG_PM=n: sound/pci/hda/hda_intel.c:1905: warning: ‘snd_hda_codecs_inuse’ defined but not used snd_hda_codecs_inuse() is used only in the resume callback. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 07 12月, 2008 1 次提交
-
-
由 Rafael J. Wysocki 提交于
Move the restoration of the standard PCI configuration registers in the snd_hda_intel driver to a ->resume_early() callback executed with interrupts disabled, since doing that with interrupts enabled may lead to problems in some cases. This patch addresses the regression from 2.6.26 tracked as http://bugzilla.kernel.org/show_bug.cgi?id=12121 . Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 28 11月, 2008 1 次提交
-
-
由 Takashi Iwai 提交于
Moved power_save field initialization inside a proper ifdef to fix a build error without CONFIG_SND_HDA_POWER_SAVE. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 27 11月, 2008 2 次提交
-
-
由 Takashi Iwai 提交于
Move power_save option into hda_intel.c, and make a field in hda_bus, instead of keeping module parameters in separate files. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Minor clean ups: move snd_hda_codecs_inuse() into hda_intel.c and make static. Also, make snd_hda_query_supported_pcm() static as it's used only in hda_codec.c. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 25 11月, 2008 1 次提交
-
-
由 Takashi Iwai 提交于
Medion MD96630 has ALC268 codec on slot#2 although it's not used for any purpose. This codec conflicts with the primiary codec ALC888 on slot#0, and gives mixer errors. This patch adds a corresponding entry to probe_mask blacklist. Reference: Novell bnc#412528 https://bugzilla.novell.com/show_bug.cgi?id=412528Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 20 11月, 2008 1 次提交
-
-
由 Wu Fengguang 提交于
Replace 5 free-and-return-err blocks with goto-out-free ones. This makes the main logic more outstanding. Signed-off-by: NWu Fengguang <wfg@linux.intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 13 11月, 2008 1 次提交
-
-
由 Yang, Libin 提交于
The patch uses HD Audio PCI class code to detect AMD HD Audio cards. Signed-off-by: NLibin Yang <libin.yang@amd.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 07 11月, 2008 2 次提交
-
-
由 Takashi Iwai 提交于
BIOS on Dell Studio Desktop tells wrong codec probe masks. This patch gives the preset mask value to avoid invalid access. Reference: Novell bug#440907 https://bugzilla.novell.com/show_bug.cgi?id=440907Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
When an error occurs during the codec probing, typically accessing to an non-existing codec slot, the controller chip gets often screwed up and can no longer communicate with the codecs. This patch adds a preparation phase just to probe codec addresses before actually creating codec instances. If any error occurs during this probing phase, the driver resets the controller to recover. This will (hopefully) fix the famous "single_cmd" errors. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 06 11月, 2008 1 次提交
-
-
由 Takashi Iwai 提交于
The hda_bus ops callback take struct hda_bus pointer. Also, the command callback takes the composed command word, instead of each small bits in arguments. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 29 10月, 2008 1 次提交
-
-
由 Takashi Iwai 提交于
The current snd-hda-intel driver seems blocking the power-off on some devices like eeepc. Although this is likely a BIOS problem, we can add a workaround by disabling IRQ lines before power-off operation. This patch adds the reboot notifier to achieve it. The detailed problem description is found in bug#11889: http://bugme.linux-foundation.org/show_bug.cgi?id=11889Tested-by: NLuiz Fernando N. Capitulino <lcapitulino@mandriva.com.br> Cc: stable@kernel.org Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 28 10月, 2008 1 次提交
-
-
由 Takashi Iwai 提交于
Removed the old workaround to avoid the non-existing codec slot. The current code should work without that workaround. If any, we can add a quirk table. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 21 10月, 2008 1 次提交
-
-
由 Arjan van de Ven 提交于
Use the newly introduced pci_ioremap_bar() function in sound/. pci_ioremap_bar() just takes a pci device and a bar number, with the goal of making it really hard to get wrong, while also having a central place to stick sanity checks. Signed-off-by: NArjan van de Ven <arjan@linux.intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 13 10月, 2008 1 次提交
-
-
由 Takashi Iwai 提交于
Added the infrastructure for dynamic stream allocation on HD-audio. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 10 10月, 2008 1 次提交
-
-
由 Wei Ni 提交于
When read RIRB buffer immediately after RIRB interrupt received, sometimes the data will be "0x0". If we wait for some time, the data in buffer will be correct. This issue only occurred with AMD Phenom cpu. So we set this "needs_damn_long_delay" flag. Signed-off-by: NWei Ni <wni@nvidia.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
- 09 9月, 2008 1 次提交
-
-
由 Takashi Iwai 提交于
Allow probing of 4 codecs on known good situations. On some known bad situations, it should be avoided. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
- 29 8月, 2008 1 次提交
-
-
由 Joseph Chan 提交于
Add a workaround for bad DMA-position reporting on VIA chipset. Signed-off-by: NJoseph Chan <josephchan@via.com.tw> [modified and cleaned up by tiwai] Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
- 25 8月, 2008 3 次提交
-
-
由 Takashi Iwai 提交于
Check the continuity of allocated pages to reduce the BDL size as much as possible so that it can use more than 1MB buffers. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
由 Takashi Iwai 提交于
Clean up SG-buffer helper functions and macros. Helpers take substream as arguments now. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
由 Takashi Iwai 提交于
When bdl_pos_adj=0 is given, disable the position-check and the delayed period update mechanism. Usually bdl_pos_adj=0 is set only for the debugging purpose on really broken hardwares. It's better to disable the extra complexity in such a case. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
- 21 8月, 2008 1 次提交
-
-
由 Peer Chen 提交于
Enable the snoop for nvidia hda controller to avoid data coherence issue. Signed-off-by: NPeer Chen <peerchen@gmail.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 13 8月, 2008 1 次提交
-
-
由 Takashi Iwai 提交于
Kill snd_assert() in sound/pci/*, either removed or replaced with if () with snd_BUG_ON(). Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
- 12 8月, 2008 2 次提交
-
-
由 Libin Yang 提交于
Signed-off-by: NLibin Yang <libin.yang@amd.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Seth Heasley 提交于
This patch adds the Intel Ibex Peak (PCH) HD Audio Controller DeviceIDs. Signed-off by: Seth Heasley <seth.heasley@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 16 7月, 2008 1 次提交
-
-
由 Takashi Iwai 提交于
It seems NVidia and other hardwares require the alignment for period update timing. For satisfying this condition, align the position adjustment for delayed wake-up to the initial bdl_pos_adj value. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 16 6月, 2008 2 次提交
-
-
由 Takashi Iwai 提交于
Use the standard upper_32_bits() instead of own macro. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
由 Takashi Iwai 提交于
Use bdl_pos_adj=32 as default except for Intel hardwares confirmed to work with bdl_pos_adj=1. Looks like ATI and NVidia require this higher value. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
- 13 6月, 2008 5 次提交
-
-
由 Takashi Iwai 提交于
The pending IRQ handling is a very hackish workaround and should be avoided as much as possible via a larger bdl_pos_adj option value. Put a warning message if this situation occurs so that the user may have a chance to notice that something is wrong. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
由 Takashi Iwai 提交于
ATI SB controllers seem to report the DMA ahead in the amount of FIFO. Thus bdl_pos_adj should be 32 for them as default. Also, the default value is set to -1, which means to make the driver to choose the appropriate value. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
由 Takashi Iwai 提交于
The option bdl_pos_adj should be provided for each card instance instead of a global one because the value depends rather on each controller-chip. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
由 Takashi Iwai 提交于
position_fix=3 is the option to correct the DMA position with the FIFO size. But, it never worked correctly, and we have now more other workarounds for the DMA position fixes. Thus better to remove it. Also, change POS_FIX_NONE to POS_FIX_LPIB to represent its real role better. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
由 Takashi Iwai 提交于
Added a new option, bdl_pos_adj, to adjust the delay of IRQ-wakeup timing. Most HD-audio hardwares have a problem that a BDL IRQ is issued before actually the data and the DMA pointer are updated. We have already a mechanism to force to delay snd_pcm_period_elapsed() calls via workq, but this costs much CPU, and typically the delay is within one sample. Thus, it's more clever to adjust the BDL entries instead. The new option adds the size of the delay in frames. As default, it's set to 1 -- that is, one sample delay. Even the hardware is really correct, one sample delay is relatively harmless in comparison with reporting wrong positions. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
- 06 6月, 2008 1 次提交
-
-
由 Takashi Iwai 提交于
It turned out that some ICH9-based boards use SD3 for the audio codec where the current driver code doesn't probe. Since we have a better codec slot check now, it must be safe to increase this to 4. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 27 5月, 2008 2 次提交
-
-
由 Kailang Yang 提交于
Added the missing PCI ID for ICH9 controller (8086:2911) Signed-off-by: NKailang Yang <kailang@realtek.com.tw> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Kailang Yang 提交于
Add the new PCI ID 0x6549 0x1200 Teradici controller. Signed-off-by: NKailang Yang <kailang@realtek.com.tw> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 19 5月, 2008 1 次提交
-
-
由 Takashi Iwai 提交于
Many HD-audio controllers seem inaccurate about the IRQ timing of PCM period updates. This has caused problems on audio quality; e.g. JACK doesn't work with two periods. This patch fixes the problem by checking the current DMA position at IRQ handler and delays the period-update via a workq if it's inaccurate. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NJaroslav Kysela <perex@perex.cz>
-
- 24 4月, 2008 1 次提交
-
-
由 Jeff Garzik 提交于
free_irq() calls synchronize_irq() for you, so there is no need for drivers to manually do the same thing (again). Thus, calls where sync-irq immediately precedes free-irq can be simplified. However, during this audit several bugs were noticed, where free-irq is preceded by a "irq >= 0" check... but the sync-irq call is not covered by the same check. So, where sync-irq could not be eliminated completely, the missing check was added. Signed-off-by: NJeff Garzik <jgarzik@redhat.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-