Message ID | 1386246319-17851-2-git-send-email-hdoyu@nvidia.com |
---|---|
State | Superseded, archived |
Headers | show |
On 12/05/2013 05:25 AM, Hiroshi Doyu wrote: > SMMU used to depend on AHB bus. AHB driver needs to be populated and > AHB_XBAR_CTRL_SMMU_INIT_DONE bit needs to be set earliear than SMMU > being populated. Later Tegra SoC (>= T124) doesn't need AHB to enable > SMMU on AHB_XBAR_CTRL for AHB_XBAR_CTRL_SMMU_INIT_DONE any more. This > setting bit is now optional, depending on DT passing ahb phandle or > not. This patch should happen after 1/3, and the "platform data" should indicate whether tegra_ahb_enable_smmu() needs to be called, so that on Tegra30... > diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c > @@ -1284,9 +1287,6 @@ static int tegra_smmu_probe(struct platform_device *pdev) > smmu->ahb = of_parse_phandle(dev->of_node, "nvidia,ahb", 0); > - if (!smmu->ahb) > - return -ENODEV; ... that error-checking is still in place, yet on Tegra124, of_parse_phandle() isn't even called. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c index d0f0ba7..f63d54a 100644 --- a/drivers/iommu/tegra-smmu.c +++ b/drivers/iommu/tegra-smmu.c @@ -500,7 +500,10 @@ static int smmu_setup_regs(struct smmu_device *smmu) smmu_flush_regs(smmu, 1); - return tegra_ahb_enable_smmu(smmu->ahb); + if (smmu->ahb) + return tegra_ahb_enable_smmu(smmu->ahb); + + return 0; } static void flush_ptc_and_tlb(struct smmu_device *smmu, @@ -1284,9 +1287,6 @@ static int tegra_smmu_probe(struct platform_device *pdev) return -EINVAL; smmu->ahb = of_parse_phandle(dev->of_node, "nvidia,ahb", 0); - if (!smmu->ahb) - return -ENODEV; - smmu->iommu.dev = dev; smmu->num_as = asids; smmu->iovmm_base = base;
SMMU used to depend on AHB bus. AHB driver needs to be populated and AHB_XBAR_CTRL_SMMU_INIT_DONE bit needs to be set earliear than SMMU being populated. Later Tegra SoC (>= T124) doesn't need AHB to enable SMMU on AHB_XBAR_CTRL for AHB_XBAR_CTRL_SMMU_INIT_DONE any more. This setting bit is now optional, depending on DT passing ahb phandle or not. Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> --- drivers/iommu/tegra-smmu.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)