diff options
-rw-r--r-- | arch/arm/mach-tegra/common.c | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 5 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c index 07faddfcfd70..542e2b6dbcc7 100644 --- a/arch/arm/mach-tegra/common.c +++ b/arch/arm/mach-tegra/common.c @@ -135,6 +135,7 @@ phys_addr_t tegra_carveout_start; phys_addr_t tegra_carveout_size; phys_addr_t tegra_vpr_start; phys_addr_t tegra_vpr_size; +EXPORT_SYMBOL(tegra_vpr_size); phys_addr_t tegra_tsec_start; phys_addr_t tegra_tsec_size; phys_addr_t tegra_lp0_vec_start; diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 03d466ef3dc8..f5f2c130241d 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c @@ -1310,11 +1310,10 @@ int gk20a_secure_page_alloc(struct platform_device *pdev) udelay(10); err = platform->secure_page_alloc(pdev); tegra_periph_reset_deassert(platform->clk[0]); + if (!err) + platform->secure_alloc_ready = true; } - if (!err) - platform->secure_alloc_ready = true; - return err; } diff --git a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c index edeacdac6e5c..c94d35176c11 100644 --- a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c +++ b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c @@ -39,6 +39,7 @@ #define TEGRA_GK20A_SIM_SIZE 0x1000 /*tbd: this is a high-side guess */ extern struct device tegra_vpr_dev; +extern phys_addr_t tegra_vpr_size; struct gk20a_platform t132_gk20a_tegra_platform; struct gk20a_emc_params { @@ -457,6 +458,8 @@ static int gk20a_tegra_probe(struct platform_device *dev) *platform = t132_gk20a_tegra_platform; } + if (tegra_vpr_size == 0) + platform->secure_page_alloc = NULL; gk20a_tegra_get_clocks(dev); return 0; |