Bug 58880

Summary: SB Live! (emu10k1) sound distortion problems and their solution
Product: [Retired] Red Hat Linux Reporter: Costa Tsaousis <costa>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED ERRATA QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2   
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
URL: http://www.uwsg.iu.edu/hypermail/linux/kernel/0111.0/index.html#1695
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-01-26 14:56:05 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Costa Tsaousis 2002-01-26 14:56:00 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.78 [en] (X11; U; Linux 2.4.9-21smp i686)

Description of problem:
RH kernels above 2.4.7 produce noice, scratches and generally distort sound when
a SoundBlaster Live card (emu10k1) is used.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Install a RH 2.4.9 kernel (all versions)
2. Use the play command to play wavs (and possibly others, such a few games,
etc)
RH Bugzilla contains a bunch of such incidents.
	

Actual Results:  The sound starts with a scratch, or it is totally distorted.

Expected Results:  The sound produced should be clear.

Additional info:

This is a problem that has to do with the high memory kernel option.
emu10k1 seems that cannot operate correctly when the high memory option is
turned on (with either 4 or 64GB value).

I have verified that with this option turned off, emu10k1 works as supposed.
Additionally the kernel mailing list has a fix for this, so that emu10k1 will
work correctly with high memory. Use this link and follow the thread to find the
solution:

http://www.uwsg.iu.edu/hypermail/linux/kernel/0111.0/1487.html

The solution is very simple. Change:

#define EMU10K1_DMA_MASK 0xffffffff /* DMA buffer mask for pci_alloc_consist */ 

to

#define EMU10K1_DMA_MASK 0x7fffffff /* DMA buffer mask for pci_alloc_consist */ 

and the problem should dissappear.

Comment 1 Arjan van de Ven 2002-02-11 16:31:16 UTC
If this makes the difference then this is wrong too ;(

Anyway we have a emu10k1_new driver in the 2.4.9-21 erratum which lots of 
people see work better.

Comment 2 Costa Tsaousis 2002-02-11 18:25:04 UTC
ok. The solution may be wrong (afterall I tryed to distribute the suggestions 
of others), but the cause, I believe, is not wrong.

I have compiled 2.4.15 with and without HIMEM. When HIMEM was on (either 4 or 
64GB) I had distortions while when it was off it worked perfectly.

Both compilations from exactly the same source tree, all other options the 
same.

If that makes a difference, my machine is i686 SMP.

Comment 3 Costa Tsaousis 2002-02-11 18:25:52 UTC
Also, 2.4.9-21smp still has the problem.

Comment 4 Arjan van de Ven 2002-02-11 18:30:43 UTC
the emu10k1_new driver ? (you need to change emu10k1 to emu10k1_new in
/etc/modules.conf)