From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>,
Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
Grant Likely
<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCHv3 14/19] iommu/tegra: smmu: Get "nvidia,memory-clients" from DT
Date: Wed, 30 Oct 2013 16:44:04 -0600 [thread overview]
Message-ID: <52718BB4.4090007@wwwdotorg.org> (raw)
In-Reply-To: <1382092020-13170-15-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
On 10/18/2013 04:26 AM, Hiroshi Doyu wrote:
> This provides the info about which swgroups a device belongs to. This
> info is passed from DT. This is necessary for the unified SMMU driver
> diff --git a/Documentation/devicetree/bindings/iommu/nvidia,tegra30-smmu.txt b/Documentation/devicetree/bindings/iommu/nvidia,tegra30-smmu.txt
> @@ -13,9 +13,12 @@ Required properties:
> file <dt-bindings/memory/tegra-swgroup.h>. Its max is 64. 2 cells
> are required. This unique ID info can be used to calculate
> MC_SMMU_<SWGROUP name>_ASID_0 offset and HOTRESET bit.
> +- nvidia,memory-clients: phandle to a smmu device which a device is
> + attached to and indicates which swgroups a device belongs to(SWGROUP ID).
> + SWGROUP ID is from 0 to 63, and a device can belong to multiple SWGROUPS.
You added that to a list of properties that are required for the SMMU
node. However, judging by the example below, this property should be
added to the SMMU client nodes. Please keep the two lists separate, for
example:
Required properties for SMMU node:
...
Required properties for SMMU client nodes:
...
> + host1x {
> + compatible = "nvidia,tegra30-host1x", "simple-bus";
> + nvidia,memory-clients = <&smmu TEGRA_SWGROUP_HC>;
> + ....
> + gr3d {
> + compatible = "nvidia,tegra30-gr3d";
> + nvidia,memory-clients = <&smmu TEGRA_SWGROUP_NV
> + TEGRA_SWGROUP_NV2>;
Why one cell for the host1x property, and two cells for the gr3d
property; shouldn't they be the same length?
Bikeshedding a bit, but "nvidia,smmu" seems like it'd be a better
property name, since the property is really about defining which other
node is the SMMU that affects the device, and the SWGROUP IDs are just
part of the SMMU specifier that goes along with the phandle.
> diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c
> +static u64 smmu_of_get_memory_client(struct device *dev)
> + np = of_parse_phandle(dev->of_node, propname, 0);
> + if (np != smmu_handle->dev->of_node)
> + return ~0;
> +
> + prop = of_get_property(dev->of_node, propname, &bytes);
> + if (!prop || !bytes)
> + return ~0;
of_parse_phandle_with_fixed_args() might be a good fit here, or perhaps
require a property #smmu-cells in the SMMU node, thus allowing the
non-fixed-length of_parse_phandle_with_args() to be used here.
> + for (i = 1; i < bytes / sizeof(u32); i++, prop++)
> + swgroup |= 1ULL << be32_to_cpup(prop);
Don't you need to shift swgroup too? I thought the two cells in DT were
LSB and MSB, yet here you're ORing both cells into the LSBs.
next prev parent reply other threads:[~2013-10-30 22:44 UTC|newest]
Thread overview: 113+ 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 03/19] [HACK] amba: Move AHB to core_initcall Hiroshi Doyu
2013-10-18 10:26 ` [PATCHv3 04/19] [HACK] iommu/tegra: smmu: Move IOMMU " Hiroshi Doyu
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 06/19] iommu/tegra: smmu: Select ARM_DMA_USE_IOMMU in Kconfig Hiroshi Doyu
[not found] ` <1382092020-13170-7-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-30 22:15 ` Stephen Warren
[not found] ` <527184E4.1070800-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-31 8:16 ` Hiroshi Doyu
[not found] ` <20131031.101601.1966768312584871868.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-11-01 16:55 ` Stephen Warren
2013-10-18 10:26 ` [PATCHv3 07/19] iommu/tegra: smmu: Create default IOVA maps Hiroshi Doyu
[not found] ` <1382092020-13170-8-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-30 22:18 ` Stephen Warren
2013-10-18 10:26 ` [PATCHv3 08/19] iommu/tegra: smmu: Register platform_device to IOMMU dynamically Hiroshi Doyu
2013-10-18 10:26 ` [PATCHv3 09/19] iommu/tegra: smmu: Calculate ASID register offset by ID Hiroshi Doyu
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
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 13/19] iommu/tegra: smmu: Workaround PCIe IOMMU'able Hiroshi Doyu
[not found] ` <1382092020-13170-14-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-30 22:36 ` Stephen Warren
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 [this message]
[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 16/19] iommu/tegra: smmu: Use dt-bindings MACRO Hiroshi Doyu
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-18 10:27 ` [PATCHv3 19/19] iommu/tegra: smmu: Support Multiple ASID 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=52718BB4.4090007@wwwdotorg.org \
--to=swarren-3lzwwm7+weoh9zmkesr00q@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
--cc=swarren-DDmLM1+adcrQT0dZR+AlfA@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