diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2015-10-20 07:24:22 -0400 |
---|---|---|
committer | Sachin Nikam <snikam@nvidia.com> | 2015-10-26 04:53:15 -0400 |
commit | 0334d7e30385187517c01a63a71dc11fa934c102 (patch) | |
tree | a76fedd5bd273e746df6d95e8e623d4540351709 /drivers/gpu | |
parent | 2aead8a72fbe31b5bb99fde54e496752ab224c2d (diff) |
gpu: nvgpu: unrailgate only if pm_domains not enabled
Currently we unrailgate the GPU if railgating is not enabled
or pm_domains are not enabled
But in case if railgating is not enabled and pm_domains
are enabled, we explicitly unrailgate GPU in gk20a_pm_init()
and then runtime PM unrailgates it again when first user
space request arrives - setting unrailgate refcount to 2
Now for gk20a_do_idle(), we need to railgate the GPU in
fist call but that does not happen since unrailgate
refcount != 1
hence, in case railgating is not enabled, we should
unrailgate the GPU from only one place i.e. when first user
space request arrives
Bug 200142989
Bug 200137963
Bug 1678611
Reviewed-on: http://git-master/r/820321
(cherry picked from commit 452a1ff8da8e3f47caed2371440f9ad150bf8699)
Change-Id: Ic9fe2267c9df5629315c30c1404c2b3044c1265a
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/822296
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index fd7fdee1..a44ce996 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c | |||
@@ -1290,7 +1290,7 @@ static int gk20a_pm_init(struct platform_device *dev) | |||
1290 | * turn on the rail now. */ | 1290 | * turn on the rail now. */ |
1291 | if (platform->can_railgate && IS_ENABLED(CONFIG_PM_GENERIC_DOMAINS)) | 1291 | if (platform->can_railgate && IS_ENABLED(CONFIG_PM_GENERIC_DOMAINS)) |
1292 | _gk20a_pm_railgate(dev); | 1292 | _gk20a_pm_railgate(dev); |
1293 | else | 1293 | else if (!IS_ENABLED(CONFIG_PM_GENERIC_DOMAINS)) |
1294 | _gk20a_pm_unrailgate(dev); | 1294 | _gk20a_pm_unrailgate(dev); |
1295 | 1295 | ||
1296 | /* genpd will take care of runtime power management if it is enabled */ | 1296 | /* genpd will take care of runtime power management if it is enabled */ |