* Re: au8830 - front / rear channels swapped after first play and Surround40
@ 2005-03-12 9:27 Raymond
2005-03-13 1:10 ` Manuel Jander
0 siblings, 1 reply; 3+ messages in thread
From: Raymond @ 2005-03-12 9:27 UTC (permalink / raw)
To: alsa-devel; +Cc: openvortex-dev
> > 3) Is the bug related to "vortex: IRQ fifo error" ?
> No, thats not a bug. Thats normal.
http://lists.gnu.org/archive/html/openvortex-dev/2004-03/msg00007.html
I think the front/rear swap bug is related to that "vortex: IRQ fifo error".
As the hardware equalizer is only connected from the front channels to
the CODECOUT(0/1) in the ALSA au88x0 driver when playing at 4 channel
sound through hw:0,0 (adb)
Routes After adb_allocroute() in snd_vortex_pcm_hw_params-----------
00028100 : 00000041 ADBDMA(00) -> SRCIN(01)
00028104 : 00000042 ADBDMA(00) -> SRCIN(02)
00028108 : 00000043 ADBDMA(00) -> SRCIN(03)
00028140 : 00007151 CODECIN(1) -> MIXIN(01)
00028144 : 00002052 SRCOUT(00) -> MIXIN(02)
00028148 : 00002153 SRCOUT(01) -> MIXIN(03)
0002814c : 00002254 SRCOUT(02) -> MIXIN(04)
00028150 : 00002355 SRCOUT(03) -> MIXIN(05)
00028220 : 00007f89 EQOUT(1) -> CODECOUT(1)
00028224 : 0000328c MIXOUT(02) -> CODECOUT(4)
00028230 : 0000338d MIXOUT(03) -> CODECOUT(5)
00028234 : 00007050 CODECIN(0) -> MIXIN(00)
00028248 : 00003593 MIXOUT(05) -> SPDIFOUT(1)
00028280 : 000031a1 MIXOUT(01) -> EQIN(1)
00028284 : 00007e88 EQOUT(0) -> CODECOUT(0)
000282c0 : 00000040 ADBDMA(00) -> SRCIN(00)
000282f8 : 000030a0 MIXOUT(00) -> EQIN(0)
00028304 : 00003492 MIXOUT(04) -> SPDIFOUT(0)
----------------------------------------
MIXIN_MIXOUT ENABLE
21a00 : 00000004 mixin(02) -> mixout(00)
21a20 : 00000008 mixin(03) -> mixout(01)
21a44 : 00000001 mixin(04) -> mixout(02)
21a64 : 00000002 mixin(05) -> mixout(03)
21a80 : 00000004 mixin(02) -> mixout(04)
21a84 : 00000001 mixin(04) -> mixout(04)
21aa0 : 00000008 mixin(03) -> mixout(05)
21aa4 : 00000002 mixin(05) -> mixout(05)
#/etc/init.d/alsasound stop
Shutting down sound driver: done
# /etc/init.d/alsasound start
Starting sound driver: snd-au8830 done
http://cvs.sourceforge.net/viewcvs.py/alsa/alsa-utils/speaker-test/
Running "speaker-test -c 4" and watching the graphical equalizer of the
vortexcontrol
# speaker-test -c 4
speaker-test 0.0.7
Playback device is plughw:0,0
Stream parameters are 48000Hz, S16_LE, 4 channels
Sine wave rate is 440.0000Hz
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 2 to 8192
Period size range from 1 to 512
Periods = 4
Buffer time size 2525
To choose buffer_size = 8192
To choose period_size = 2048
was set period_size = 512
was set buffer_size = 8192
0 - Front Left
1 - Front Right
3 - Rear Right
2 - Rear Left
Time per period = 11.854851
0 - Front Left
1 - Front Right
3 - Rear Right
2 - Rear Left
Time per period = 11.987920
0 - Front Left
The 10 bands graphical equalizer in vortexcontrol show peak value at
500Hz band when speaker-test is testing the front left and front right,
no value when speaker-test is testing rear left and rear right.
(Front/Rear channels are all correct)
As there is no option to let "speaker-test" to run for a specified
number of pass and stop, it is aborted by Control-C.
When running the "speaker-test -c 4" again, the graphical equalizer show
peak value at 500Hz band only when speaker-test is testing the rear left
and rear right and no value when it is testing the Front Left and
Front Right. (Front/Rear channels are swapped until driver is reloaded).
It seem that the patch mentioned in
http://lists.gnu.org/archive/html/openvortex-dev/2003-12/msg00009.html
intened to fixed the problem in the OSS application in
http://lists.gnu.org/archive/html/openvortex-dev/2003-11/msg00016.html
1) Is the FIFO is still suspending not stopped ?
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Re: au8830 - front / rear channels swapped after first play and Surround40
2005-03-12 9:27 au8830 - front / rear channels swapped after first play and Surround40 Raymond
@ 2005-03-13 1:10 ` Manuel Jander
0 siblings, 0 replies; 3+ messages in thread
From: Manuel Jander @ 2005-03-13 1:10 UTC (permalink / raw)
To: Raymond, alsa-devel, openvortex-dev
Hi Raymond,
On Sat, 2005-03-12 at 17:27 +0800, Raymond wrote:
> > > 3) Is the bug related to "vortex: IRQ fifo error" ?
>
> > No, thats not a bug. Thats normal.
>
> http://lists.gnu.org/archive/html/openvortex-dev/2004-03/msg00007.html
>
> I think the front/rear swap bug is related to that "vortex: IRQ fifo error".
AFAIK the FIFO error occurs only one time, the first time data is being
DMA'ed. It could be that this error is some kind of data underrun, and
it does only happen once, because we never flush the FIFO's when
stopping a stream. Remaining data in the FIFO's may be messing the
channel deinterlacer, because the amount of data loaded in the fifo is
random, generating a random offset. Since the the PCI bus is 32 bit
wide, that problem would not affect stereo streams, because one 32 bit
transaction maps to two 16 bit samples. Only where a frame is more that
32bits, this problem would become apparent. This is just a theory, but
maybe it could be worth a try, to enforce a absolute flush of the FIFO
data when stopping a DMA stream.
> As the hardware equalizer is only connected from the front channels to
> the CODECOUT(0/1) in the ALSA au88x0 driver when playing at 4 channel
> sound through hw:0,0 (adb)
>
[snip!]
> It seem that the patch mentioned in
>
> http://lists.gnu.org/archive/html/openvortex-dev/2003-12/msg00009.html
>
> intened to fixed the problem in the OSS application in
>
> http://lists.gnu.org/archive/html/openvortex-dev/2003-11/msg00016.html
I'm not that sure that these things are related directly. The patch in my
opinion is just hiding either a hardware issue or a software problem. It
may be related to the the way the fifos are stopped and resumed.
>
> 1) Is the FIFO is still suspending not stopped ?
Don't know. AFAIK the fifos can be stopped or just paused. What
difference that makes, i don't know.
Best Regards
--
Manuel Jander
Electronic Engineer
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Re: au8830 - front / rear channels swapped after first play and Surround40
@ 2005-03-17 3:23 Raymond
0 siblings, 0 replies; 3+ messages in thread
From: Raymond @ 2005-03-17 3:23 UTC (permalink / raw)
To: alsa-devel; +Cc: openvortex-dev
> > No, thats not a bug. Thats normal.
>
>
> AFAIK the FIFO error occurs only one time, the first time data is
> being DMA'ed. It could be that this error is some kind of data
> underrun, and it does only happen once, because we never flush the
> FIFO's when stopping a stream. Remaining data in the FIFO's may be
> messing the channel deinterlacer, because the amount of data loaded in
> the fifo is random, generating a random offset. Since the the PCI bus
> is 32 bit wide, that problem would not affect stereo streams, because
> one 32 bit transaction maps to two 16 bit samples. Only where a frame
> is more that 32bits, this problem would become apparent. This is just
> a theory, but maybe it could be worth a try, to enforce a absolute
> flush of the FIFO data when stopping a DMA stream.
The "vortex: IRQ fifo error" message happen once when the first play is
a stereo or 4 channels sound and it do not happen when the first play is
a MONO sound on my au8830.
Using "vortex_adbdma_stopfifo()" instead of vortex_adbdma_pausefifo()"
in snd_vortex_pcm_trigger() (just like the last version of au88x0 in
alsa-driver before it merged into alsa-kernel) seem to fix the
front/rear channels swap when playing 4 channels sound in au8830.
However the message "vortex: IRQ fifo error" will appear more than once
in the kernel log, it is quite annoying when a lot of these message is
displayed on the screen (not always) during the shutdown of the linux.
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-03-17 3:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-12 9:27 au8830 - front / rear channels swapped after first play and Surround40 Raymond
2005-03-13 1:10 ` Manuel Jander
2005-03-17 3:23 Raymond
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.