From: Ctirad Fertr <c.fertr@gmail.com>
To: alsa-devel@alsa-project.org
Subject: Re: emu10k1, how to setup DMA for 24bit playback?
Date: Sat, 23 Feb 2008 14:46:38 +0100 [thread overview]
Message-ID: <200802231446.39988.c.fertr@gmail.com> (raw)
In-Reply-To: <75b66ecd0802221705i77c753fdh7c30d7f7f30e7e05@mail.gmail.com>
Saturday 23 of February 2008 02:05:34 Lee Revell napsal(a):
Hello Lee,
thanks for your reply.
> I did quite a bit of work on this driver a few years back, among other
> things I implemented the multichannel playback support (the hw:0,3
> device).
Yes, I know. This code works well with e-mu cards as well, although it is
limited to 16bit/48kHz. I'd like to improve this as well, but first I have to
finish basic stereo 24bit playback via hw:0,0.
> Do you have a web page with details on your work, or can you explain
> exactly what you've done so far and how it fails? Preferably in patch
> form...
Well, if you look at emufx.c around line 1566, you will see how the 24 bit
capture works. The data path (for newer e-mu cards as 1616(M) or 1212M V2) is
following:
physical inputs (24bit) -> FPGA (internal routing) -> emu10k via A3_EMU32IN()
(still 24bit padded to 32bit ) -> DSP code converts 32bit sample to 2 16bit
via snd_emu10k1_audigy_dsp_convert_32_to_2x16() and feeds A_FXBUS2(x) and
A_FXBUS(x+1) with the resulting halfs -> DMA -> PC side joins these two 16bit
halfs into one S32_LE sample and voila, we have 24bit capture.
The driver, however, still lacks 24bit playback, and I'm trying to change
that. I have working DSP routine which converts two 16bit values from
A_FXBUS(x) and A_FXBUS(x+1) into 32bit value for A3_EMU32OUT(), where the
FPGA and physical output are connected.
So all I need is to send 32bit sample divided to two 16bit halfs via two
A_FXBUS() into emu10k DSP. Unfortunatelly, simple changing the sample format
to S32_LE did not the trick :( Any ideas?
> How are you getting your hardware info?
Just from the alsa emu10k source code and some hit and miss experiments.
Unfortunatelly, there are no emu10k datasheets available :(
Ctirad
prev parent reply other threads:[~2008-02-23 13:48 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-20 23:09 emu10k1, how to setup DMA for 24bit playback? Ctirad Fertr
2008-02-23 1:05 ` Lee Revell
2008-02-23 13:46 ` Ctirad Fertr [this message]
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=200802231446.39988.c.fertr@gmail.com \
--to=c.fertr@gmail.com \
--cc=alsa-devel@alsa-project.org \
/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.