All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Joerg Roedel <joro@8bytes.org>
Cc: Robin Murphy <robin.murphy@arm.com>,
	iommu@lists.linux-foundation.org, devicetree@vger.kernel.org,
	linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v7 14/24] memory: tegra: Do not try to probe SMMU on Tegra20
Date: Wed, 12 Dec 2018 23:38:57 +0300	[thread overview]
Message-ID: <20181212203907.23461-15-digetx@gmail.com> (raw)
In-Reply-To: <20181212203907.23461-1-digetx@gmail.com>

Tegra20 doesn't have SMMU. Move out checking of the SMMU presence from
the SMMU driver into the Memory Controller driver. This change makes code
consistent in regards to how GART/SMMU presence checking is performed.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
 drivers/iommu/tegra-smmu.c | 4 ----
 drivers/memory/tegra/mc.c  | 6 ++++--
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c
index 97b3c0461831..32ea81e9f012 100644
--- a/drivers/iommu/tegra-smmu.c
+++ b/drivers/iommu/tegra-smmu.c
@@ -982,10 +982,6 @@ struct tegra_smmu *tegra_smmu_probe(struct device *dev,
 	u32 value;
 	int err;
 
-	/* This can happen on Tegra20 which doesn't have an SMMU */
-	if (!soc)
-		return NULL;
-
 	smmu = devm_kzalloc(dev, sizeof(*smmu), GFP_KERNEL);
 	if (!smmu)
 		return ERR_PTR(-ENOMEM);
diff --git a/drivers/memory/tegra/mc.c b/drivers/memory/tegra/mc.c
index e684e234361a..3545868c51c0 100644
--- a/drivers/memory/tegra/mc.c
+++ b/drivers/memory/tegra/mc.c
@@ -695,11 +695,13 @@ static int tegra_mc_probe(struct platform_device *pdev)
 		dev_err(&pdev->dev, "failed to register reset controller: %d\n",
 			err);
 
-	if (IS_ENABLED(CONFIG_TEGRA_IOMMU_SMMU)) {
+	if (IS_ENABLED(CONFIG_TEGRA_IOMMU_SMMU) && mc->soc->smmu) {
 		mc->smmu = tegra_smmu_probe(&pdev->dev, mc->soc->smmu, mc);
-		if (IS_ERR(mc->smmu))
+		if (IS_ERR(mc->smmu)) {
 			dev_err(&pdev->dev, "failed to probe SMMU: %ld\n",
 				PTR_ERR(mc->smmu));
+			mc->smmu = NULL;
+		}
 	}
 
 	if (IS_ENABLED(CONFIG_TEGRA_IOMMU_GART) && !mc->soc->smmu) {
-- 
2.20.0

  parent reply	other threads:[~2018-12-12 20:38 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-12 20:38 [PATCH v7 00/24] Tegra GART driver clean up and optimization Dmitry Osipenko
2018-12-12 20:38 ` [PATCH v7 01/24] iommu/tegra: gart: Remove pr_fmt and clean up includes Dmitry Osipenko
2018-12-12 20:38 ` [PATCH v7 02/24] iommu/tegra: gart: Clean up driver probe errors handling Dmitry Osipenko
2018-12-12 20:38 ` [PATCH v7 03/24] iommu/tegra: gart: Ignore devices without IOMMU phandle in DT Dmitry Osipenko
2018-12-12 20:38 ` [PATCH v7 04/24] iommu: Introduce iotlb_sync_map callback Dmitry Osipenko
2018-12-12 20:38 ` [PATCH v7 05/24] iommu/tegra: gart: Optimize mapping / unmapping performance Dmitry Osipenko
2018-12-12 20:38 ` [PATCH v7 06/24] dt-bindings: memory: tegra: Squash tegra20-gart into tegra20-mc Dmitry Osipenko
2018-12-12 20:38 ` [PATCH v7 07/24] ARM: dts: tegra20: Update Memory Controller node to the new binding Dmitry Osipenko
2018-12-12 20:38 ` [PATCH v7 08/24] memory: tegra: Don't invoke Tegra30+ specific memory timing setup on Tegra20 Dmitry Osipenko
2018-12-12 20:38 ` [PATCH v7 09/24] memory: tegra: Adapt to Tegra20 device-tree binding changes Dmitry Osipenko
2018-12-12 20:38 ` [PATCH v7 10/24] memory: tegra: Read client ID on GART page fault Dmitry Osipenko
2018-12-12 20:38 ` [PATCH v7 11/24] memory: tegra: Use of_device_get_match_data() Dmitry Osipenko
2018-12-12 20:38 ` [PATCH v7 12/24] memory: tegra: Use relaxed versions of readl/writel Dmitry Osipenko
2018-12-12 20:38 ` [PATCH v7 13/24] iommu/tegra: gart: Integrate with Memory Controller driver Dmitry Osipenko
2018-12-12 20:38 ` Dmitry Osipenko [this message]
2018-12-12 20:38 ` [PATCH v7 15/24] memory: tegra: Do not ask for IRQ sharing Dmitry Osipenko
2018-12-12 20:38 ` [PATCH v7 16/24] memory: tegra: Clean up error messages Dmitry Osipenko
2018-12-12 20:39 ` [PATCH v7 17/24] iommu/tegra: gart: Fix spinlock recursion Dmitry Osipenko
2018-12-12 20:39 ` [PATCH v7 18/24] iommu/tegra: gart: Fix NULL pointer dereference Dmitry Osipenko
2018-12-12 20:39 ` [PATCH v7 19/24] iommu/tegra: gart: Allow only one active domain at a time Dmitry Osipenko
2018-12-12 20:39 ` [PATCH v7 20/24] iommu/tegra: gart: Don't use managed resources Dmitry Osipenko
2018-12-12 20:39 ` [PATCH v7 21/24] iommu/tegra: gart: Prepend error/debug messages with "gart:" Dmitry Osipenko
2018-12-12 20:39 ` [PATCH v7 22/24] iommu/tegra: gart: Don't detach devices from inactive domains Dmitry Osipenko
2018-12-12 20:39 ` [PATCH v7 23/24] iommu/tegra: gart: Simplify clients-tracking code Dmitry Osipenko
2018-12-12 20:39 ` [PATCH v7 24/24] iommu/tegra: gart: Perform code refactoring Dmitry Osipenko
2018-12-17  9:14 ` [PATCH v7 00/24] Tegra GART driver clean up and optimization Joerg Roedel
2018-12-17 12:22   ` Dmitry Osipenko
2019-01-15 16:33   ` Dmitry Osipenko
2019-01-16 12:55     ` Joerg Roedel
2019-01-16 13:41       ` Dmitry Osipenko

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=20181212203907.23461-15-digetx@gmail.com \
    --to=digetx@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jonathanh@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=thierry.reding@gmail.com \
    /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.