From: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>
To: Rob Clark <robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: "iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [PATCH 0/5] Implement SMMU passthrough using the default domain
Date: Thu, 2 Feb 2017 15:12:42 +0000 [thread overview]
Message-ID: <20170202151241.GE13839@arm.com> (raw)
In-Reply-To: <CAF6AEGtfrrwVZ_W86_HqVsiqfcM=XFa+g2LECFYQJmvv7-JSqQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Thu, Feb 02, 2017 at 10:02:50AM -0500, Rob Clark wrote:
> On Thu, Jan 26, 2017 at 12:18 PM, Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org> wrote:
> > On Tue, Jan 24, 2017 at 08:42:23PM +0530, Sricharan wrote:
> >> Thanks for this series. We had a case with the GPU.
> >> The GPU's iommu was setup by kernel and the GPU
> >> also does dynamic updates for on-the-fly switching between
> >> process pagetables. GPU driver was not using DMA domain and
> >> the GPU's firmware was always expecting to run out of contextbank
> >> '0' (although not correct) , which was not the case after the DMA domain
> >> was made default as '0' was getting allocated for DMA domain and
> >> there were concerns about reusing the DMA domain as well.
> >> Now with this series, looks there is an way out of that that can be tried.
> >>
> >> So should the default domain not be per device specific selectable ?
> >
> > Note that iommu-drivers can request direct-mapping for any given device
> > on its initializtion. This is used on x86 for devices that need a 1-1
> > mapping for some reason.
> >
> > Also device drivers can use the iommu-api and assign their own domain to
> > a device, which allows them to manage the dma address space on their
> > own.
>
> Part of the problem is that dev->archdata.dma_ops gets wired up to
> iommu_dma_ops. Which isn't so bad on it's own, except that cache ops
> are not exposed to drivers, forcing us to use dma-mapping API
> (dma_map_sg, etc) for cache operations.
>
> Possibly we should just expose cache op's to drivers bypass this abuse
> of dma-mapping.
>
> btw, Will, we definitely want this to *not* rely on kcmdline for the
> gpu with it's own private iommu case..
I still need to understand the unmanaged domain case, but I don't really
see why that's related to this series to be honest.
Will
WARNING: multiple messages have this Message-ID (diff)
From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/5] Implement SMMU passthrough using the default domain
Date: Thu, 2 Feb 2017 15:12:42 +0000 [thread overview]
Message-ID: <20170202151241.GE13839@arm.com> (raw)
In-Reply-To: <CAF6AEGtfrrwVZ_W86_HqVsiqfcM=XFa+g2LECFYQJmvv7-JSqQ@mail.gmail.com>
On Thu, Feb 02, 2017 at 10:02:50AM -0500, Rob Clark wrote:
> On Thu, Jan 26, 2017 at 12:18 PM, Joerg Roedel <joro@8bytes.org> wrote:
> > On Tue, Jan 24, 2017 at 08:42:23PM +0530, Sricharan wrote:
> >> Thanks for this series. We had a case with the GPU.
> >> The GPU's iommu was setup by kernel and the GPU
> >> also does dynamic updates for on-the-fly switching between
> >> process pagetables. GPU driver was not using DMA domain and
> >> the GPU's firmware was always expecting to run out of contextbank
> >> '0' (although not correct) , which was not the case after the DMA domain
> >> was made default as '0' was getting allocated for DMA domain and
> >> there were concerns about reusing the DMA domain as well.
> >> Now with this series, looks there is an way out of that that can be tried.
> >>
> >> So should the default domain not be per device specific selectable ?
> >
> > Note that iommu-drivers can request direct-mapping for any given device
> > on its initializtion. This is used on x86 for devices that need a 1-1
> > mapping for some reason.
> >
> > Also device drivers can use the iommu-api and assign their own domain to
> > a device, which allows them to manage the dma address space on their
> > own.
>
> Part of the problem is that dev->archdata.dma_ops gets wired up to
> iommu_dma_ops. Which isn't so bad on it's own, except that cache ops
> are not exposed to drivers, forcing us to use dma-mapping API
> (dma_map_sg, etc) for cache operations.
>
> Possibly we should just expose cache op's to drivers bypass this abuse
> of dma-mapping.
>
> btw, Will, we definitely want this to *not* rely on kcmdline for the
> gpu with it's own private iommu case..
I still need to understand the unmanaged domain case, but I don't really
see why that's related to this series to be honest.
Will
next prev parent reply other threads:[~2017-02-02 15:12 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-19 18:19 [PATCH 0/5] Implement SMMU passthrough using the default domain Will Deacon
2017-01-19 18:19 ` Will Deacon
[not found] ` <1484849955-1871-1-git-send-email-will.deacon-5wv7dgnIgG8@public.gmane.org>
2017-01-19 18:19 ` [PATCH 1/5] iommu/arm-smmu: Restrict domain attributes to UNMANAGED domains Will Deacon
2017-01-19 18:19 ` Will Deacon
[not found] ` <1484849955-1871-2-git-send-email-will.deacon-5wv7dgnIgG8@public.gmane.org>
2017-01-19 18:41 ` Robin Murphy
2017-01-19 18:41 ` Robin Murphy
[not found] ` <89d795b9-a6d7-7f41-705c-b918ee66ebf0-5wv7dgnIgG8@public.gmane.org>
2017-01-26 17:06 ` Joerg Roedel
2017-01-26 17:06 ` Joerg Roedel
2017-01-26 17:03 ` Joerg Roedel
2017-01-26 17:03 ` Joerg Roedel
[not found] ` <20170126170329.GB27598-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2017-01-26 17:57 ` Will Deacon
2017-01-26 17:57 ` Will Deacon
2017-01-19 18:19 ` [PATCH 2/5] iommu/arm-smmu: Install bypass S2CRs for IOMMU_DOMAIN_IDENTITY domains Will Deacon
2017-01-19 18:19 ` Will Deacon
2017-01-19 18:50 ` Robin Murphy
2017-01-19 18:50 ` Robin Murphy
2017-01-19 18:19 ` [PATCH 3/5] iommu/arm-smmu-v3: Install bypass STEs " Will Deacon
2017-01-19 18:19 ` Will Deacon
[not found] ` <1484849955-1871-4-git-send-email-will.deacon-5wv7dgnIgG8@public.gmane.org>
2017-01-19 18:56 ` Robin Murphy
2017-01-19 18:56 ` Robin Murphy
2017-01-19 18:19 ` [PATCH 4/5] arm64: dma-mapping: Only swizzle DMA ops for IOMMU_DOMAIN_DMA Will Deacon
2017-01-19 18:19 ` Will Deacon
[not found] ` <1484849955-1871-5-git-send-email-will.deacon-5wv7dgnIgG8@public.gmane.org>
2017-01-19 19:00 ` Robin Murphy
2017-01-19 19:00 ` Robin Murphy
2017-01-26 17:57 ` Will Deacon
2017-01-26 17:57 ` Will Deacon
2017-01-19 18:19 ` [PATCH 5/5] iommu: Allow default domain type to be set on the kernel command line Will Deacon
2017-01-19 18:19 ` Will Deacon
[not found] ` <1484849955-1871-6-git-send-email-will.deacon-5wv7dgnIgG8@public.gmane.org>
2017-01-26 17:15 ` Joerg Roedel
2017-01-26 17:15 ` Joerg Roedel
[not found] ` <20170126171555.GD27598-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2017-01-26 17:26 ` Robin Murphy
2017-01-26 17:26 ` Robin Murphy
2017-01-26 17:48 ` Will Deacon
2017-01-26 17:48 ` Will Deacon
2017-01-24 15:12 ` [PATCH 0/5] Implement SMMU passthrough using the default domain Sricharan
2017-01-24 15:12 ` Sricharan
2017-01-26 17:18 ` Joerg Roedel
2017-01-26 17:18 ` Joerg Roedel
[not found] ` <20170126171857.GE27598-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2017-02-02 15:02 ` Rob Clark
2017-02-02 15:02 ` Rob Clark
[not found] ` <CAF6AEGtfrrwVZ_W86_HqVsiqfcM=XFa+g2LECFYQJmvv7-JSqQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-02-02 15:12 ` Will Deacon [this message]
2017-02-02 15:12 ` Will Deacon
[not found] ` <20170202151241.GE13839-5wv7dgnIgG8@public.gmane.org>
2017-02-03 12:20 ` Rob Clark
2017-02-03 12:20 ` Rob Clark
2017-02-02 15:45 ` Sricharan
2017-02-02 15:45 ` Sricharan
2017-02-02 16:10 ` Will Deacon
2017-02-02 16:10 ` Will Deacon
[not found] ` <20170202161047.GG13839-5wv7dgnIgG8@public.gmane.org>
2017-02-03 16:33 ` Sricharan
2017-02-03 16:33 ` Sricharan
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=20170202151241.GE13839@arm.com \
--to=will.deacon-5wv7dgnigg8@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=robdclark-Re5JQEeQqe8AvxtiuMwx3w@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.