All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: linux-arm-kernel@lists.infradead.org
Cc: stepanm@codeaurora.org, linux-arm-msm@vger.kernel.org,
	dwalker@codeaurora.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] arm: msm: Add System MMU support.
Date: Wed, 28 Jul 2010 19:50:20 +0200	[thread overview]
Message-ID: <201007281950.20847.arnd@arndb.de> (raw)
In-Reply-To: <ea4bbdecc271f7fa5749d09645f38c0d.squirrel@www.codeaurora.org>

On Wednesday 28 July 2010, stepanm@codeaurora.org wrote:
> > On Wednesday 28 July 2010 00:41:06 Stepan Moskovchenko wrote:
> >> Add support for the System MMUs found on the 8x60 and 8x72
> >> families of Qualcomm chips. These SMMUs allow virtualization
> >> of the address space used by most of the multimedia cores
> >> on these chips.
> >
> > How is this different from an IOMMU?
> >
> > From a very brief look, it seems that you should be using the
> > existing dma-mapping APIs here instead of making up your own.
> >
> > 	Arnd
> 
> 
> These are just SMMU APIs, and the DMA-mapping API is one layer above this.
> 
> We have our own SMMU API for the MSM SoCs because we have muliple IOMMUs,
> each one having multiple contexts, or even having multiple instances of
> the same context. Our usage model is also quite a bit different from how
> the DMA APIs are set up. I believe only two IOMMU drivers actually make
> use of the DMA API (Intel and AMD) and the other ones (OMAP and other
> SoCs) have their own APIs for their specific use cases.

The DMA API is extremely flexible, it works just fine with all the
IOMMUs that I've seen so far. Please take a look at
include/asm-generic/dma-mapping-common.h and its users to see how
to use multiple IOMMUs depending on the device.

If the OMAP developers got this wrong, that's not your problem :-)

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] arm: msm: Add System MMU support.
Date: Wed, 28 Jul 2010 19:50:20 +0200	[thread overview]
Message-ID: <201007281950.20847.arnd@arndb.de> (raw)
In-Reply-To: <ea4bbdecc271f7fa5749d09645f38c0d.squirrel@www.codeaurora.org>

On Wednesday 28 July 2010, stepanm at codeaurora.org wrote:
> > On Wednesday 28 July 2010 00:41:06 Stepan Moskovchenko wrote:
> >> Add support for the System MMUs found on the 8x60 and 8x72
> >> families of Qualcomm chips. These SMMUs allow virtualization
> >> of the address space used by most of the multimedia cores
> >> on these chips.
> >
> > How is this different from an IOMMU?
> >
> > From a very brief look, it seems that you should be using the
> > existing dma-mapping APIs here instead of making up your own.
> >
> > 	Arnd
> 
> 
> These are just SMMU APIs, and the DMA-mapping API is one layer above this.
> 
> We have our own SMMU API for the MSM SoCs because we have muliple IOMMUs,
> each one having multiple contexts, or even having multiple instances of
> the same context. Our usage model is also quite a bit different from how
> the DMA APIs are set up. I believe only two IOMMU drivers actually make
> use of the DMA API (Intel and AMD) and the other ones (OMAP and other
> SoCs) have their own APIs for their specific use cases.

The DMA API is extremely flexible, it works just fine with all the
IOMMUs that I've seen so far. Please take a look at
include/asm-generic/dma-mapping-common.h and its users to see how
to use multiple IOMMUs depending on the device.

