public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Joerg Roedel <joerg.roedel@amd.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: tom.leiming@gmail.com, fujita.tomonori@lab.ntt.co.jp,
	linux-kernel@vger.kernel.org, akpm@linux-foundation.org
Subject: Re: [PATCH][RFC] asm-generic:remove calling flush_write_buffers() in dma_sync_*_for_cpu
Date: Mon, 29 Jun 2009 14:31:42 +0200	[thread overview]
Message-ID: <20090629123142.GL5139@amd.com> (raw)
In-Reply-To: <200906281534.37148.arnd@arndb.de>

On Sun, Jun 28, 2009 at 03:34:35PM +0000, Arnd Bergmann wrote:
> On Sunday 28 June 2009 14:39:19 tom.leiming@gmail.com wrote:
> > From: Ming Lei <tom.leiming@gmail.com>
> > 
> > dma_sync_*_for_cpu() is introduced to make cpu access dma buffers safely when
> > dma transfer is over, it seems there is nothing to do with cpu write buffer,
> > so remove it.
> > 
> > Signed-off-by: Ming Lei <tom.leiming@gmail.com>
> 
> Right, this looks correct. On a related note, flush_write_buffers is
> architecture specific right now: only x86 and frv implement it at all,
> though and with slightly different semantics.

This doen't look correct to me. The sync functions may do bounce buffering
which is all about copying data from one place in main memory to another. So we
need these flush_write_buffer() calls in the _for_cpu path too.

> Maybe it would be more consistent to change the dma_map_* and
> dma_sync_*_for_device stuff there to wmb() to make it  portable
> to other architectures.

If we change it to wmb() it would be executed every time there even if the
processor doesn't require it. Other architectures could simply add a
flush_write_buffers() implemention if they want to adapt the common dma-mapping
implementation, no?

	Joerg

-- 
           | Advanced Micro Devices GmbH
 Operating | Karl-Hammerschmidt-Str. 34, 85609 Dornach bei München
 System    | 
 Research  | Geschäftsführer: Thomas M. McCoy, Giuliano Meroni
 Center    | Sitz: Dornach, Gemeinde Aschheim, Landkreis München
           | Registergericht München, HRB Nr. 43632


  reply	other threads:[~2009-06-29 12:32 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-28 14:39 [PATCH][RFC] asm-generic:remove calling flush_write_buffers() in dma_sync_*_for_cpu tom.leiming
2009-06-28 15:34 ` Arnd Bergmann
2009-06-29 12:31   ` Joerg Roedel [this message]
2009-06-29 13:51     ` Ming Lei
2009-06-29 14:45       ` Joerg Roedel
2009-06-29 14:54         ` Ming Lei
2009-06-29 15:44           ` Joerg Roedel
2009-06-29 16:22     ` Arnd Bergmann
2009-06-29 16:31       ` Alan Cox
2009-06-29 16:45         ` Arnd Bergmann
2009-06-29 17:16           ` Alan Cox
2009-06-30 12:34             ` Arnd Bergmann
2009-06-30 12:40               ` Alan Cox
2009-06-30 12:48                 ` Arnd Bergmann
2009-06-30 13:09                   ` Alan Cox
2009-06-30 13:38                     ` Arnd Bergmann
2009-07-07  1:54                       ` Ming Lei
2009-07-07  7:48                         ` Russell King - ARM Linux
2009-07-07 13:43                           ` Ming Lei
2009-07-07 14:06                             ` Arnd Bergmann
2009-07-07 14:55                               ` Ming Lei
2009-07-07 15:30                                 ` Arnd Bergmann
2009-07-07 17:36                               ` Russell King - ARM Linux
2009-07-07 17:33                             ` Russell King - ARM Linux
2009-06-29 18:47           ` Joerg Roedel
2009-06-29 19:10             ` Alan Cox
2009-06-29 19:24               ` Joerg Roedel
2009-06-29 18:48       ` Joerg Roedel

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=20090629123142.GL5139@amd.com \
    --to=joerg.roedel@amd.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=fujita.tomonori@lab.ntt.co.jp \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tom.leiming@gmail.com \
    /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