linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Paul Mackerras <paulus@samba.org>
To: Roman Zippel <zippel@linux-m68k.org>
Cc: Armin Kuster <akuster@mvista.com>,
	ppcdevel <linuxppc-dev@lists.linuxppc.org>
Subject: Re: New API for non cache coherent ppc cpu's
Date: Fri, 23 Nov 2001 12:09:03 +1100 (EST)	[thread overview]
Message-ID: <15357.41391.911951.855909@cargo.ozlabs.ibm.com> (raw)
In-Reply-To: <3BFD8F2F.247CDF33@linux-m68k.org>


Roman Zippel writes:

> This document only describes DMA _mappings_, it doesn't say anything
> about cache coherency.

It talks about the conditions under which the cpu and the DMA device
will see a consistent view of memory.  The section on the streaming
DMA mappings could be more explicit, but the idea is that between the
pci_map_{single,sg} and the corresponding pci_unmap_*, the device owns
the region and the cpu shouldn't touch it without first calling
pci_dma_sync_*.  (Hmmm, there is possibly a hole here - the API should
maybe require that you call a sync function both before and after
touching the memory.)  At other times the cpu owns the region and
should see a consistent view of that memory.  That implies some cache
flushing in pci_map_* and/or pci_unmap_* on non-cache-coherent
systems.

> That's the other problem, "non-PCI" sounds like ISA there, what about
> other buses?

That is implementation-dependent.  My view is that we should make this
API work for every kind of bus we have, if possible.

Note also that in 2.5 the struct pci_dev is going to transmogrify into
a "struct device" that will be used for I/O devices on any kind of
bus.

Paul.

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

      reply	other threads:[~2001-11-23  1:09 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-20 20:13 New API for non cache coherent ppc cpu's Armin Kuster
2001-11-21 11:15 ` Roman Zippel
2001-11-21 18:29   ` Armin Kuster
2001-11-21 20:20     ` Roman Zippel
2001-11-22 20:57 ` Paul Mackerras
2001-11-22 23:07   ` Dan Malek
2001-11-22 23:54     ` Roman Zippel
2001-11-23  1:32     ` Paul Mackerras
2001-11-23 16:08       ` Dan Malek
2001-11-22 23:50   ` Roman Zippel
2001-11-23  1:09     ` Paul Mackerras [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=15357.41391.911951.855909@cargo.ozlabs.ibm.com \
    --to=paulus@samba.org \
    --cc=akuster@mvista.com \
    --cc=linuxppc-dev@lists.linuxppc.org \
    --cc=zippel@linux-m68k.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).