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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox