summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2015-05-15 07:33:18 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:52:07 -0500
commit3e3d83aff1688cb4e5560799de3deb68bd3617c4 (patch)
tree68229b07e779cca68752970dc8beac692840ebf4 /drivers
parent01ba044bdbbfa831eb9f507230bac0a1ed67e4ce (diff)
gpu: nvgpu: enable gp10b rail calls to bpmp
Bug 200086985 Change-Id: I9eaa135b96629636a6b949ae1e3874dd3abd5138 Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: http://git-master/r/794723 Reviewed-on: http://git-master/r/743217 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gp10b/platform_gp10b_tegra.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/platform_gp10b_tegra.c b/drivers/gpu/nvgpu/gp10b/platform_gp10b_tegra.c
index efecb1e3..44b27fe7 100644
--- a/drivers/gpu/nvgpu/gp10b/platform_gp10b_tegra.c
+++ b/drivers/gpu/nvgpu/gp10b/platform_gp10b_tegra.c
@@ -63,17 +63,28 @@ static int gp10b_tegra_late_probe(struct platform_device *pdev)
63 63
64static bool gp10b_tegra_is_railgated(struct platform_device *pdev) 64static bool gp10b_tegra_is_railgated(struct platform_device *pdev)
65{ 65{
66 return false; 66 bool ret = false;
67
68 if (!tegra_platform_is_linsim())
69 ret = !tegra_powergate_is_powered(TEGRA_POWERGATE_GPU);
70
71 return ret;
67} 72}
68 73
69static int gp10b_tegra_railgate(struct platform_device *pdev) 74static int gp10b_tegra_railgate(struct platform_device *pdev)
70{ 75{
76 if (!tegra_platform_is_linsim() &&
77 tegra_powergate_is_powered(TEGRA_POWERGATE_GPU))
78 tegra_powergate_partition(TEGRA_POWERGATE_GPU);
71 return 0; 79 return 0;
72} 80}
73 81
74static int gp10b_tegra_unrailgate(struct platform_device *pdev) 82static int gp10b_tegra_unrailgate(struct platform_device *pdev)
75{ 83{
76 return 0; 84 int ret = 0;
85 if (!tegra_platform_is_linsim())
86 ret = tegra_unpowergate_partition(TEGRA_POWERGATE_GPU);
87 return ret;
77} 88}
78 89
79static int gp10b_tegra_suspend(struct device *dev) 90static int gp10b_tegra_suspend(struct device *dev)
@@ -85,6 +96,11 @@ struct gk20a_platform t18x_gpu_tegra_platform = {
85 .has_syncpoints = true, 96 .has_syncpoints = true,
86 97
87 /* power management configuration */ 98 /* power management configuration */
99 .railgate_delay = 500,
100 .clockgate_delay = 50,
101
102 /* power management configuration */
103 .can_railgate = false,
88 .enable_elpg = false, 104 .enable_elpg = false,
89 105
90 .probe = gp10b_tegra_probe, 106 .probe = gp10b_tegra_probe,