mainThe OpenVortex Project - Support: sr #102682, On au8820 left&right channells...

 
 

sr #102682: On au8820 left&right channells are swapped

Submitter:  None
Submitted:  Tue 30 Dec 2003 10:40:31 AM UTC
   
 
Category:  None Priority:  5 - Normal
Severity:  2 - Minor Status:  None
Privacy:  Public Assigned to:  None
Originator Email:  -email is unavailable- Open/Closed:  Open
Operating System:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Thu 15 Dec 2005 07:35:13 AM UTC, comment #9: 

It seem that some DMA registers are not initialized for au8820

/* Init audio engine. */
vortex_adbdma_init(vortex);
hwwrite(vortex->mmio, VORTEX_ENGINE_CTRL, 0x0); //, 0xc83c7e58, 0xc5f93e58
+ifdef CHIP_AU8820
+       hwwrite(vortex->mmio, 0x1061c, 0);
+       hwwrite(vortex->mmio, 0x10620, 0);
+       hwwrite(vortex->mmio, 0x10624, 0);
+endif
vortex_adb_init(vortex);

Anonymous
Wed 16 Nov 2005 01:13:23 AM UTC, comment #8: 

It seem that some au8820 is using AK4531 instead of AC97 codec

http://www.ixbt.com/multimedia/vortexcards.html

Anonymous
Sun 22 May 2005 12:58:54 PM UTC, comment #7: 

What model and revision is your AU8820 card ? You can find it out with "lspci"

Anonymous
Fri 20 May 2005 09:16:39 AM UTC, comment #6: 

What is the AC97 Codec on your au8820 ?

cat /proc/asound/au8820/codec97#0/ac97#0-0+regs

Anonymous
Fri 28 May 2004 11:59:41 PM UTC, comment #5: 

au88x0 driver depends on snd_vortex_hw_free() to remove the routes and release the adb,src,mixin,..resources.

Although snd_vortex_hw_params() can free allocated resources and allocate new resources.

Most alsa applications such as aplay, arecord, xmms, mplayer, xine , .... do not call snd_pcm_hw_free(). They just call snd_pcm_close() and exit.

Anonymous
Fri 30 Apr 2004 06:10:23 PM UTC, comment #4: 

If you can get correct left and right channels only on the first play after boot or restart the driver, left and right channels are swapped afterwards. ( Similar to support #102939 front and rear channels swapped in au8830 )

You can dump the adb routes tables at the end of allocroute()  to check whether the adb routes tables are cleaned up properly.

Anonymous
Sun 11 Apr 2004 04:41:01 AM UTC, comment #3: 

au8820.h

#define ROUTE_MASK 0x3fff
#define     ADB_MASK   0x7f
#define ADB_SHIFT 0x7

au8810.h and au8830.h

#define ROUTE_MASK 0xffff
#define SOURCE_MASK 0xff00
#define     ADB_MASK   0xff

Take a look of vortex_adb_addroutes() and vortex_adb_delroutes() in au88x0_core.c


Anonymous
Sat 27 Mar 2004 07:52:46 AM UTC, comment #2: 

Can you hear the correct channels when you use "aplay" to play those wave files in your Aureal Win9x Driver CD ?

> aplay outls.wav
> aplay outrs.wav


What is the subsystem vendor id and device id of your au8820 ?

> lspci -nvv


Which AC97 codec is presented on your au8820 ?

> cat /proc/asound/au8820/codec97#0/ac97#0-0


> cat /proc/asound/au8820/codec97#0/ac97#0-0+regs


Anonymous
Thu 25 Mar 2004 04:48:46 PM UTC, comment #1: 

This bug is being fixed. The CVS here on savannah is little outdated. Use the official ALSA release instead.

Anonymous
Tue 30 Dec 2003 10:40:31 AM UTC, original submission:  

In most cases, channels are swapped (left goes through right speaker, and right channel through left speaker). But seldom (about 5% cases) all works correctly. I've tried to explore this bug by un-commenting debugging printk's in driver sources and analaysing logs when channels are swapped or not. I've found the following difference:

When all OK:
Dec 28 20:40:07 fpfe kernel: Vortex: periods 16, period_bytes 4096, channels = 2
Dec 28 20:40:07 fpfe kernel: vortex: ResManager: type 0 out 0
Dec 28 20:40:07 fpfe kernel: vortex: ResManager: type 1 out 0
Dec 28 20:40:07 fpfe kernel: vortex: ResManager: type 2 out 2
Dec 28 20:40:07 fpfe kernel: vortex: ResManager: type 1 out 1
Dec 28 20:40:07 fpfe kernel: vortex: ResManager: type 2 out 3
Dec 28 20:40:07 fpfe kernel: vortex: SRC 0, d=0x0, esi=0xc, esp10=0x0, ebp=0xf
Dec 28 20:40:07 fpfe kernel: vortex: SRC 1, d=0x1, esi=0xc, esp10=0x0, ebp=0xf
Dec 28 20:40:07 fpfe kernel: vortex: start 0
Dec 28 20:40:07 fpfe kernel: vortex: pointer = 0x13c
Dec 28 20:40:07 fpfe kernel: vortex: pointer = 0x1000
Dec 28 20:40:07 fpfe kernel: vortex: pointer = 0x1120
....

And when channels are swapped:
Dec 28 20:39:17 fpfe kernel: Vortex: periods 16, period_bytes 4096, channels = 2
Dec 28 20:39:17 fpfe kernel: vortex: ResManager: type 0 out 0
Dec 28 20:39:17 fpfe kernel: vortex: ResManager: type 1 out 0
Dec 28 20:39:17 fpfe kernel: vortex: ResManager: type 2 out 2
Dec 28 20:39:17 fpfe kernel: vortex: ResManager: type 1 out 1
Dec 28 20:39:17 fpfe kernel: vortex: ResManager: type 2 out 3
Dec 28 20:39:17 fpfe kernel: vortex: SRC 0, d=0x0, esi=0xc, esp10=0x0, ebp=0xf
Dec 28 20:39:17 fpfe kernel: vortex: SRC 1, d=0x1, esi=0xc, esp10=0x0, ebp=0xf
Dec 28 20:39:17 fpfe kernel: vortex: start 0
Dec 28 20:39:17 fpfe kernel: vortex: pointer = 0x13a
Dec 28 20:39:18 fpfe kernel: vortex: pointer = 0x1022
Dec 28 20:39:18 fpfe kernel: vortex: pointer = 0x1142
...

The difference is in 'pointer' values: when channels are swapped, its first value is 0x13a, and when all OK it is 0x13c.

In attachment there is full part of syslog due to ouput of the driver. Only the last sound fragment was played correctly. The result of 'lspci -vvv' is in the same file.

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #3814:  messages added by None (38KiB - application/octet-stream - Part of syslog and result of 'lspci -vvv')

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only logged-in users can vote.

 

Follows 1 latest change.

Date Changed by Updated Field Previous Value => Replaced by
2003-12-30 None Attached File- Added messages, #6

Back to the top

Powered by Savane 3.14-f13d.
Corresponding source code