memory: tegra: Do not try to probe SMMU on Tegra20
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> Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
ce2785a75d
commit
568ece5bab
@ -982,10 +982,6 @@ struct tegra_smmu *tegra_smmu_probe(struct device *dev,
|
|||||||
u32 value;
|
u32 value;
|
||||||
int err;
|
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);
|
smmu = devm_kzalloc(dev, sizeof(*smmu), GFP_KERNEL);
|
||||||
if (!smmu)
|
if (!smmu)
|
||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
|
@ -695,11 +695,13 @@ static int tegra_mc_probe(struct platform_device *pdev)
|
|||||||
dev_err(&pdev->dev, "failed to register reset controller: %d\n",
|
dev_err(&pdev->dev, "failed to register reset controller: %d\n",
|
||||||
err);
|
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);
|
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",
|
dev_err(&pdev->dev, "failed to probe SMMU: %ld\n",
|
||||||
PTR_ERR(mc->smmu));
|
PTR_ERR(mc->smmu));
|
||||||
|
mc->smmu = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_ENABLED(CONFIG_TEGRA_IOMMU_GART) && !mc->soc->smmu) {
|
if (IS_ENABLED(CONFIG_TEGRA_IOMMU_GART) && !mc->soc->smmu) {
|
||||||
|
Loading…
Reference in New Issue
Block a user