From: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
To: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
Cc: "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>,
"rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org"
<rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
"grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Subject: Re: [PATCHv3 10/19] iommu/tegra: smmu: Get "nvidia,swgroups" from DT
Date: Thu, 31 Oct 2013 10:31:33 -0700 [thread overview]
Message-ID: <20131031173132.GD3037@kartoffel> (raw)
In-Reply-To: <5271893C.6000507-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
On Wed, Oct 30, 2013 at 10:33:32PM +0000, Stephen Warren wrote:
> On 10/18/2013 04:26 AM, Hiroshi Doyu wrote:
> > This provides the info about which H/W Accelerators are supported on
> > Tegra SoC. This info is passed from DT. This is necessary to have the
> > unified SMMU driver among Tegra SoCs. Instead of using platform data,
> > DT passes "nvidia,swgroups" now. DT is mandatory in Tegra.
>
> > diff --git a/Documentation/devicetree/bindings/iommu/nvidia,tegra30-smmu.txt b/Documentation/devicetree/bindings/iommu/nvidia,tegra30-smmu.txt
> > index 89fb543..6a844b3 100644
> > --- a/Documentation/devicetree/bindings/iommu/nvidia,tegra30-smmu.txt
> > +++ b/Documentation/devicetree/bindings/iommu/nvidia,tegra30-smmu.txt
> > @@ -8,6 +8,11 @@ Required properties:
> > - nvidia,#asids : # of ASIDs
> > - dma-window : IOVA start address and length.
> > - nvidia,ahb : phandle to the ahb bus connected to SMMU.
> > +- nvidia,swgroups: A bitmap of supported HardWare Accelerators(HWA).
> > + Each bit represents one swgroup. The assignments may be found in header
> > + file <dt-bindings/memory/tegra-swgroup.h>. Its max is 64. 2 cells
>
> That file doesn't exist at this point in the series. I think you should
> create a patch up-front that adds that header, and modifies the binding
> document, all in one go, and separate from any driver code changes.
> Separate DT/driver patches were IIRC agreed to be preferablte at the
> recent ARM workshop.
That certainly matches what I recall from the ARM minisummit.
>
> > + are required. This unique ID info can be used to calculate
> > + MC_SMMU_<SWGROUP name>_ASID_0 offset and HOTRESET bit.
>
> I'm afraid I still don't quite understand what a swgroup is.
>
> IIUC, the HW works like this based on comments in a previous patch:
>
> Each bus-master attached to the MMU passes a "memory client ID" along
> with the transaction. Some devices can generate transactions with
> different "memory client IDs". There is a mapping inside the SMMU from
> "memory client ID" to "address space ID". (I don't know what form that
> mapping takes; can you point out where it's set up?). Each "address
> space ID" has its own set of page tables. Is "swgroup" simply another
> name for "memory client ID"? If so, it'd be good to use just one term
> consistently.
The ARM SMMU refers to these as "stream IDs", as that's the architected name
that appears in all the hardware documentation. If "swgroup" is the term used
in the hardware documentation I think it makes sense to stick with it, as long
as there's a description in the binding document that points out what an
"swgroup" is. If there's a common term that both binding documents could refer
to to define what stream-id/swgroup are, that would be nice.
There are a few other differences in approach with the current ARM SMMU binding:
Documentation/devicetree/bindings/iommu/arm,smmu.txt
We should probably begin to look for commonality such that the next iommu
device that gets a binding is closer to a generic iommu class binding.
>
> Assuming "swgroup" is "memory client ID", why can't the driver just
> create a list/... of known swgroups at runtime, based on the swgroup
> values that each device uses, which would presumably be either
> hard-coded in the client device's driver, or represented in the DT smmu
> property's "iommu specifier" value.
Assuming that the swgroup values of IP block instances are static, that sounds
like the ARM SMMU binding approach. Are the IDs static, or can they be assigned
at runtime?
Thanks,
Mark.
next prev parent reply other threads:[~2013-10-31 17:31 UTC|newest]
Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-18 10:26 [PATCHv3 00/19] Unifying SMMU driver among Tegra SoCs Hiroshi Doyu
[not found] ` <1382092020-13170-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-18 10:26 ` [PATCHv3 01/19] [HACK] of: dev_node has struct device pointer Hiroshi Doyu
[not found] ` <1382092020-13170-2-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-24 8:55 ` Grant Likely
[not found] ` <20131024085531.680A4C4039D-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2013-10-24 9:21 ` Hiroshi Doyu
[not found] ` < 20131025001038.77299C403B6@trevor.secretlab.ca>
[not found] ` <20131024.122115.1035609747068925560.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-24 9:36 ` Kumar Gala
[not found] ` <3E007970-C2E3-4A2E-B2E3-8388DB7A98F9-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2013-10-25 0:12 ` Grant Likely
2013-10-25 0:10 ` Grant Likely
[not found] ` <20131025001038.77299C403B6-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2013-10-25 7:56 ` Thierry Reding
[not found] ` <20131025075652.GB19622-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-25 8:22 ` Hiroshi Doyu
[not found] ` <20131025.112202.47792301040951621.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-25 13:20 ` Will Deacon
[not found] ` <20131025132051.GD9999-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2013-10-25 13:46 ` Thierry Reding
2013-10-30 21:47 ` Stephen Warren
2013-10-25 8:25 ` Hiroshi Doyu
[not found] ` <20131025.112549.2040849946958069337.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-25 9:11 ` Thierry Reding
[not found] ` <20131025091104.GG19622-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-25 9:49 ` Hiroshi Doyu
[not found] ` <20131025.124905.1154427805530939055.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-25 10:49 ` Thierry Reding
[not found] ` <20131025104937.GA25080-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-25 11:08 ` Hiroshi Doyu
2013-10-25 19:01 ` Grant Likely
[not found] ` <20131025190136.D55F5C403A7-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2013-10-28 7:31 ` Thierry Reding
[not found] ` <20131028073133.GA6629-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-11-12 7:17 ` Grant Likely
2013-10-30 21:58 ` Stephen Warren
[not found] ` <52718122.9000206-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-30 22:41 ` Thierry Reding
2013-10-31 8:14 ` Hiroshi Doyu
[not found] ` <20131031.101405.2229107340254709582.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-31 16:37 ` Stephen Warren
[not found] ` <52728754.60307-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-31 16:49 ` Hiroshi Doyu
2013-11-01 9:53 ` Thierry Reding
[not found] ` <20131101095349.GI27864-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-11-01 10:09 ` Hiroshi Doyu
2013-10-31 8:12 ` Hiroshi Doyu
[not found] ` <20131031.101232.80781047726461143.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-31 16:35 ` Stephen Warren
[not found] ` <527286CC.9080404-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-31 16:46 ` Hiroshi Doyu
[not found] ` <20131031.184603.979300613649357798.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-31 17:53 ` Stephen Warren
[not found] ` <52729912.9050800-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-11-01 6:49 ` Hiroshi Doyu
[not found] ` <20131101084909.5ed79987aa3aeb13b14e3f08-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-11-01 9:52 ` Thierry Reding
[not found] ` <20131101095223.GH27864-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-11-01 10:05 ` Hiroshi Doyu
2013-11-01 21:44 ` Stephen Warren
2013-11-06 14:06 ` [RFC][PATCHv3+ 1/2] driver/core: Add of_iommu_attach() Hiroshi Doyu
[not found] ` <20131106160623.2cb72f91cd071e555d0d4b9a-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-11-08 13:14 ` Hiroshi Doyu
2013-11-01 9:46 ` [PATCHv3 01/19] [HACK] of: dev_node has struct device pointer Thierry Reding
[not found] ` <20131101094644.GG27864-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-11-01 9:59 ` Hiroshi Doyu
[not found] ` <20131101.115919.351108054879013006.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-11-01 21:45 ` Stephen Warren
[not found] ` <527420EF.1070102-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-11-04 6:42 ` Hiroshi Doyu
2013-11-15 7:31 ` Grant Likely
2013-10-18 10:26 ` [PATCHv3 02/19] [HACK] ARM: tegra: Populate AHB/IOMMU earlier than others Hiroshi Doyu
[not found] ` <1382092020-13170-3-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-30 22:01 ` Stephen Warren
2013-10-18 10:26 ` [PATCHv3 05/19] ARM: dt: tegra114: iommu: Fix IOMMU register address Hiroshi Doyu
[not found] ` <1382092020-13170-6-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-30 22:07 ` Stephen Warren
[not found] ` <52718315.1040307-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-31 8:14 ` Hiroshi Doyu
2013-10-31 16:51 ` Mark Rutland
2013-10-31 17:05 ` Hiroshi Doyu
[not found] ` <20131031.190524.343708041257755667.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-31 17:11 ` Hiroshi Doyu
[not found] ` <20131031.191126.1326472797634956722.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-31 17:34 ` Mark Rutland
2013-10-18 10:26 ` [PATCHv3 10/19] iommu/tegra: smmu: Get "nvidia,swgroups" from DT Hiroshi Doyu
[not found] ` <1382092020-13170-11-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-24 8:58 ` Grant Likely
[not found] ` <20131024085811.A3F2CC4039D-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2013-10-30 22:22 ` Stephen Warren
2013-10-30 22:33 ` Stephen Warren
[not found] ` <5271893C.6000507-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-31 8:17 ` Hiroshi Doyu
[not found] ` <20131031.101717.1419377840657413108.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-11-01 16:54 ` Stephen Warren
[not found] ` <5273DCCD.2050901-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-11-04 6:59 ` Hiroshi Doyu
2013-10-31 17:31 ` Mark Rutland [this message]
2013-10-31 18:00 ` Will Deacon
[not found] ` <20131031180029.GB31082-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2013-11-01 7:41 ` Hiroshi Doyu
2013-11-01 7:27 ` Hiroshi Doyu
2013-10-31 17:15 ` Mark Rutland
2013-10-18 10:26 ` [PATCHv3 11/19] ARM: dt: tegra30: iommu: Add "nvidia,swgroups" Hiroshi Doyu
[not found] ` <1382092020-13170-12-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-30 22:35 ` Stephen Warren
2013-10-18 10:26 ` [PATCHv3 12/19] ARM: dt: tegra114: " Hiroshi Doyu
[not found] ` <1382092020-13170-13-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-31 16:46 ` Mark Rutland
2013-10-18 10:26 ` [PATCHv3 14/19] iommu/tegra: smmu: Get "nvidia,memory-clients" from DT Hiroshi Doyu
[not found] ` <1382092020-13170-15-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-24 9:01 ` Grant Likely
2013-10-30 22:44 ` Stephen Warren
[not found] ` <52718BB4.4090007-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-31 8:18 ` Hiroshi Doyu
[not found] ` <20131031.101808.1830527808656695540.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-31 17:40 ` Mark Rutland
2013-10-31 18:02 ` Will Deacon
[not found] ` <20131031180212.GC31082-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2013-10-31 19:13 ` Stephen Warren
[not found] ` <5272ABBD.4050505-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-31 19:21 ` Will Deacon
2013-10-31 19:16 ` Stephen Warren
[not found] ` <5272AC82.6080205-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-31 19:25 ` Stephen Warren
[not found] ` <5272AEA5.7020200-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-31 19:39 ` Will Deacon
[not found] ` <20131031193941.GB31516-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2013-11-01 8:03 ` Hiroshi Doyu
2013-11-01 16:08 ` Stephen Warren
[not found] ` <5273D214.90106-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-11-01 16:34 ` Will Deacon
[not found] ` <20131101163404.GC2442-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2013-11-01 17:05 ` Stephen Warren
[not found] ` <5273DF45.8050505-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-11-04 6:48 ` Hiroshi Doyu
2013-11-01 17:08 ` Stephen Warren
2013-11-01 7:54 ` Hiroshi Doyu
2013-11-01 7:46 ` Hiroshi Doyu
2013-10-31 19:17 ` Stephen Warren
2013-10-18 10:26 ` [PATCHv3 15/19] ARM: tegra: Create a DT header defining SWGROUP ID Hiroshi Doyu
[not found] ` <1382092020-13170-16-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-30 22:48 ` Stephen Warren
[not found] ` <52718CC6.5-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-31 8:19 ` Hiroshi Doyu
[not found] ` <20131031.101942.530833331841957251.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-31 17:46 ` Mark Rutland
2013-10-31 19:18 ` Stephen Warren
2013-11-01 8:06 ` Hiroshi Doyu
[not found] ` <20131101100605.2a29eac5b5ba8719a0beb276-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-11-01 16:05 ` Stephen Warren
2013-10-18 10:26 ` [PATCHv3 17/19] ARM: dt: tegra30: iommu: Add "nvidia,memory-clients" Hiroshi Doyu
2013-10-18 10:26 ` [PATCHv3 18/19] ARM: dt: tegra114: iommu: Add "nvidia, memory-clients" Hiroshi Doyu
2013-10-30 16:34 ` [PATCHv3 00/19] Unifying SMMU driver among Tegra SoCs Hiroshi Doyu
[not found] ` <20131030.183454.2089418674186724494.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-30 16:44 ` Stephen Warren
2013-10-30 22:19 ` Stephen Warren
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=20131031173132.GD3037@kartoffel \
--to=mark.rutland-5wv7dgnigg8@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
--cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
--cc=swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=will.deacon-5wv7dgnIgG8@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).