diff options
author | Anshul Jain <anshulj@nvidia.com> | 2016-01-25 15:42:11 -0500 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-04-11 18:41:09 -0400 |
commit | f6e000a3912fb1445aa22cfaaf3b9263a13acbd1 (patch) | |
tree | d148afc876536a9723ebc0c0b9732dbaffd1660a /drivers/gpu | |
parent | c8c376b22a6805178415a78f723df32bce177ef0 (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/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c | 10 |
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. */ |