diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2014-06-05 17:14:18 +0530 |
---|---|---|
committer | Riham Haidar <rhaidar@nvidia.com> | 2014-06-12 17:33:48 -0700 |
commit | bc5d590d5b66ace63e85c2616eef558183454756 (patch) | |
tree | 0b331772e1f8d21ce48bc0b293c2a14df1c3229e /arch/arm/mach-tegra/common.c | |
parent | 4236ab3323ee3c02fac562740d8b80d763589dea (diff) |
ARM: tegra: remove vpr refetch call from kernel
Remove vpr refetch from kernel
Do VPR refetch in below sequence :
- first force idle the GPU
- then do SMC call to update VPR size
- unidle the GPU
- while GPU is resuming from rail gated, it will fetch latest
VPR settings on its own
- Hence there is no need to explicitly call vpr_refetch call
in kernel
Bug 1487804
Change-Id: I310acfa6d812e71fe3038b601763b43e8cf44d23
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/421702
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'arch/arm/mach-tegra/common.c')
-rw-r--r-- | arch/arm/mach-tegra/common.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c index 5de470e6f1d2..885f2209ddff 100644 --- a/arch/arm/mach-tegra/common.c +++ b/arch/arm/mach-tegra/common.c @@ -200,10 +200,14 @@ EXPORT_SYMBOL(tegra_iram_dev); static void tegra_update_resize_cfg(phys_addr_t base , size_t size) { #ifdef CONFIG_TRUSTED_LITTLE_KERNEL - /* Config VPR_BOM/_SIZE in MC */ - te_set_vpr_params((void *)(uintptr_t)base, size); - /* trigger GPU to refetch VPR base and size. */ - nvhost_vpr_info_fetch(); + int err = 0; + + err = gk20a_do_idle(); + if (!err) { + /* Config VPR_BOM/_SIZE in MC */ + te_set_vpr_params((void *)(uintptr_t)base, size); + gk20a_do_unidle(); + } #endif } |