mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Haavard Skinnemoen <hskinnemoen@atmel.com>
To: Marc Pignat <marc.pignat@hevs.ch>
Cc: Andrew Victor <linux@maxim.org.za>,
	kernel@avr32linux.org, linux-kernel@vger.kernel.org,
	Remy Bohmer <linux@bohmer.net>,
	Chip Coldwell <coldwell@redhat.com>
Subject: Re: [PATCH 6/6] atmel_serial: Add DMA support
Date: Wed, 23 Jan 2008 14:35:03 +0100	[thread overview]
Message-ID: <20080123143503.764bc8cf@dhcp-252-066.norway.atmel.com> (raw)
In-Reply-To: <200801231418.38997.marc.pignat@hevs.ch>

On Wed, 23 Jan 2008 14:18:38 +0100
Marc Pignat <marc.pignat@hevs.ch> wrote:

> On Wednesday 23 January 2008, Haavard Skinnemoen wrote:
> > Ok, but then any power of two larger than the cache line size should be
> > fine, assuming kmalloc() returns a properly aligned buffer.
> Yes. The memory should be allocated using GFP_KERNEL | GFP_DMA flags, but this
> is probably a nop on at91 and avr32.

GFP_DMA doesn't have anything to do with alignment, AFAIK.

> I prepare a patch using the generic dma api (allocation + dma mapping in one
> call = simpler code).

No, please don't. If you're thinking of dma_alloc_coherent(), it means
that the cache will be bypassed when accessing the buffer (slower), and
that the size will be rounded up to the next multiple of the page size
(larger). If the sole purpose of doing that is to get properly aligned
buffers, we might as well use the page allocator directly.

kmalloc() does return cache-aligned buffers on AVR32, so a patch like
that would have only downsides. I'm not sure about ARM though.

> > Other than that, I can't see any reason why a platform with 64 byte
> > cache lines should need larger buffers than one with 32 byte cache
> > lines.
> If the memory at the end of the cacheline is used by the cpu, it will be
> corrupted while you call dma_sync_single_for_cpu(..., DMA_FROM_DEVICE);

True, but if that happens, the right fix is to provide a suitable
definition of ARCH_KMALLOC_MINALIGN on ARM.

Haavard

  reply	other threads:[~2008-01-23 13:36 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-22 14:50 [PATCH v3 0/6] atmel_serial: Cleanups, irq handler splitup & DMA Haavard Skinnemoen
2008-01-22 14:50 ` [PATCH 1/6] atmel_serial: Clean up the code Haavard Skinnemoen
2008-01-22 14:50   ` [PATCH 2/6] atmel_serial: Use cpu_relax() when busy-waiting Haavard Skinnemoen
2008-01-22 14:50     ` [PATCH 3/6] atmel_serial: Use existing console options only if BRG is running Haavard Skinnemoen
2008-01-22 14:50       ` [PATCH 4/6] atmel_serial: Fix bugs in probe() error path and remove() Haavard Skinnemoen
2008-01-22 14:50         ` [PATCH 5/6] atmel_serial: Split the interrupt handler Haavard Skinnemoen
2008-01-22 14:50           ` [PATCH 6/6] atmel_serial: Add DMA support Haavard Skinnemoen
2008-01-22 16:52             ` Marc Pignat
2008-01-23 11:53               ` Haavard Skinnemoen
2008-01-23 12:30                 ` Marc Pignat
2008-01-23 12:45                   ` Haavard Skinnemoen
2008-01-23 13:18                     ` Marc Pignat
2008-01-23 13:35                       ` Haavard Skinnemoen [this message]
2008-01-23 13:52                         ` Marc Pignat
2008-01-23 14:05                           ` Haavard Skinnemoen
2008-01-23 15:04                             ` Alan Cox
2008-01-23 15:14                               ` Haavard Skinnemoen
2008-01-23 16:41                                 ` Alan Cox

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=20080123143503.764bc8cf@dhcp-252-066.norway.atmel.com \
    --to=hskinnemoen@atmel.com \
    --cc=coldwell@redhat.com \
    --cc=kernel@avr32linux.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@bohmer.net \
    --cc=linux@maxim.org.za \
    --cc=marc.pignat@hevs.ch \
    /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

all inboxes | Powered by JetHome®