On 04/25/2012 05:29 AM, Felipe Balbi wrote: > Hi, > > On Wed, Apr 25, 2012 at 02:07:37PM +0300, Hiroshi DOYU wrote: >> Add extern func, "tegra_ahb_enable_smmu()" to inform AHB that SMMU is >> ready. >> +#ifdef CONFIG_ARCH_TEGRA_3x_SOC >> +static int __tegra_ahb_enable_smmu(struct device *dev, void *data) >> +{ >> + u32 val; >> + struct tegra_ahb *ahb = dev_get_drvdata(dev); >> + >> + val = gizmo_readl(ahb, AHB_ARBITRATION_XBAR_CTRL); >> + val |= AHB_ARBITRATION_XBAR_CTRL_SMMU_INIT_DONE; >> + gizmo_writel(ahb, val, AHB_ARBITRATION_XBAR_CTRL); >> + return 0; >> +} >> + >> +int tegra_ahb_enable_smmu(void) >> +{ >> + return driver_for_each_device(&tegra_ahb_driver.driver, NULL, NULL, >> + __tegra_ahb_enable_smmu); >> +} >> +EXPORT_SYMBOL(tegra_ahb_enable_smmu); >> +#endif > > this is still not correct. If you will always call this whenever you run > on tegra 3, why do you even expose this function ? I think the issue is that this function should only be called after the SMMU driver has initialized the SMMU, and it's ready to be activated. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html