Use 31 bit DMA mask for Audigy
PATCH 1/1 Use 31 bit DMA mask for Audigy
I think this should go in 1.0.10 final. It seems to "fix" ALSA bug #1276.
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.
sound/emu10k1.h renamed from sound/emu10k1.h-orig +2 -1
@@ -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
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course Free Certification Exam for All Training Attendees Through End of 2005 Visit http://www.jboss.com/services/certification for more information
Takashi Iwai
AppliedAt Tue, 25 Oct 2005 00:08:16 -0400,
Quoted 7 lines · Lee Revell
I think this should go in 1.0.10 final. It seems to "fix" ALSA bug #1276.
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.
Yes, ZONE_KERNEL won't be over 2GB usually on 32bit.
Quoted 4 lines
The OSS driver actually uses a 29 bit DMA mask for both devices, this seems like overkill for now.
Signed-off-by Lee Revell <[email protected]>
Thanks, applied to CVS.
Takashi
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course Free Certification Exam for All Training Attendees Through End of 2005 Visit http://www.jboss.com/services/certification for more information