linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Hiroshi Doyu <hdoyu@nvidia.com>
To: m.szyprowski@samsung.com
Cc: iommu@lists.linux-foundation.org, Hiroshi Doyu <hdoyu@nvidia.com>,
	linux-arm-kernel@lists.infradead.org,
	linaro-mm-sig@lists.linaro.org, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, kyungmin.park@samsung.com,
	arnd@arndb.de, linux@arm.linux.org.uk, chunsang.jeong@linaro.org,
	vdumpa@nvidia.com, subashrp@gmail.com, minchan@kernel.org,
	pullip.cho@samsung.com, konrad.wilk@oracle.com,
	linux-tegra@vger.kernel.org
Subject: [RFC 0/5] ARM: dma-mapping: New dma_map_ops to control IOVA more precisely
Date: Wed, 29 Aug 2012 09:55:30 +0300	[thread overview]
Message-ID: <1346223335-31455-1-git-send-email-hdoyu@nvidia.com> (raw)

Hi,

The following APIs are needed for us to support the legacy Tegra
memory manager for devices("NvMap") with *DMA mapping API*.

New API:

 ->iova_alloc(): To allocate IOVA area.
 ->iova_alloc_at(): To allocate IOVA area at specific address.
 ->iova_free():  To free IOVA area.

 ->map_page_at(): To map page at specific IOVA.

misc:
 ->iova_get_free_total(): To return how much IOVA is available totally.
 ->iova_get_free_max():   To return the size of biggest IOVA area.

Although  NvMap itself will be replaced soon, there are cases for the
above API where we need to specify IOVA explicitly.

(1) HWAs may require the address for special purpose, like reset vector.
(2) IOVA linear mapping: ex: [RFC 5/5] ARM: dma-mapping: Introduce
    dma_map_linear_attrs() for IOVA linear map
(3) To support different heaps. To have allocation and mapping
    independently.

Some of them could be supported with creating different mappings, but
currently a device can have a single contiguous mapping, and we cannot
specifiy any address inside of a map since all IOVA alloction is done
implicitly now.

This is the revised version of:

 http://lists.linaro.org/pipermail/linaro-mm-sig/2012-May/001947.html
 http://lists.linaro.org/pipermail/linaro-mm-sig/2012-May/001948.html
 http://lists.linaro.org/pipermail/linaro-mm-sig/2012-May/001949.html

Any comment would be really appreciated.

Hiroshi Doyu (5):
  ARM: dma-mapping: New dma_map_ops->iova_get_free_{total,max}
    functions
  ARM: dma-mapping: New dma_map_ops->iova_{alloc,free}() functions
  ARM: dma-mapping: New dma_map_ops->iova_alloc*_at* function
  ARM: dma-mapping: New dma_map_ops->map_page*_at* function
  ARM: dma-mapping: Introduce dma_map_linear_attrs() for IOVA linear
    map

 arch/arm/include/asm/dma-mapping.h       |   55 +++++++++++++
 arch/arm/mm/dma-mapping.c                |  124 ++++++++++++++++++++++++++++++
 include/asm-generic/dma-mapping-common.h |   20 +++++
 include/linux/dma-mapping.h              |   14 ++++
 4 files changed, 213 insertions(+), 0 deletions(-)

-- 
1.7.5.4

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

             reply	other threads:[~2012-08-29  6:55 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-29  6:55 Hiroshi Doyu [this message]
2012-08-29  6:55 ` [RFC 1/5] ARM: dma-mapping: New dma_map_ops->iova_get_free_{total,max} functions Hiroshi Doyu
2012-08-29  6:55 ` [RFC 2/5] ARM: dma-mapping: New dma_map_ops->iova_{alloc,free}() functions Hiroshi Doyu
2012-08-29  6:55 ` [RFC 3/5] ARM: dma-mapping: New dma_map_ops->iova_alloc*_at* function Hiroshi Doyu
2012-08-29  6:55 ` [RFC 4/5] ARM: dma-mapping: New dma_map_ops->map_page*_at* function Hiroshi Doyu
2012-08-29  6:55 ` [RFC 5/5] ARM: dma-mapping: Introduce dma_map_linear_attrs() for IOVA linear map Hiroshi Doyu
2012-09-18 12:49 ` [RFC 0/5] ARM: dma-mapping: New dma_map_ops to control IOVA more precisely Joerg Roedel
2012-09-19  6:58   ` Hiroshi Doyu
2012-09-19  7:59     ` Arnd Bergmann
2012-09-19 11:41       ` Hiroshi Doyu
2012-09-19 12:50       ` Joerg Roedel
2012-09-20  1:44         ` Krishna Reddy
2012-09-20  2:21           ` Stephen Warren
2012-09-20  6:40             ` Krishna Reddy
2012-09-20 15:27               ` Stephen Warren
2012-09-21 18:16                 ` Krishna Reddy
2012-09-24  9:04                   ` How to specify IOMMU'able devices in DT (was: [RFC 0/5] ARM: dma-mapping: New dma_map_ops to control IOVA more precisely) Hiroshi Doyu
2012-09-24  9:28                     ` James Bottomley
2012-09-24  9:44                       ` Hiroshi Doyu
2012-09-24 11:14                         ` Marek Szyprowski
2012-09-24 11:50                           ` How to specify IOMMU'able devices in DT Hiroshi Doyu
2012-11-28 13:48                             ` [PATCH 1/1] ARM: tegra: bus_notifier registers IOMMU devices(was: How to specify IOMMU'able devices in DT) Hiroshi Doyu
2012-11-28 18:07                               ` Stephen Warren
2012-11-29  6:45                                 ` Hiroshi Doyu
2012-11-29 10:17                               ` Thierry Reding
2012-11-30  4:59                               ` Mark Zhang
2012-11-30  8:06                                 ` [PATCH 1/1] ARM: tegra: bus_notifier registers IOMMU devices Hiroshi Doyu

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=1346223335-31455-1-git-send-email-hdoyu@nvidia.com \
    --to=hdoyu@nvidia.com \
    --cc=arnd@arndb.de \
    --cc=chunsang.jeong@linaro.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=konrad.wilk@oracle.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linaro-mm-sig@lists.linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=m.szyprowski@samsung.com \
    --cc=minchan@kernel.org \
    --cc=pullip.cho@samsung.com \
    --cc=subashrp@gmail.com \
    --cc=vdumpa@nvidia.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