From: Lee Revell <rlrevell@joe-job.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: Alsa-devel@lists.sourceforge.net
Subject: Re: emu10k1 latency / capture period
Date: Wed, 07 Jul 2004 20:40:03 -0400 [thread overview]
Message-ID: <1089247202.9740.16.camel@mindpipe> (raw)
In-Reply-To: <s5h3c4oncuh.wl@alsa2.suse.de>
[-- Attachment #1: Type: text/plain, Size: 1710 bytes --]
On Mon, 2004-06-21 at 11:35, Takashi Iwai wrote:
> At Sun, 20 Jun 2004 00:06:23 -0400,
> Lee Revell wrote:
> >
> > Now, there is one more issue. For some reason, in the emu10k1 driver,
> > different numbered devices are used for FXBus capture and playback -
> > capture is hw:0,2 and playback is hw:0,3. I don't think JACK supports
> > full duplex mode if the playback and capture devices are different.
> > It seems like these should be part of the same device anyway, they refer
> > to the exact same registers.
>
> Yes, it would make more sense. I'll fix this, too.
>
> Meanwhile, you can use asym plugin for this purpose, e.g. adding the
> following to ~/.asoundrc:
>
> pcm.fx {
> type asym
> playback.pcm "hw:0,3"
> capture.pcm "hw:0,2"
> }
>
> and use the PCM "fx" for jack.
>
Now that I understand the driver more completely, I think that merging
these devices does not make sense.
The FXBus playback device is used for AC3 passthrough (referred to as
'Raw SPDIF PCM' in the driver source), and uses TRAM and DSP code. The
capture device uses the FXWC register and the normal DMA buffer, and can
capture any of the 64 FXBus outputs (with Peter Zubaj's patch). These
devices actually have almost nothing to do with each other.
I think this change should be backed out. I am working on a new device
for multichannel, low latency capture and playback but I think it will
merged with the current FXBus capture device, hw:x,2. The AC3
passthrough device should be moved back to hw:x,3. Once the driver can
support capture of raw AC3 stream, then a corresponding hw:x,3 capture
device can be added.
Also, I have attached a patch to fix a few magic numbers in emupcm.c.
Lee
[-- Attachment #2: Type: text/x-patch, Size: 966 bytes --]
Index: alsa-kernel/pci/emu10k1/emupcm.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/emu10k1/emupcm.c,v
retrieving revision 1.29
diff -u -r1.29 emupcm.c
--- alsa-kernel/pci/emu10k1/emupcm.c 1 Jul 2004 09:22:16 -0000 1.29
+++ alsa-kernel/pci/emu10k1/emupcm.c 8 Jul 2004 00:36:58 -0000
@@ -669,7 +669,7 @@
if (!epcm->running)
return 0;
- ptr = snd_emu10k1_ptr_read(emu, CCCA, epcm->voices[0]->number) & 0x00ffffff;
+ ptr = snd_emu10k1_ptr_read(emu, CCCA, epcm->voices[0]->number) & CCCA_CURRADDR_MASK;
#if 0 /* Perex's code */
ptr += runtime->buffer_size;
ptr -= epcm->ccca_start_addr;
@@ -700,7 +700,7 @@
udelay(50); // hack, it takes awhile until capture is started
epcm->first_ptr = 0;
}
- ptr = snd_emu10k1_ptr_read(emu, epcm->capture_idx_reg, 0) & 0x0000ffff;
+ ptr = snd_emu10k1_ptr_read(emu, epcm->capture_idx_reg, 0) & ADCIDX_MASK;
return bytes_to_frames(runtime, ptr);
}
next prev parent reply other threads:[~2004-07-08 0:40 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-16 20:14 emu10k1 latency / capture period Lee Revell
2004-06-16 20:52 ` James Courtier-Dutton
2004-06-16 21:02 ` Lee Revell
2004-06-20 4:06 ` Lee Revell
2004-06-21 15:35 ` Takashi Iwai
2004-06-21 15:54 ` Takashi Iwai
2004-06-21 20:20 ` Lee Revell
2004-06-22 11:13 ` Takashi Iwai
2004-06-22 11:29 ` Jaroslav Kysela
2004-06-22 12:47 ` Takashi Iwai
2004-06-22 21:15 ` Lee Revell
2004-06-28 20:44 ` Lee Revell
2004-06-22 20:26 ` Lee Revell
2004-06-22 18:48 ` Lee Revell
2004-06-21 20:25 ` Lee Revell
2004-07-08 0:40 ` Lee Revell [this message]
-- strict thread matches above, loose matches on Subject: below --
2004-06-17 9:06 Peter Zubaj
2004-06-17 18:37 ` Lee Revell
2004-06-17 23:26 ` Paul Davis
2004-06-18 9:33 ` Takashi Iwai
2004-06-18 19:39 ` Lee Revell
2004-06-18 23:26 ` Lee Revell
2004-06-21 8:03 Peter Zubaj
2004-06-21 15:26 ` Takashi Iwai
2004-06-21 20:27 ` Lee Revell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1089247202.9740.16.camel@mindpipe \
--to=rlrevell@joe-job.com \
--cc=Alsa-devel@lists.sourceforge.net \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.