ARM: tegra: remove vpr refetch call from kernel
Deepak Nibade [Thu, 5 Jun 2014 11:44:18 +0000 (16:44 +0530)]
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

arch/arm/mach-tegra/common.c

index 5de470e..885f220 100644 (file)
@@ -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
 }