All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 4/5] DMA: Add functions to preallocate DMA memory dor
Date: Thu, 02 Sep 2010 10:50:55 +0000	[thread overview]
Message-ID: <20100902105055.GS26319@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <Pine.LNX.4.64.1008191636590.26145@axis700.grange>

On Thu, Aug 19, 2010 at 04:40:22PM +0200, Guennadi Liakhovetski wrote:
> Currently dma_declare_coherent_memory() and dma_release_declared_memory() are
> provided to assign DMA memory to a device and to release it. These functions
> can be use with device local memory, like on-chip SRAM. However, they are
> unsuitable for assigning of generic system RAM to devices, because such system
> memory should not be ioremapped, and ioremap() is used internally in the former
> of these functions to map the memory.
> 
> This patch solves this problem by adding two more functions:
> dma_preallocate_coherent_memory() and dma_release_preallocated_memory(), which
> allocate DMA coherent memory and assign it to the device, and release it back
> respectively.

This looks like a much saner interface for pre-allocating DMA memory from
system memory, rather than trying to use dma_declare_coherent_memory().

Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>

WARNING: multiple messages have this Message-ID (diff)
From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/5] DMA: Add functions to preallocate DMA memory dor devices
Date: Thu, 2 Sep 2010 11:50:55 +0100	[thread overview]
Message-ID: <20100902105055.GS26319@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <Pine.LNX.4.64.1008191636590.26145@axis700.grange>

On Thu, Aug 19, 2010 at 04:40:22PM +0200, Guennadi Liakhovetski wrote:
> Currently dma_declare_coherent_memory() and dma_release_declared_memory() are
> provided to assign DMA memory to a device and to release it. These functions
> can be use with device local memory, like on-chip SRAM. However, they are
> unsuitable for assigning of generic system RAM to devices, because such system
> memory should not be ioremapped, and ioremap() is used internally in the former
> of these functions to map the memory.
> 
> This patch solves this problem by adding two more functions:
> dma_preallocate_coherent_memory() and dma_release_preallocated_memory(), which
> allocate DMA coherent memory and assign it to the device, and release it back
> respectively.

This looks like a much saner interface for pre-allocating DMA memory from
system memory, rather than trying to use dma_declare_coherent_memory().

Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>

  reply	other threads:[~2010-09-02 10:50 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-19 14:39 [PATCH 0/5] Add API for DMA memory reservation for devices Guennadi Liakhovetski
2010-08-19 14:39 ` Guennadi Liakhovetski
2010-08-19 14:40 ` [PATCH 1/5] DMA: Remove unneeded "extern" from function declarations Guennadi Liakhovetski
2010-08-19 14:40   ` Guennadi Liakhovetski
2010-08-19 14:40 ` [PATCH 2/5] DMA: dma_declare_coherent_memory() should return an Guennadi Liakhovetski
2010-08-19 14:40   ` [PATCH 2/5] DMA: dma_declare_coherent_memory() should return an error if unsupported Guennadi Liakhovetski
2010-08-19 14:40 ` [PATCH 3/5] DMA: reduce the number of memory allocations Guennadi Liakhovetski
2010-08-19 14:40   ` Guennadi Liakhovetski
2010-08-19 15:35   ` Greg KH
2010-08-19 15:35     ` Greg KH
2010-08-19 15:46     ` Guennadi Liakhovetski
2010-08-19 15:46       ` Guennadi Liakhovetski
2010-08-19 16:02       ` Greg KH
2010-08-19 16:02         ` Greg KH
2010-09-14  8:52         ` Paul Mundt
2010-09-14  8:52           ` Paul Mundt
2010-09-15  7:23           ` Guennadi Liakhovetski
2010-09-15  7:23             ` Guennadi Liakhovetski
2010-09-16  2:58             ` FUJITA Tomonori
2010-09-16  2:58               ` FUJITA Tomonori
2010-09-16  7:04               ` Russell King - ARM Linux
2010-09-16  7:04                 ` Russell King - ARM Linux
2010-09-16  7:08                 ` FUJITA Tomonori
2010-09-16  7:08                   ` FUJITA Tomonori
2010-09-16  4:22             ` Paul Mundt
2010-09-16  4:22               ` Paul Mundt
2010-08-20  1:15   ` Michał Nazarewicz
2010-08-20  1:15     ` Michał Nazarewicz
2010-08-19 14:40 ` [PATCH 4/5] DMA: Add functions to preallocate DMA memory dor devices Guennadi Liakhovetski
2010-08-19 14:40   ` Guennadi Liakhovetski
2010-09-02 10:50   ` Russell King - ARM Linux [this message]
2010-09-02 10:50     ` Russell King - ARM Linux
2010-09-15  7:28     ` [PATCH 4/5] DMA: Add functions to preallocate DMA memory dor 
2010-09-15  7:28       ` [PATCH 4/5] DMA: Add functions to preallocate DMA memory dor devices Uwe Kleine-König
2010-08-19 14:40 ` [PATCH 5/5] SH: use dma_preallocate_coherent_memory() for platform Guennadi Liakhovetski
2010-08-19 14:40   ` [PATCH 5/5] SH: use dma_preallocate_coherent_memory() for platform device memory Guennadi Liakhovetski

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=20100902105055.GS26319@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --cc=linux-arm-kernel@lists.infradead.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 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.