linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Re: [Fwd: [alsa-devel] embedded sound architecture question]
@ 2007-05-14  5:02 Lorenz Kolb
  2007-05-15  7:09 ` Sylvain Munaut
  0 siblings, 1 reply; 6+ messages in thread
From: Lorenz Kolb @ 2007-05-14  5:02 UTC (permalink / raw)
  To: linuxppc-embedded

Hi leonid,

To be precise, I am the guy in question, who has to do the hardware-part and
You guessed it: The board is an ML403.
So what are the problems:
- DMA (whenever an DMA transfer is issued the CPU is put to soem sort of
"freeze", as the bus is occupied, whenever the CPU writes to memory it is
also busy: that solution is not really good, occupying the CPU some sort of
twice)
+ possible solution: some sort of multiport memory controller (or our idea:
own memory directly attached to the ac'97 controller) using BRAM.

> If I were you, I would chose one of sound cards which have ALSA
> drivers implemented (the list can be found on ALSA site) and
> mimicked their behavior in your VHDL.

Actually a bunch of theses drivers rely on PCI or ISA.
The few left do all require DMA, what is only an option, if it is some sort
of faked DMA, so the CPU writes directly into the controller's memory as we
intend to stay as independent as possible from Xilinx' IP Cores.
The question was: is that a good (and practicable) idea?

Greetings,

Lorenz Kolb

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [Fwd: [alsa-devel] embedded sound architecture question]
@ 2007-05-13 15:15 Joachim Förster
  2007-05-14  0:50 ` Leonid
  0 siblings, 1 reply; 6+ messages in thread
From: Joachim Förster @ 2007-05-13 15:15 UTC (permalink / raw)
  To: linuxppc-embedded

Hi,

I posted the following question/mail to the ALSA development mailing
list and somebody suggested posting it to the LKML, but I thought,
perhaps it is better to ask you, the Linux PPC embedded experts first,
since it is right about that topic.

It would be nice if somebody can say, if the described architecture
makes sense and will work or if it is a complete no-go.

-------- Forwarded Message --------
From: Joachim Förster <mls.JOFT@gmx.de>
To: alsa-devel@alsa-project.org
Subject: [alsa-devel] embedded sound architecture question
Date: Wed, 09 May 2007 22:47:34 +0200

Hi ALSA devs,

I'm going to write an ALSA driver for a not yet existing AC97
controller, which is going to be "written" (VHDL), too (at the same
time). Platform/Board is a Xilinx ML403 with Virtex-4 FPGA, PowerPC 405
architecture, OPB/OCP bus, AC97 Codec LM4550.

Before presenting my question, I have to say, that I'm a beginner with
ALSA/Linux driver development.

My question is: Does the architecture described below make sense/is
reasonable with ALSA and Linux?

The problem is, that there is no DMA controller and implementing an OPB
master device which would be able to do DMA itself is not an option at
this time.
So our thoughts were: Integrate the "DMA ring buffer" (which is usually
somewhere in main memory/RAM) into the AC97 controller. Make ALSA access
this HW buffer as if it was in main memory. This way, the device (AC97
controller) has "direct access" to its buffer "memory" - this could be
called "fake DMA".
The AC97 controller would have tell us where it is while playing and
firing interrupts after one period, so that we don't write to values
which are in the current period, instead update the area where of the
past played periods etc. ... The buffer should be a "ring buffer",
right?

Mapping this "IO memory" into kernel space should be possible with
io_remap_page_range(), right?
I would have to implement the mmap() callback in my driver, to setup the
given VMA (with the above function), right?
So, ALSA library/applications will be able to use MMAP mode, which is
what we want to achieve?
[We don't want copy()/silence(). An intermediate buffer with
ack()/tasklet/workqueue + FIFO in HW would be an alternative.]

[snip]

Thanks for reading & your time,
 Joachim

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-05-16  7:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-14  5:02 [Fwd: [alsa-devel] embedded sound architecture question] Lorenz Kolb
2007-05-15  7:09 ` Sylvain Munaut
2007-05-15 16:28   ` Joachim Förster
2007-05-16  7:11     ` Sylvain Munaut
  -- strict thread matches above, loose matches on Subject: below --
2007-05-13 15:15 Joachim Förster
2007-05-14  0:50 ` Leonid

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).