If the OMAP developers got this wrong, that's not your problem :-)

	Arnd

  reply	other threads:[~2010-07-28 17:50 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-27 22:41 [PATCH 1/2] arm: msm: Add System MMU support Stepan Moskovchenko
2010-07-27 22:41 ` Stepan Moskovchenko
2010-07-27 22:43 ` Daniel Walker
2010-07-27 22:43   ` Daniel Walker
2010-07-28  8:39 ` Arnd Bergmann
2010-07-28  8:39   ` Arnd Bergmann
2010-07-28 17:39   ` stepanm
2010-07-28 17:39     ` stepanm at codeaurora.org
2010-07-28 17:50     ` Arnd Bergmann [this message]
2010-07-28 17:50       ` Arnd Bergmann
2010-07-28 21:21       ` Russell King - ARM Linux
2010-07-28 21:21         ` Russell King - ARM Linux
2010-07-29  4:15         ` FUJITA Tomonori
2010-07-29  4:15           ` FUJITA Tomonori
2010-07-29  8:12         ` Arnd Bergmann
2010-07-29  8:12           ` Arnd Bergmann
2010-07-29 11:47           ` Russell King - ARM Linux
2010-07-29 11:47             ` Russell King - ARM Linux
2010-07-30  6:14             ` FUJITA Tomonori
2010-07-30  6:14               ` FUJITA Tomonori
2010-07-29  0:58       ` stepanm
2010-07-29  0:58         ` stepanm at codeaurora.org
2010-07-29  3:35         ` FUJITA Tomonori
2010-07-29  3:35           ` FUJITA Tomonori
2010-07-29  8:26           ` Arnd Bergmann
2010-07-29  8:26             ` Arnd Bergmann
2010-07-29  8:35             ` FUJITA Tomonori
2010-07-29  8:35               ` FUJITA Tomonori
2010-07-29  8:40             ` Roedel, Joerg
2010-07-29  8:40               ` Roedel, Joerg
2010-07-29  8:46               ` FUJITA Tomonori
2010-07-29  8:46                 ` FUJITA Tomonori
2010-07-29  9:06                 ` Roedel, Joerg
2010-07-29  9:06                   ` Roedel, Joerg
2010-07-29  9:14                   ` FUJITA Tomonori
2010-07-29  9:14                     ` FUJITA Tomonori
2010-07-29  9:25                     ` Roedel, Joerg
2010-07-29  9:25                       ` Roedel, Joerg
2010-07-29  9:28                     ` Roedel, Joerg
2010-07-29  9:28                       ` Roedel, Joerg
2010-07-29  9:44                       ` FUJITA Tomonori
2010-07-29  9:44                         ` FUJITA Tomonori
2010-07-29 10:01                         ` Roedel, Joerg
2010-07-29 10:01                           ` Roedel, Joerg
2010-07-29 11:25                           ` Arnd Bergmann
2010-07-29 11:25                             ` Arnd Bergmann
2010-07-29 12:12                             ` Roedel, Joerg
2010-07-29 12:12                               ` Roedel, Joerg
2010-07-29 13:01                               ` Arnd Bergmann
2010-07-29 13:01                                 ` Arnd Bergmann
2010-07-30  5:19                   ` stepanm
2010-07-30  5:19                     ` stepanm at codeaurora.org
2010-07-30  8:01                     ` Arnd Bergmann
2010-07-30  8:01                       ` Arnd Bergmann
2010-07-30 16:25                       ` stepanm
2010-07-30 16:25                         ` stepanm at codeaurora.org
2010-07-30 21:59                         ` Arnd Bergmann
2010-07-30 21:59                           ` Arnd Bergmann
2010-07-30 22:58                           ` stepanm
2010-07-30 22:58                             ` stepanm at codeaurora.org
2010-07-31  9:37                             ` Arnd Bergmann
2010-07-31  9:37                               ` Arnd Bergmann
2010-08-02  7:58                     ` Roedel, Joerg
2010-08-02  7:58                       ` Roedel, Joerg
2010-08-02 20:29                       ` Zach Pfeffer
2010-08-02 20:29                         ` Zach Pfeffer
2010-08-03  9:23                         ` Roedel, Joerg
2010-08-03  9:23                           ` Roedel, Joerg
2010-08-03 18:43                           ` Stepan Moskovchenko
2010-08-03 18:43                             ` Stepan Moskovchenko
2010-08-04  9:52                             ` Roedel, Joerg
2010-08-04  9:52                               ` Roedel, Joerg
2010-07-31  3:15             ` Benjamin Herrenschmidt
2010-07-31  3:15               ` Benjamin Herrenschmidt
2010-08-02  7:48               ` Roedel, Joerg
2010-08-02  7:48                 ` Roedel, Joerg
2010-08-02  8:03                 ` Benjamin Herrenschmidt
2010-08-02  8:03                   ` Benjamin Herrenschmidt
2010-08-02  8:10                   ` Roedel, Joerg
2010-08-02  8:10                     ` Roedel, Joerg
2010-08-02  8:30                   ` FUJITA Tomonori
2010-08-02  8:30                     ` FUJITA Tomonori
2010-08-02  9:03                     ` Russell King - ARM Linux
2010-08-02  9:03                       ` Russell King - ARM Linux
2010-08-02  9:20                       ` FUJITA Tomonori
2010-08-02  9:20                         ` FUJITA Tomonori
2010-08-02 10:04                         ` Russell King - ARM Linux
2010-08-02 10:04                           ` Russell King - ARM Linux
2010-08-02 15:26                           ` FUJITA Tomonori
2010-08-02 15:26                             ` FUJITA Tomonori
2010-08-02  9:45                     ` Roedel, Joerg
2010-08-02  9:45                       ` Roedel, Joerg
2010-08-02  8:35                   ` Roedel, Joerg
2010-08-02  8:35                     ` Roedel, Joerg
2010-07-31  2:30           ` Benjamin Herrenschmidt
2010-07-31  2:30             ` Benjamin Herrenschmidt

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=201007281950.20847.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=dwalker@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stepanm@codeaurora.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.