All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Joakim Tjernlund" <Joakim.Tjernlund@lumentis.se>
To: "Paul Mackerras" <paulus@au1.ibm.com>
Cc: "Matt Porter" <porter@cox.net>,
	"Pantelis Antoniou" <panto@intracom.gr>,
	<linuxppc-embedded@lists.linuxppc.org>
Subject: Re: Regarding consistent_alloc
Date: Sat, 7 Dec 2002 13:53:14 +0100	[thread overview]
Message-ID: <003c01c29def$9b3d5df0$0300a8c0@jockeXP> (raw)
In-Reply-To: 15857.15826.513311.884408@argo.ozlabs.ibm.com


> Joakim Tjernlund writes:
>
> > m8xx_cpm_hostalloc() does not keep the DMA handle and __pa() does not work
> > on addresses returned by m8xx_cpm_hostalloc(). I just found that out the
> > hard way when upgrading from MV 2.4.2 to linuxppc_2_4_devel 2.4.20. My SPI driver
> > hung as soon you tried to read something.
>
> Then m8xx_cpm_hostalloc should be changed so it returns the DMA
> address along with the virtual address (of the uncached mapping).
>
> An alternative which will work, at least at present, is to use iopa()
> on the virtual address.  However, that assumes that DMA bus addresses
> are identical to CPU physical addresses.  That is true at the moment
> on all embedded PPC platforms that I know of currently, but there is
> no guarantee that it will always be true.  That is why I think it is
> better to make a practice of saving the DMA address that you get back
> from consistent_alloc and using that.

Is consistent_alloc really needed? All uses I have seen in the kernel for the 8xx CPU can be solved with
a kmalloc(or a static char buffer) and a invalidate_dcache_range call(flush_dcache_range if the buffer isn't cache line aligned).
This usally eliminates a memcpy() from uncached memory. See the 8xx_io/enet.c patch I sent to
this list a few weeks ago. One guy converted that patch to the 8260 FEC and had a 20% increase in performace
for big packets in his router.

    Jocke

PS.
     I still think the 'sync' instruction in invalidate_dcache_range is unneed. I have been running my system
     without it for a few weeks now and it still works as it should.

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

  reply	other threads:[~2002-12-07 12:53 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-06 13:18 Regarding consistent_alloc Pantelis Antoniou
2002-12-06 13:23 ` Pantelis Antoniou
2002-12-06 14:25   ` Joakim Tjernlund
2002-12-06 15:59     ` Matt Porter
2002-12-06 16:08       ` Joakim Tjernlund
2002-12-06 18:30         ` Matt Porter
2002-12-06 18:15           ` Joakim Tjernlund
2002-12-06 18:52             ` Matt Porter
2002-12-06 19:59             ` Dan Malek
2002-12-06 22:11               ` Joakim Tjernlund
2002-12-07  0:16         ` Paul Mackerras
2002-12-07 12:53           ` Joakim Tjernlund [this message]
2002-12-07 16:53             ` Dan Malek
2002-12-09  9:06           ` Pantelis Antoniou
2002-12-10 17:49             ` Tom Rini
2002-12-11  3:52               ` acurtis
2002-12-11  8:57                 ` Joakim Tjernlund
2002-12-11  9:58                   ` Pantelis Antoniou
2002-12-11 14:41                     ` acurtis
2002-12-11 15:01                       ` Pantelis Antoniou
2002-12-11 15:36                         ` acurtis
2002-12-12  3:32                       ` Dan Malek
2002-12-11 14:56                     ` Tom Rini
2002-12-11 15:07                       ` Pantelis Antoniou
2002-12-12  3:41                         ` Dan Malek
2002-12-12  8:00                           ` Pantelis Antoniou
2002-12-12  8:18                             ` Wolfgang Denk
2002-12-12  8:37                               ` Pantelis Antoniou
2002-12-12 12:56                                 ` Is the preemptive kernel patch unsafe for 8xx/PPC? Joakim Tjernlund
2002-12-12 18:28                                   ` Eugene Surovegin
2002-12-12 20:35                                     ` Joakim Tjernlund
2002-12-13  4:12                                       ` acurtis
2002-12-13  6:09                                       ` Eugene Surovegin
2002-12-13  7:47                                         ` Joakim Tjernlund
2002-12-16 14:41                                           ` acurtis
2002-12-13  4:08                                     ` acurtis
2002-12-12 16:53                               ` "Missing" patches (Was: Re: Regarding consistent_alloc) Tom Rini
2002-12-06 16:56       ` Regarding consistent_alloc Dan Malek
2002-12-06 18:29         ` Matt Porter
2002-12-06 19:45           ` Dan Malek
2002-12-07  0:25           ` Paul Mackerras
2002-12-06 15:54 ` 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='003c01c29def$9b3d5df0$0300a8c0@jockeXP' \
    --to=joakim.tjernlund@lumentis.se \
    --cc=linuxppc-embedded@lists.linuxppc.org \
    --cc=panto@intracom.gr \
    --cc=paulus@au1.ibm.com \
    --cc=porter@cox.net \
    /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.