浏览代码

[ALSA] emu10k1 - Use 31 bit DMA mask for Audigy

Modules: EMU10K1/EMU10K2 driver

It appears that either the Audigy DMA engine or the Linux kernel cannot
handle 32 bit DMA with this device.  Problem manifests as noise when
using more than 2GB of RAM, possibly only on 64 bit machines.

The OSS driver actually uses a 29 bit DMA mask for both devices, this
seems like overkill for now.

Signed-off-by: Lee Revell <rlrevell@joe-job.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Lee Revell 19 年之前
父节点
当前提交
9529a5bae1
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      include/sound/emu10k1.h

+ 2 - 1
include/sound/emu10k1.h

@@ -48,7 +48,8 @@
 
 /* FIXME? - according to the OSS driver the EMU10K1 needs a 29 bit DMA mask */
 #define EMU10K1_DMA_MASK	0x7fffffffUL	/* 31bit */
-#define AUDIGY_DMA_MASK		0xffffffffUL	/* 32bit */
+#define AUDIGY_DMA_MASK		0x7fffffffUL	/* 31bit FIXME - 32 should work? */
+						/* See ALSA bug #1276 - rlrevell */
 
 #define TMEMSIZE        256*1024
 #define TMEMSIZEREG     4