From: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
To: Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Joerg Roedel <joerg.roedel-5C7GfCeVMHo@public.gmane.org>,
"m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org"
<m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
"linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org"
<linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
"minchan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org"
<minchan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
"chunsang.jeong-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
<chunsang.jeong-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"subashrp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org"
<subashrp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"linaro-mm-sig-cunTk1MwBs8s++Sfvej+rw@public.gmane.org"
<linaro-mm-sig-cunTk1MwBs8s++Sfvej+rw@public.gmane.org>,
"linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org"
<linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org>,
"iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
Krishna Reddy <vdumpa-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org"
<kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
"pullip.cho-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org"
<pullip.cho-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [RFC 0/5] ARM: dma-mapping: New dma_map_ops to control IOVA more precisely
Date: Wed, 19 Sep 2012 07:59:45 +0000 [thread overview]
Message-ID: <201209190759.46174.arnd@arndb.de> (raw)
In-Reply-To: <20120919095843.d1db155e0f085f4fcf64ea32-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
On Wednesday 19 September 2012, Hiroshi Doyu wrote:
> I guess that it would work. Originally I thought that using DMA-API
> and IOMMU-API together in driver might be kind of layering violation
> since IOMMU-API itself is used in DMA-API. Only DMA-API used in driver
> might be cleaner. Considering that DMA API traditionally handling
> anonymous {bus,iova} address only, introducing the concept of
> specific address in DMA API may not be so encouraged, though.
>
> It would be nice to listen how other SoCs have solved similar needs.
In general, I would recommend using only the IOMMU API when you have a device
driver that needs to control the bus virtual address space and that manages
a device that resides in its own IOMMU context. I would recommend using
only the dma-mapping API when you have a device that lives in a shared
bus virtual address space with other devices, and then never ask for
a specific bus virtual address.
Can you explain what devices you see that don't fit in one of those two
categories?
Arnd
WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC 0/5] ARM: dma-mapping: New dma_map_ops to control IOVA more precisely
Date: Wed, 19 Sep 2012 07:59:45 +0000 [thread overview]
Message-ID: <201209190759.46174.arnd@arndb.de> (raw)
In-Reply-To: <20120919095843.d1db155e0f085f4fcf64ea32@nvidia.com>
On Wednesday 19 September 2012, Hiroshi Doyu wrote:
> I guess that it would work. Originally I thought that using DMA-API
> and IOMMU-API together in driver might be kind of layering violation
> since IOMMU-API itself is used in DMA-API. Only DMA-API used in driver
> might be cleaner. Considering that DMA API traditionally handling
> anonymous {bus,iova} address only, introducing the concept of
> specific address in DMA API may not be so encouraged, though.
>
> It would be nice to listen how other SoCs have solved similar needs.
In general, I would recommend using only the IOMMU API when you have a device
driver that needs to control the bus virtual address space and that manages
a device that resides in its own IOMMU context. I would recommend using
only the dma-mapping API when you have a device that lives in a shared
bus virtual address space with other devices, and then never ask for
a specific bus virtual address.
Can you explain what devices you see that don't fit in one of those two
categories?
Arnd
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Hiroshi Doyu <hdoyu@nvidia.com>
Cc: Joerg Roedel <joerg.roedel@amd.com>,
"m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
"linux@arm.linux.org.uk" <linux@arm.linux.org.uk>,
"minchan@kernel.org" <minchan@kernel.org>,
"chunsang.jeong@linaro.org" <chunsang.jeong@linaro.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"subashrp@gmail.com" <subashrp@gmail.com>,
"linaro-mm-sig@lists.linaro.org" <linaro-mm-sig@lists.linaro.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"iommu@lists.linux-foundation.org"
<iommu@lists.linux-foundation.org>,
Krishna Reddy <vdumpa@nvidia.com>,
"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
"kyungmin.park@samsung.com" <kyungmin.park@samsung.com>,
"pullip.cho@samsung.com" <pullip.cho@samsung.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [RFC 0/5] ARM: dma-mapping: New dma_map_ops to control IOVA more precisely
Date: Wed, 19 Sep 2012 07:59:45 +0000 [thread overview]
Message-ID: <201209190759.46174.arnd@arndb.de> (raw)
In-Reply-To: <20120919095843.d1db155e0f085f4fcf64ea32@nvidia.com>
On Wednesday 19 September 2012, Hiroshi Doyu wrote:
> I guess that it would work. Originally I thought that using DMA-API
> and IOMMU-API together in driver might be kind of layering violation
> since IOMMU-API itself is used in DMA-API. Only DMA-API used in driver
> might be cleaner. Considering that DMA API traditionally handling
> anonymous {bus,iova} address only, introducing the concept of
> specific address in DMA API may not be so encouraged, though.
>
> It would be nice to listen how other SoCs have solved similar needs.
In general, I would recommend using only the IOMMU API when you have a device
driver that needs to control the bus virtual address space and that manages
a device that resides in its own IOMMU context. I would recommend using
only the dma-mapping API when you have a device that lives in a shared
bus virtual address space with other devices, and then never ask for
a specific bus virtual address.
Can you explain what devices you see that don't fit in one of those two
categories?
Arnd
--
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>
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Hiroshi Doyu <hdoyu@nvidia.com>
Cc: Joerg Roedel <joerg.roedel@amd.com>,
"m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
"linux@arm.linux.org.uk" <linux@arm.linux.org.uk>,
"minchan@kernel.org" <minchan@kernel.org>,
"chunsang.jeong@linaro.org" <chunsang.jeong@linaro.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"subashrp@gmail.com" <subashrp@gmail.com>,
"linaro-mm-sig@lists.linaro.org" <linaro-mm-sig@lists.linaro.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"iommu@lists.linux-foundation.org"
<iommu@lists.linux-foundation.org>,
Krishna Reddy <vdumpa@nvidia.com>,
"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
"kyungmin.park@samsung.com" <kyungmin.park@samsung.com>,
"pullip.cho@samsung.com" <pullip.cho@samsung.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [RFC 0/5] ARM: dma-mapping: New dma_map_ops to control IOVA more precisely
Date: Wed, 19 Sep 2012 07:59:45 +0000 [thread overview]
Message-ID: <201209190759.46174.arnd@arndb.de> (raw)
In-Reply-To: <20120919095843.d1db155e0f085f4fcf64ea32@nvidia.com>
On Wednesday 19 September 2012, Hiroshi Doyu wrote:
> I guess that it would work. Originally I thought that using DMA-API
> and IOMMU-API together in driver might be kind of layering violation
> since IOMMU-API itself is used in DMA-API. Only DMA-API used in driver
> might be cleaner. Considering that DMA API traditionally handling
> anonymous {bus,iova} address only, introducing the concept of
> specific address in DMA API may not be so encouraged, though.
>
> It would be nice to listen how other SoCs have solved similar needs.
In general, I would recommend using only the IOMMU API when you have a device
driver that needs to control the bus virtual address space and that manages
a device that resides in its own IOMMU context. I would recommend using
only the dma-mapping API when you have a device that lives in a shared
bus virtual address space with other devices, and then never ask for
a specific bus virtual address.
Can you explain what devices you see that don't fit in one of those two
categories?
Arnd
next prev parent reply other threads:[~2012-09-19 7:59 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-29 6:55 [RFC 0/5] ARM: dma-mapping: New dma_map_ops to control IOVA more precisely Hiroshi Doyu
2012-08-29 6:55 ` Hiroshi Doyu
2012-08-29 6:55 ` Hiroshi Doyu
2012-08-29 6:55 ` Hiroshi Doyu
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 ` Hiroshi Doyu
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 3/5] ARM: dma-mapping: New dma_map_ops->iova_alloc*_at* function Hiroshi Doyu
2012-08-29 6:55 ` Hiroshi Doyu
2012-08-29 6:55 ` 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 ` Hiroshi Doyu
2012-08-29 6:55 ` Hiroshi Doyu
[not found] ` <1346223335-31455-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
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 2/5] ARM: dma-mapping: New dma_map_ops->iova_{alloc,free}() functions Hiroshi Doyu
2012-08-29 6:55 ` 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 5/5] ARM: dma-mapping: Introduce dma_map_linear_attrs() for IOVA linear map Hiroshi Doyu
2012-08-29 6:55 ` Hiroshi Doyu
2012-08-29 6:55 ` Hiroshi Doyu
2012-08-29 6:55 ` 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-18 12:49 ` Joerg Roedel
2012-09-18 12:49 ` Joerg Roedel
2012-09-18 12:49 ` Joerg Roedel
2012-09-19 6:58 ` Hiroshi Doyu
2012-09-19 6:58 ` Hiroshi Doyu
2012-09-19 6:58 ` Hiroshi Doyu
[not found] ` <20120919095843.d1db155e0f085f4fcf64ea32-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-09-19 7:59 ` Arnd Bergmann [this message]
2012-09-19 7:59 ` Arnd Bergmann
2012-09-19 7:59 ` Arnd Bergmann
2012-09-19 7:59 ` Arnd Bergmann
[not found] ` <201209190759.46174.arnd-r2nGTMty4D4@public.gmane.org>
2012-09-19 11:41 ` Hiroshi Doyu
2012-09-19 11:41 ` Hiroshi Doyu
2012-09-19 11:41 ` Hiroshi Doyu
2012-09-19 11:41 ` Hiroshi Doyu
2012-09-19 12:50 ` Joerg Roedel
2012-09-19 12:50 ` Joerg Roedel
2012-09-19 12:50 ` Joerg Roedel
2012-09-19 12:50 ` Joerg Roedel
[not found] ` <20120919125020.GQ2505-5C7GfCeVMHo@public.gmane.org>
2012-09-20 1:44 ` Krishna Reddy
2012-09-20 1:44 ` Krishna Reddy
2012-09-20 1:44 ` Krishna Reddy
2012-09-20 1:44 ` Krishna Reddy
[not found] ` <401E54CE964CD94BAE1EB4A729C7087E379FDC1EEB-wAPRp6hVlRhDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-09-20 2:21 ` Stephen Warren
2012-09-20 2:21 ` Stephen Warren
2012-09-20 2:21 ` Stephen Warren
2012-09-20 2:21 ` Stephen Warren
[not found] ` <505A7DB4.4090902-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-09-20 6:40 ` Krishna Reddy
2012-09-20 6:40 ` Krishna Reddy
2012-09-20 6:40 ` Krishna Reddy
2012-09-20 6:40 ` Krishna Reddy
[not found] ` <401E54CE964CD94BAE1EB4A729C7087E379FDC1F2D-wAPRp6hVlRhDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-09-20 15:27 ` Stephen Warren
2012-09-20 15:27 ` Stephen Warren
2012-09-20 15:27 ` Stephen Warren
2012-09-20 15:27 ` Stephen Warren
[not found] ` <505B35F7.2080201-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-09-21 18:16 ` Krishna Reddy
2012-09-21 18:16 ` Krishna Reddy
2012-09-21 18:16 ` Krishna Reddy
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:04 ` Hiroshi Doyu
2012-09-24 9:04 ` Hiroshi Doyu
2012-09-24 9:04 ` Hiroshi Doyu
2012-09-24 9:04 ` Hiroshi Doyu
2012-09-24 9:28 ` James Bottomley
2012-09-24 9:28 ` James Bottomley
2012-09-24 9:28 ` James Bottomley
2012-09-24 9:28 ` James Bottomley
2012-09-24 9:44 ` Hiroshi Doyu
2012-09-24 9:44 ` Hiroshi Doyu
2012-09-24 9:44 ` Hiroshi Doyu
2012-09-24 9:44 ` Hiroshi Doyu
[not found] ` <20120924124452.41070ed2ee9944d930cffffc-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-09-24 11:14 ` Marek Szyprowski
2012-09-24 11:14 ` Marek Szyprowski
2012-09-24 11:14 ` Marek Szyprowski
2012-09-24 11:14 ` Marek Szyprowski
2012-09-24 11:50 ` How to specify IOMMU'able devices in DT Hiroshi Doyu
2012-09-24 11:50 ` Hiroshi Doyu
2012-09-24 11:50 ` Hiroshi Doyu
2012-09-24 11:50 ` Hiroshi Doyu
[not found] ` <20120924.145014.1452596970914043018.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
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 13:48 ` Hiroshi Doyu
2012-11-28 13:48 ` Hiroshi Doyu
2012-11-28 13:48 ` Hiroshi Doyu
2012-11-28 13:48 ` Hiroshi Doyu
[not found] ` <20121128.154832.539666140149950229.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-28 18:07 ` Stephen Warren
2012-11-28 18:07 ` Stephen Warren
2012-11-28 18:07 ` Stephen Warren
2012-11-28 18:07 ` Stephen Warren
2012-11-29 6:45 ` Hiroshi Doyu
2012-11-29 6:45 ` Hiroshi Doyu
2012-11-29 6:45 ` Hiroshi Doyu
2012-11-29 6:45 ` Hiroshi Doyu
2012-11-29 10:17 ` Thierry Reding
2012-11-29 10:17 ` Thierry Reding
2012-11-29 10:17 ` Thierry Reding
2012-11-30 4:59 ` Mark Zhang
2012-11-30 4:59 ` Mark Zhang
2012-11-30 4:59 ` Mark Zhang
2012-11-30 4:59 ` Mark Zhang
2012-11-30 8:06 ` [PATCH 1/1] ARM: tegra: bus_notifier registers IOMMU devices Hiroshi Doyu
2012-11-30 8:06 ` Hiroshi Doyu
2012-11-30 8:06 ` Hiroshi Doyu
2012-11-30 8:06 ` 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=201209190759.46174.arnd@arndb.de \
--to=arnd-r2ngtmty4d4@public.gmane.org \
--cc=chunsang.jeong-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=joerg.roedel-5C7GfCeVMHo@public.gmane.org \
--cc=kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=linaro-mm-sig-cunTk1MwBs8s++Sfvej+rw@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
--cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=minchan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=pullip.cho-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=subashrp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=vdumpa-DDmLM1+adcrQT0dZR+AlfA@public.gmane.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.