linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: "Michael R. Zucca" <mrz5149@acm.org>
To: John Whitney <jwhitney-linuxppc@sands-edge.com>
Cc: Linux/PPC Development <linuxppc-dev@lists.linuxppc.org>
Subject: Re: Problems with dma_alloc_coherent()
Date: Fri, 02 Apr 2004 13:50:04 -0500	[thread overview]
Message-ID: <406DB5DC.6060508@acm.org> (raw)
In-Reply-To: <D7F4C570-84C5-11D8-9FF0-000A95A07384@sands-edge.com>


John Whitney wrote:
>
> As an exemplification of the problem I am having with the current
> DMA/PCI API:
>
> I am developing a Generic DMA driver.  DMA providers register
> themselves with it.  Clients ask the DMA core driver to please have a
> registered driver transfer the data from one location to another, and
> call them back when it is complete.

If CPU memory is assumed to be a source/target and the other
source/target is the device, then you should take a DMA direction, a
virtual address, a device or bus, and a bus-local address. If CPU memory
isn't the only target or the DMA engine is between a bunch of bridges,
you might need to take a source bus and bus-local address, and a
destination bus and bus-local address.

If you have the bus and the bus-local address you should be able to
deduce what bridges you have to program/translate-through to do the
transfer with the DMA engine. Once you know that you should be able to
translate a bus-local address to whatever address is appropriate for the
DMA engine and program any intervening bridges appropriately.

Does Linux currently have the smarts to do this? Beats me, but it should
if it's ever going to hope to deal with the crazy array of busses and
bridges coming out of the minds of hardware engineers these days. :-)

--
----------------------------------------------
  Michael Zucca - mrz5149@acm.org
----------------------------------------------
  "I'm too old to use Emacs." -- Rod MacDonald
----------------------------------------------


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

  reply	other threads:[~2004-04-02 18:50 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-01 15:59 Problems with dma_alloc_coherent() John Whitney
2004-04-01 16:30 ` John Whitney
2004-04-01 16:51 ` Dan Malek
2004-04-01 17:01 ` Tom Rini
2004-04-01 17:05 ` Matt Porter
2004-04-01 17:51   ` John Whitney
2004-04-01 18:16     ` Matt Porter
2004-04-01 18:19     ` Eugene Surovegin
2004-04-01 18:33       ` Eugene Surovegin
2004-04-01 18:33       ` John Whitney
2004-04-01 18:40         ` Eugene Surovegin
2004-04-01 18:48           ` John Whitney
2004-04-01 18:55       ` Dan Malek
2004-04-01 18:59         ` Eugene Surovegin
2004-04-01 19:10           ` John Whitney
2004-04-01 19:17             ` Eugene Surovegin
2004-04-01 19:35               ` John Whitney
2004-04-01 20:52               ` Michael R. Zucca
2004-04-01 22:00                 ` Eugene Surovegin
2004-04-01 22:39                   ` Michael R. Zucca
2004-04-02 16:50                   ` John Whitney
2004-04-02 18:50                     ` Michael R. Zucca [this message]
2004-04-02 19:27                       ` John Whitney
2004-04-02 20:20                         ` Michael R. Zucca
2004-04-02 21:01                           ` John Whitney
2004-04-03  7:54                             ` Adrian Cox
2004-04-03 12:43                               ` John Whitney
2004-04-05  9:05                                 ` Adrian Cox
2004-04-03 17:33                               ` Brad Boyer
2004-04-03 23:17                                 ` Paul Mackerras
2004-04-04  8:15                                 ` Adrian Cox
2004-04-02 22:54                     ` Paul Mackerras
2004-04-03  7:33                       ` Adrian Cox
2004-04-04 22:56                         ` Benjamin Herrenschmidt
2004-04-02  5:45             ` Christoph Hellwig
2004-04-01 20:49           ` Matt Porter

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=406DB5DC.6060508@acm.org \
    --to=mrz5149@acm.org \
    --cc=jwhitney-linuxppc@sands-edge.com \
    --cc=linuxppc-dev@lists.linuxppc.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;
as well as URLs for NNTP newsgroup(s).