From: Arnd Bergmann <arnd@arndb.de>
To: "Ohad Ben-Cohen" <ohad@wizery.com>
Cc: linux-media@vger.kernel.org, linux-omap@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
laurent.pinchart@ideasonboard.com, Hiroshi.DOYU@nokia.com,
davidb@codeaurora.org, Joerg.Roedel@amd.com,
Marek Szyprowski <m.szyprowski@samsung.com>
Subject: Re: [RFC 0/6] iommu: generic api migration and grouping
Date: Fri, 3 Jun 2011 17:53:15 +0200 [thread overview]
Message-ID: <201106031753.16095.arnd@arndb.de> (raw)
In-Reply-To: <1307053663-24572-1-git-send-email-ohad@wizery.com>
On Friday 03 June 2011, Ohad Ben-Cohen wrote:
> First stab at iommu consolidation:
Hi Ohad,
Great to see your progress here!
> - Migrate OMAP's iommu driver to the generic iommu API. With this in hand,
> users can now start using the generic iommu layer instead of calling
> omap-specific iommu API.
>
> New code that requires functionality missing from the generic iommu api,
> will add that functionality in the generic framework (e.g. adding framework
> awareness to multi page sizes, supported by the underlying hardware, will
> avoid the otherwise-inevitable code duplication when mapping a memory
> region).
>
> OMAP-specific api that is still exposed in the omap iommu driver can
> now be either moved to the generic iommu framework, or just removed (if not
> used).
>
> This api (and other omap-specific primitives like struct iommu) needs to
> be omapified (i.e. renamed to include an 'omap_' prefix). At this early
> point of this patch set this is too much churn though, so I'll do that
> in the following iteration, after (and if), the general direction is
> accepted.
Sounds all good.
> - Migrate OMAP's iovmm (virtual memory manager) driver to the generic
> iommu API. With this in hand, iovmm no longer uses omap-specific api
> for mapping/unmapping operations. Nevertheless, iovmm is still coupled
> with omap's iommu even with this change: it assumes omap page sizes,
> and it uses omap's iommu objects to maintain its internal state.
>
> Further generalizing of iovmm strongly depends on our broader plans for
> providing a generic virtual memory manager and allocation framework
> (which, as discussed, should be separated from a specific mapper).
>
> iovmm has a mainline user: omap3isp, and therefore must be maintained,
> but new potential users will either have to generalize it, or come up
> with a different generic framework that will replace it.
I think the future of iovmm is looking not so good. Marek Szyprowski
is working on a generic version of the dma-mapping API (dma_map_ops)
based on the iommu API. As far as I can tell, once we have that in
place, we you can migrate omap3isp from iovmm to dma-mapping and
remove iovmm.
Of course if there are things missing from the dma-mapping API
that are present in iovmm, we should know about them so that we can
extend the dma-mapping API accordingly.
> - Migrate OMAP's iommu mainline user, omap3isp, to the generic API as well
> (so it doesn't break). As with iovmm, omap3isp still depends on
> omap's iommu, mainly because iovmm depends on it, but also for
> iommu context saving and restoring.
>
> It is definitely desirable to completely remove omap3isp's dependency
> on the omap-specific iommu layer, and that will be possible as the
> required functionality will be added to generic framework.
ok.
> - Create a dedicated iommu drivers folder (and put the base iommu code there)
>
> - Move OMAP's and MSM's iommu drivers to that drivers iommu folder
>
> Putting all iommu drivers together will ease finding similarities
> between different platforms, with the intention of solving problems once,
> in a generic framework which everyone can use.
>
> I've only moved the omap and msm implementations for now, to demonstrate
> the idea (and support the ARM diet :), but if this is found desirable,
> we can bring in intel-iommu.c and amd_iommu.c as well.
Yes, very good idea.
Arnd
next prev parent reply other threads:[~2011-06-03 15:53 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-02 22:27 [RFC 0/6] iommu: generic api migration and grouping Ohad Ben-Cohen
2011-06-02 22:27 ` [RFC 1/6] omap: iommu: generic iommu api migration Ohad Ben-Cohen
2011-06-07 9:22 ` Laurent Pinchart
2011-06-07 11:19 ` Ohad Ben-Cohen
2011-06-07 11:40 ` Laurent Pinchart
2011-06-07 12:27 ` Ohad Ben-Cohen
2011-06-02 22:27 ` [RFC 2/6] omap: iovmm: " Ohad Ben-Cohen
2011-06-07 9:05 ` Laurent Pinchart
2011-06-07 10:28 ` Ohad Ben-Cohen
2011-06-07 11:26 ` Laurent Pinchart
2011-06-07 13:46 ` Ohad Ben-Cohen
2011-06-08 10:46 ` Laurent Pinchart
2011-06-09 6:42 ` Ohad Ben-Cohen
2011-06-02 22:27 ` [RFC 3/6] media: omap3isp: " Ohad Ben-Cohen
2011-06-02 22:27 ` [RFC 4/6] drivers: iommu: move to a dedicated folder Ohad Ben-Cohen
2011-06-02 22:27 ` [RFC 5/6] omap: iommu/iovmm: move to dedicated iommu folder Ohad Ben-Cohen
2011-06-02 22:27 ` [RFC 6/6] msm: iommu: move to dedicated iommu drivers folder Ohad Ben-Cohen
2011-06-02 23:57 ` [RFC 0/6] iommu: generic api migration and grouping Kyungmin Park
2011-06-05 19:43 ` Ohad Ben-Cohen
2011-06-03 15:53 ` Arnd Bergmann [this message]
2011-06-05 19:39 ` Ohad Ben-Cohen
2011-06-06 9:10 ` Arnd Bergmann
2011-06-06 15:17 ` Ohad Ben-Cohen
2011-06-06 10:09 ` Roedel, Joerg
2011-06-06 15:15 ` Ohad Ben-Cohen
2011-06-06 15:35 ` Roedel, Joerg
2011-06-06 16:36 ` Ohad Ben-Cohen
2011-06-06 19:20 ` Roedel, Joerg
2011-06-06 20:09 ` Ohad Ben-Cohen
2011-06-07 7:52 ` Roedel, Joerg
2011-06-07 9:22 ` Ohad Ben-Cohen
2011-06-07 9:58 ` Roedel, Joerg
2011-06-07 10:30 ` Ohad Ben-Cohen
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=201106031753.16095.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=Hiroshi.DOYU@nokia.com \
--cc=Joerg.Roedel@amd.com \
--cc=davidb@codeaurora.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=ohad@wizery.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