summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAnshul Jain <anshulj@nvidia.com>2016-01-25 15:42:11 -0500
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-04-11 18:41:09 -0400
commitf6e000a3912fb1445aa22cfaaf3b9263a13acbd1 (patch)
treed148afc876536a9723ebc0c0b9732dbaffd1660a /drivers
parentc8c376b22a6805178415a78f723df32bce177ef0 (diff)
gpu: nvgpu: Add support for XPU rail split
Check if CPU/GPU rails are joint, disable railgating if they are. Bug 1722942 Change-Id: I002488f6418805569b0ef0fc3032b58297adeafb Signed-off-by: Anshul Jain <anshulj@nvidia.com> Reviewed-on: http://git-master/r/937026 (cherry picked from commit 61617c558a379a2a0a0f034bf0ef65cbef33d913) Reviewed-on: http://git-master/r/1122047 (cherry picked from commit 2fb891988fdec15141ae227623d5525833c78052) Reviewed-on: http://git-master/r/1123747 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c
index 468c9257..f69e12df 100644
--- a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c
+++ b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c
@@ -726,6 +726,7 @@ static int gk20a_tegra_probe(struct device *dev)
726 struct device_node *np = dev->of_node; 726 struct device_node *np = dev->of_node;
727 const __be32 *host1x_ptr; 727 const __be32 *host1x_ptr;
728 struct platform_device *host1x_pdev = NULL; 728 struct platform_device *host1x_pdev = NULL;
729 bool joint_xpu_rail = false;
729 730
730 host1x_ptr = of_get_property(np, "nvidia,host1x", NULL); 731 host1x_ptr = of_get_property(np, "nvidia,host1x", NULL);
731 if (host1x_ptr) { 732 if (host1x_ptr) {
@@ -748,6 +749,15 @@ static int gk20a_tegra_probe(struct device *dev)
748 if (platform->g->host1x_dev) 749 if (platform->g->host1x_dev)
749 nvhost_register_dump_device(platform->g->host1x_dev, 750 nvhost_register_dump_device(platform->g->host1x_dev,
750 gk20a_debug_dump_device); 751 gk20a_debug_dump_device);
752#ifdef CONFIG_OF
753 joint_xpu_rail = of_property_read_bool(of_chosen,
754 "nvidia,tegra-joint_xpu_rail");
755#endif
756
757 if (joint_xpu_rail) {
758 gk20a_dbg_info("XPU rails are joint\n");
759 platform->can_railgate = false;
760 }
751 761
752 /* WAR for bug 1547668: Disable railgating and scaling irrespective of 762 /* WAR for bug 1547668: Disable railgating and scaling irrespective of
753 * platform data if the rework has not been made. */ 763 * platform data if the rework has not been made. */