linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 02/22] ARM: tegra: Populate AHB/IOMMU earlier than others
Date: Tue, 16 Jul 2013 17:03:31 -0600	[thread overview]
Message-ID: <51E5D143.3000602@wwwdotorg.org> (raw)
In-Reply-To: <1373021097-32420-3-git-send-email-hdoyu@nvidia.com>

On 07/05/2013 04:44 AM, Hiroshi Doyu wrote:
> Populate AHB/IOMMU earlier than others. IOMMU depends on AHB. IOMMU
> needs to be instanciated earlier than others so that IOMMU can
> register other platform devices as IOMMU'able. Once IOMMU is
> populated, IOMMU/AHB nodes are detached to prevent another
> registeration.

Hmmm. I'm still in two minds about this. If just the IOMMU was needed,
then this wouldn't be too bad. But then there's the dependency on the
AHB device too. And in general, there could be, say, a dependency on a
SoC power-controller, clock controller, reset module, etc. This could
become a huge slippery slope.

Modelling the IOMMU as an explicit bus with the bus-master-capable
devices underneath it would make everything work automatically...

> diff --git a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c

> +static void tegra_of_platform_populate_iommu(void)
> +{
> +	int i;
> +	struct platform_device *pdev;
> +	const char * const path[] = {"/ahb", "/iommu", };
> +
> +	for (i = 0; i < ARRAY_SIZE(path); i++) {
> +		struct device_node *np;
> +
> +		np  = of_find_node_by_path(path[i]);

I think this should at least look up the nodes by compatible value. See
how e.g. mach-tegra/pmc.c finds the right DT node.

  reply	other threads:[~2013-07-16 23:03 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-05 10:44 [PATCH v2 00/22] Unified SMMU driver among Tegra SoCs Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 01/22] [HACK] of: dev_node has struct device pointer Hiroshi Doyu
2013-07-16 22:57   ` Stephen Warren
2013-07-16 23:16     ` Thierry Reding
2013-07-29 10:13       ` Hiroshi Doyu
2013-07-29 13:13         ` Lorenzo Pieralisi
2013-07-05 10:44 ` [PATCH v2 02/22] ARM: tegra: Populate AHB/IOMMU earlier than others Hiroshi Doyu
2013-07-16 23:03   ` Stephen Warren [this message]
2013-07-05 10:44 ` [PATCH v2 03/22] ARM: tegra: Create a DT header defining swgroups ID Hiroshi Doyu
2013-07-16 23:07   ` Stephen Warren
2013-07-29 10:53     ` Hiroshi Doyu
2013-07-29 17:45       ` Stephen Warren
2013-07-30  4:56         ` Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 04/22] ARM: dt: tegra30: iommu: Add "nvidia,swgroup" Hiroshi Doyu
2013-07-16 23:10   ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 05/22] ARM: dt: tegra30: iommu: Add "nvidia,memory-client" Hiroshi Doyu
2013-07-16 23:14   ` [PATCH v2 05/22] ARM: dt: tegra30: iommu: Add "nvidia, memory-client" Stephen Warren
2013-07-29 11:06     ` [PATCH v2 05/22] ARM: dt: tegra30: iommu: Add "nvidia,memory-client" Hiroshi Doyu
2013-07-29 17:47       ` [PATCH v2 05/22] ARM: dt: tegra30: iommu: Add "nvidia, memory-client" Stephen Warren
2013-07-30  5:11         ` [PATCH v2 05/22] ARM: dt: tegra30: iommu: Add "nvidia,memory-client" Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 06/22] ARM: dt: tegra114: iommu: Fix IOMMU register address Hiroshi Doyu
2013-07-16 23:18   ` Stephen Warren
2013-07-16 23:27     ` Thierry Reding
2013-07-05 10:44 ` [PATCH v2 07/22] ARM: dt: tegra114: iommu: Add "nvidia,swgroups" Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 08/22] ARM: dt: tegra114: Add "nvidia,memory-client" Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 09/22] amba: Move AHB to core_initcall Hiroshi Doyu
2013-07-16 23:20   ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 10/22] iommu/tegra: smmu: Move IOMMU " Hiroshi Doyu
2013-07-16 23:21   ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 11/22] iommu/tegra: smmu: Add Tegra 114 support Hiroshi Doyu
2013-07-18 20:01   ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 12/22] iommu/tegra: smmu: Select ARM_DMA_USE_IOMMU in Kconfig Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 13/22] iommu/tegra: smmu: Create default IOVA maps Hiroshi Doyu
2013-07-18 20:10   ` Stephen Warren
2013-07-29 11:24     ` Hiroshi Doyu
2013-07-29 17:50       ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 14/22] iommu/tegra: smmu: Register platform_device to IOMMU dynamically Hiroshi Doyu
2013-07-18 20:17   ` Stephen Warren
2013-07-29 11:27     ` Hiroshi Doyu
2013-07-29 17:54       ` Stephen Warren
2013-07-30  5:18         ` Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 15/22] iommu/tegra: smmu: Calculate ASID register offset by ID Hiroshi Doyu
2013-07-18 20:18   ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 16/22] iommu/tegra: smmu: Get "nvidia,swgroup" from DT Hiroshi Doyu
2013-07-18 20:28   ` Stephen Warren
2013-07-29 11:39     ` Hiroshi Doyu
2013-07-29 18:00       ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 17/22] iommu/tegra: smmu: Unfied driver for Tegra SoCs Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 18/22] iommu/tegra: smmu: Use dt-bindings MACRO Hiroshi Doyu
2013-07-18 20:30   ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 19/22] iommu/tegra: smmu: Workaround PCIe IOMMU'able Hiroshi Doyu
2013-07-18 20:33   ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 20/22] iommu/tegra: smmu: Get "nvidia, memory-client" from DT Hiroshi Doyu
2013-07-18 20:40   ` [PATCH v2 20/22] iommu/tegra: smmu: Get "nvidia,memory-client" " Stephen Warren
2013-07-05 10:44 ` [PATCH v2 21/22] iommu/tegra: smmu: Support Multiple ASID Hiroshi Doyu
2013-07-18 20:43   ` Stephen Warren
2013-07-29 10:31     ` Hiroshi Doyu
2013-07-29 17:41       ` Stephen Warren
2013-07-30  5:22         ` Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 22/22] ARM: dma-mapping: Drop GFP_COMP for DMA memory allocations Hiroshi Doyu
2013-07-18 20:45   ` Stephen Warren
2013-07-05 11:03 ` [PATCH v2 00/22] Unified SMMU driver among Tegra SoCs Marc Dietrich
2013-07-05 11:08   ` Hiroshi Doyu

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=51E5D143.3000602@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=linux-arm-kernel@lists.infradead.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).