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
WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [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: 73+ 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 ` Ohad Ben-Cohen
2011-06-02 22:27 ` Ohad Ben-Cohen
2011-06-02 22:27 ` [RFC 1/6] omap: iommu: generic iommu api migration Ohad Ben-Cohen
2011-06-02 22:27 ` Ohad Ben-Cohen
2011-06-07 9:22 ` Laurent Pinchart
2011-06-07 9:22 ` Laurent Pinchart
2011-06-07 9:22 ` Laurent Pinchart
2011-06-07 11:19 ` Ohad Ben-Cohen
2011-06-07 11:19 ` Ohad Ben-Cohen
2011-06-07 11:19 ` Ohad Ben-Cohen
2011-06-07 11:40 ` Laurent Pinchart
2011-06-07 11:40 ` Laurent Pinchart
2011-06-07 12:27 ` Ohad Ben-Cohen
2011-06-07 12:27 ` Ohad Ben-Cohen
2011-06-02 22:27 ` [RFC 2/6] omap: iovmm: " Ohad Ben-Cohen
2011-06-02 22:27 ` Ohad Ben-Cohen
2011-06-07 9:05 ` Laurent Pinchart
2011-06-07 9:05 ` Laurent Pinchart
2011-06-07 10:28 ` Ohad Ben-Cohen
2011-06-07 10:28 ` Ohad Ben-Cohen
2011-06-07 11:26 ` Laurent Pinchart
2011-06-07 11:26 ` Laurent Pinchart
2011-06-07 13:46 ` Ohad Ben-Cohen
2011-06-07 13:46 ` Ohad Ben-Cohen
2011-06-08 10:46 ` Laurent Pinchart
2011-06-08 10:46 ` Laurent Pinchart
2011-06-09 6:42 ` Ohad Ben-Cohen
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 ` 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 ` 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 ` 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 22:27 ` Ohad Ben-Cohen
2011-06-02 23:57 ` [RFC 0/6] iommu: generic api migration and grouping Kyungmin Park
2011-06-02 23:57 ` Kyungmin Park
2011-06-05 19:43 ` Ohad Ben-Cohen
2011-06-05 19:43 ` Ohad Ben-Cohen
2011-06-03 15:53 ` Arnd Bergmann [this message]
2011-06-03 15:53 ` Arnd Bergmann
2011-06-05 19:39 ` Ohad Ben-Cohen
2011-06-05 19:39 ` Ohad Ben-Cohen
2011-06-06 9:10 ` Arnd Bergmann
2011-06-06 9:10 ` Arnd Bergmann
2011-06-06 15:17 ` Ohad Ben-Cohen
2011-06-06 15:17 ` Ohad Ben-Cohen
2011-06-03 20:26 ` Ohad Ben-Cohen
2011-06-06 10:09 ` Roedel, Joerg
2011-06-06 10:09 ` Roedel, Joerg
2011-06-06 15:15 ` Ohad Ben-Cohen
2011-06-06 15:15 ` Ohad Ben-Cohen
2011-06-06 15:15 ` Ohad Ben-Cohen
2011-06-06 15:35 ` Roedel, Joerg
2011-06-06 15:35 ` Roedel, Joerg
2011-06-06 16:36 ` Ohad Ben-Cohen
2011-06-06 16:36 ` Ohad Ben-Cohen
2011-06-06 19:20 ` Roedel, Joerg
2011-06-06 19:20 ` Roedel, Joerg
2011-06-06 19:20 ` Roedel, Joerg
2011-06-06 20:09 ` Ohad Ben-Cohen
2011-06-06 20:09 ` Ohad Ben-Cohen
2011-06-07 7:52 ` Roedel, Joerg
2011-06-07 7:52 ` Roedel, Joerg
2011-06-07 9:22 ` Ohad Ben-Cohen
2011-06-07 9:22 ` Ohad Ben-Cohen
2011-06-07 9:22 ` Ohad Ben-Cohen
2011-06-07 9:58 ` Roedel, Joerg
2011-06-07 9:58 ` Roedel, Joerg
2011-06-07 10:30 ` Ohad Ben-Cohen
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 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.