* Re: [Openvortex-dev] aplay - How to use device 3 of card 0 ?
@ 2005-03-09 9:17 Raymond
2005-03-09 9:14 ` Takashi Iwai
0 siblings, 1 reply; 3+ messages in thread
From: Raymond @ 2005-03-09 9:17 UTC (permalink / raw)
To: openvortex-dev; +Cc: alsa-devel
> > 2) How did you perform your "WT DMA" test ?
> Using:
> aplay -d hw:0,1 test.wav
> The result for me was that aplay did newer finish, because data was
> never being transfered. After some time it timed out with an error.
The correct syntax should be "aplay -D hw:0,3 piano.wav"
# strace aplay --verbose -D hw:0,3 piano.wav
execve("/usr/bin/aplay", ["aplay", "--verbose", "-D", "hw:0,3",
"piano.wav"], [/* 35 vars */]) = 0
uname({sys="Linux", node="localhost.localdomain", ...}) = 0
brk(0) = 0x9b82000
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=82204, ...}) = 0
old_mmap(NULL, 82204, PROT_READ, MAP_PRIVATE, 3, 0) = 0xbf592000
close(3) = 0
open("/usr/lib/libasound.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\352"...,
512) = 512fstat64(3, {st_mode=S_IFREG|0755, st_size=1901275, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xbf591000
old_mmap(NULL, 659328, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xf57000
old_mmap(0xff4000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x9d000) = 0xff4000
close(3) = 0
open("/lib/tls/libm.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\365\202"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=213244, ...}) = 0
old_mmap(0x82c000, 138000, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x82c000
old_mmap(0x84d000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x20000) = 0x84d000
close(3) = 0
open("/lib/libdl.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\32\205"...,
512) = 512fstat64(3, {st_mode=S_IFREG|0755, st_size=16312, ...}) = 0
old_mmap(0x850000, 12148, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x850000
old_mmap(0x852000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x1000) = 0x852000
close(3) = 0
open("/lib/tls/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\367"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=101264, ...}) = 0
old_mmap(0x97b000, 62436, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x97b000
old_mmap(0x988000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0xd000) = 0x988000
old_mmap(0x989000, 5092, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x989000
close(3) = 0
open("/lib/tls/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`hp\000"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1578228, ...}) = 0
old_mmap(0x6f1000, 1281996, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x6f1000
old_mmap(0x824000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x132000) = 0x824000
old_mmap(0x828000, 8140, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x828000
close(3) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0xbf590000
set_thread_area({entry_number:-1 -> 6, base_addr:0xbf590640,
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
limit_in_pages:1, seg_not_present:0, useable:1}) = 0
munmap(0xbf592000, 82204) = 0
set_tid_address(0xbf590688) = 12732
rt_sigaction(SIGRTMIN, {0x97f680, [], SA_RESTORER|SA_SIGINFO, 0x9860b0},
NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0
brk(0) = 0x9b82000
brk(0x9ba3000) = 0x9ba3000
brk(0) = 0x9ba3000
stat64("/usr/share/alsa/alsa.conf", {st_mode=S_IFREG|0644, st_size=7467,
...}) = 0
open("/usr/share/alsa/alsa.conf", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=7467, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xbf5a6000
read(3, "#\n# ALSA library configuration "..., 4096) = 4096
read(3, "if cards.pcm.iec958\npcm.modem ca"..., 4096) = 3371
read(3, "", 4096) = 0
read(3, "", 4096) = 0
close(3) = 0
munmap(0xbf5a6000, 4096) = 0
futex(0x852f70, FUTEX_WAKE, 2147483647) = 0
access("/etc/asound.conf", R_OK) = -1 ENOENT (No such file or
directory)
access("/root/.asoundrc", R_OK) = -1 ENOENT (No such file or
directory)
open("/dev/snd/controlC0", O_RDONLY) = 3
close(3) = 0
open("/dev/snd/controlC0", O_RDWR) = 3
ioctl(3, USBDEVFS_CONTROL, 0xbff0906c) = 0
ioctl(3, 0x40045532, 0xbff09094) = 0
open("/dev/snd/pcmC0D3p", O_RDWR) = 4
close(3) = 0
ioctl(4, AGPIOC_ACQUIRE or APM_IOC_STANDBY, 0xbff08f60) = 0
fcntl64(4, F_GETFL) = 0x2 (flags O_RDWR)
ioctl(4, AGPIOC_INFO, 0xbff08f5c) = 0
ioctl(4, AGPIOC_RELEASE or APM_IOC_SUSPEND, 0xbff08f58) = 0
mmap2(NULL, 4096, PROT_READ, MAP_SHARED, 4, 0x80000) = 0xbf5a6000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0x81000) = 0xbf5a5000
ioctl(4, AGPIOC_ACQUIRE or APM_IOC_STANDBY, 0xbff093b0) = 0
rt_sigaction(SIGINT, {0x804ac0c, [INT], SA_RESTORER|SA_RESTART,
0x718a58}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTERM, {0x804ac0c, [TERM], SA_RESTORER|SA_RESTART,
0x718a58}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGABRT, {0x804ac0c, [ABRT], SA_RESTORER|SA_RESTART,
0x718a58}, {SIG_DFL}, 8) = 0
open("piano.wav", O_RDONLY|O_LARGEFILE) = 3
read(3, "RIFF\260O\7\0WAVEfmt \20\0\0\0\1\0\1\0", 24) = 24
read(3, "D\254", 2) = 2
read(3, "\0\0\210X\1\0\2\0\20\0", 10) = 10
read(3, "data\214O\7\0", 8) = 8
write(2, "Playing WAVE \'piano.wav\' : ", 27Playing WAVE 'piano.wav' : )
= 27
write(2, "Signed 16 bit Little Endian, ", 29Signed 16 bit Little Endian,
) = 29
write(2, "Rate 44100 Hz, ", 15Rate 44100 Hz, ) = 15
write(2, "Mono", 4Mono) = 4
write(2, "\n", 1
) = 1
ioctl(4, 0xc25c4110, 0xbff09090) = 0
ioctl(4, 0xc25c4110, 0xbff09090) = 0
ioctl(4, 0xc25c4110, 0xbff09090) = 0
ioctl(4, 0xc25c4110, 0xbff09090) = 0
ioctl(4, 0xc25c4110, 0xbff09090) = 0
ioctl(4, 0xc25c4110, 0xbff09090) = 0
ioctl(4, 0xc25c4110, 0xbff09090) = 0
ioctl(4, 0xc25c4110, 0xbff08b00) = 0
ioctl(4, 0xc25c4110, 0xbff09090) = 0
ioctl(4, 0xc25c4110, 0xbff09090) = 0
ioctl(4, 0xc25c4111, 0xbff09090) = 0
ioctl(4, 0xc0684113, 0xbff08f60) = 0
ioctl(4, 0x4140, 0x566) = 0
ioctl(4, 0xc0684113, 0xbff09020) = 0
open("/dev/snd/controlC0", O_RDWR) = 5
ioctl(5, USBDEVFS_CONTROL, 0xbff08dbc) = 0
ioctl(5, UI_DEV_CREATE, 0xbff08e20) = 0
close(5) = 0
write(2, "Hardware PCM card 0 \'au8830\' dev"..., 50Hardware PCM card 0
'au8830' device 3 subdevice 0
) = 50
write(2, "\nIts setup is:\n", 15
Its setup is:
) = 15
write(2, "stream : PLAYBACK\n", 24stream : PLAYBACK
) = 24
write(2, "access : RW_INTERLEAVED\n", 30access : RW_INTERLEAVED
) = 30
write(2, "format : S16_LE\n", 22format : S16_LE
) = 22
write(2, "subformat : STD\n", 19subformat : STD
) = 19
write(2, "channels : 1\n", 17channels : 1
) = 17
write(2, "rate : 44100\n", 21rate : 44100
) = 21
write(2, "exact rate : 44100 (44100/1)\n", 31exact rate : 44100
(44100/1)
) = 31
write(2, "msbits : 16\n", 18msbits : 16
) = 18
write(2, "buffer_size : 22528\n", 21buffer_size : 22528
) = 21
write(2, "period_size : 2048\n", 20period_size : 2048
) = 20
write(2, "period_time : 46439\n", 21period_time : 46439
) = 21
write(2, "tick_time : 10000\n", 21tick_time : 10000
) = 21
write(2, "tstamp_mode : NONE\n", 20tstamp_mode : NONE
) = 20
write(2, "period_step : 1\n", 17period_step : 1
) = 17
write(2, "sleep_min : 0\n", 17sleep_min : 0
) = 17
write(2, "avail_min : 2048\n", 20avail_min : 2048
) = 20
write(2, "xfer_align : 2048\n", 20xfer_align : 2048
) = 20
write(2, "start_threshold : 22528\n", 25start_threshold : 22528
) = 25
write(2, "stop_threshold : 22528\n", 25stop_threshold : 22528
) = 25
write(2, "silence_threshold: 0\n", 21silence_threshold: 0
) = 21
write(2, "silence_size : 0\n", 17silence_size : 0
) = 17
write(2, "boundary : 1476395008\n", 26boundary : 1476395008
) = 26
read(3, ">\375g\375\224\375\304\375\6\376Z\376\277\376=\377\316"...,
4096) = 4096
ioctl(4, 0x400c4150, 0xbff092b0) = 0
read(3, "\251\1\255\1\262\1\301\1\330\1\355\1\2\2\35\0025\2H\2N"...,
4096) = 4096
ioctl(4, 0x400c4150, 0xbff092b0) = 0
read(3, "\370\377\363\377\355\377\336\377\316\377\303\377\270\377"...,
4096) = 4096
ioctl(4, 0x400c4150, 0xbff092b0) = 0
read(3, "^\376\344\376|\377+\0\360\0\311\1\257\2\224\3z\4O\5\6\6"...,
4096) = 4096
ioctl(4, 0x400c4150, 0xbff092b0) = 0
read(3, "D\1)\1\20\1\357\0\325\0\276\0\237\0\207\0q\0]\0V\0J\000"...,
4096) = 4096
ioctl(4, 0x400c4150, 0xbff092b0) = 0
read(3, "|\2<\2\1\2\316\1\227\1n\1a\1T\1<\1\'\1\17\1\372\0\326\0"...,
4096) = 4096
ioctl(4, 0x400c4150, 0xbff092b0) = 0
read(3, "N\375\372\374\253\374`\374\"\374\366\373\333\373\317\373"...,
4096) = 4096
ioctl(4, 0x400c4150, 0xbff092b0) = 0
read(3, "\347\1\261\1|\1Q\0014\1%\1\25\1\f\1\t\1\1\1\367\0\347\0"...,
4096) = 4096
ioctl(4, 0x400c4150, 0xbff092b0) = 0
read(3, "\314\376\344\376\371\376\16\377\34\377\'\3778\377U\377"...,
4096) = 4096
ioctl(4, 0x400c4150, 0xbff092b0) = 0
read(3, "\r\4\7\4\365\3\325\3\247\3t\3=\3\2\3\300\2w\2 \2\302\1"...,
4096) = 4096
ioctl(4, 0x400c4150, 0xbff092b0) = 0
read(3, "\317\0!\1i\1\254\1\331\1\350\1\343\1\310\1\235\1h\1$\1"...,
4096) = 4096
ioctl(4, 0x400c4150, 0xbff092b0) = 0
read(3, "}\3\272\3\357\3\30\4:\4`\4\203\4\245\4\314\4\353\4\t\5"...,
4096) = 4096
ioctl(4, 0x400c4150, 0xbff092b0) = -1 EIO (Input/output error)
write(2, "aplay: pcm_write:1146: ", 23aplay: pcm_write:1146: ) = 23
write(2, "write error: Input/output error", 31write error: Input/output
error) = 31
write(2, "\n", 1
) = 1
exit_group(1) = ?
I can only hear "hmm" sound from the speakers until the program abort.
1) Do strace indicate "data was never being transfered" ?
#dmesg
vortex: WT PARM3: 0
vortex: WT GMODE: ffffffff
vortex: WT GMODE 2 : ffffffff
vortex: wt start 0
vortex: wt stop 0
vortex: WT PARM3: cff1c810
vortex: WT GMODE: ffffffff
vortex: WT GMODE 2 : fffffffe
-------------------------------------------------------
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: [Openvortex-dev] aplay - How to use device 3 of card 0 ?
2005-03-09 9:17 [Openvortex-dev] aplay - How to use device 3 of card 0 ? Raymond
@ 2005-03-09 9:14 ` Takashi Iwai
0 siblings, 0 replies; 3+ messages in thread
From: Takashi Iwai @ 2005-03-09 9:14 UTC (permalink / raw)
To: Raymond; +Cc: openvortex-dev, alsa-devel
At Wed, 09 Mar 2005 17:17:41 +0800,
Raymond wrote:
>
> > > 2) How did you perform your "WT DMA" test ?
>
> > Using:
> > aplay -d hw:0,1 test.wav
>
> > The result for me was that aplay did newer finish, because data was
> > never being transfered. After some time it timed out with an error.
>
> The correct syntax should be "aplay -D hw:0,3 piano.wav"
Ah damn, of course it must be -D :)
> ioctl(4, 0x400c4150, 0xbff092b0) = -1 EIO (Input/output error)
> write(2, "aplay: pcm_write:1146: ", 23aplay: pcm_write:1146: ) = 23
> write(2, "write error: Input/output error", 31write error: Input/output
> error) = 31
> write(2, "\n", 1
> ) = 1
> exit_group(1) = ?
>
>
> I can only hear "hmm" sound from the speakers until the program abort.
> 1) Do strace indicate "data was never being transfered" ?
I don't know whether it's "never", but at least the transfer was
aborted after a certain amount of write. Usually -EIO means that DMA
isn't working properly.
If you compile with CONFIG_SND_DEBUG, you might see the message
"playback drain error (DMA or IRQ trouble?)" from kernel.
Takashi
-------------------------------------------------------
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: [Openvortex-dev] aplay - How to use device 3 of card 0 ?
@ 2005-03-07 7:54 Raymond
0 siblings, 0 replies; 3+ messages in thread
From: Raymond @ 2005-03-07 7:54 UTC (permalink / raw)
To: openvortex-dev; +Cc: alsa-devel
>> 2) How did you perform your "WT DMA" test ?
>Using:
>aplay -d hw:0,1 test.wav
>The result for me was that aplay did newer finish, because data was
>never being transfered. After some time it timed out with an error.
http://savannah.nongnu.org/cgi-bin/viewcvs/openvortex/alsa/pci/au88x0/au88x0_pcm.c.diff?r1=1.9&r2=1.10
#define VORTEX_PCM_TYPE(x) (x->name[40])
http://cvs.sourceforge.net/viewcvs.py/alsa/alsa-kernel/pci/au88x0/au88x0_pcm.c?rev=1.6&view=markup
snd_vortex_new_pcm()
{
...
strcpy(pcm->name, vortex_pcm_name[idx]);
chip->pcm[idx] = pcm;
// This is an evil hack, but it saves a lot of duplicated code.
VORTEX_PCM_TYPE(pcm) = idx;
pcm->private_data = chip;
...
}
Added debug statement in snd_vortex_pcm_open()
/* Avoid PAGE_SIZE boundary to fall inside of a period. */
if ((err =
snd_pcm_hw_constraint_pow2(runtime, 0,
SNDRV_PCM_HW_PARAM_PERIOD_BYTES)) < 0)
return err;
+ printk(KERN_INFO "vortex_pcm_open()
%d\n",VORTEX_PCM_TYPE(substream->pcm));
if (VORTEX_PCM_TYPE(substream->pcm) != VORTEX_PCM_WT) {
Don't know why VORTEX_PCM_TYPE(substream->pcm) is always zero when using
"aplay -d hw:0,1 test.wav" or "aplay -d hw:0,3 test.wav"
-------------------------------------------------------
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-09 9:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-09 9:17 [Openvortex-dev] aplay - How to use device 3 of card 0 ? Raymond
2005-03-09 9:14 ` Takashi Iwai
-- strict thread matches above, loose matches on Subject: below --
2005-03-07 7:54 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.