summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
authorKonsta Holtta <kholtta@nvidia.com>2017-06-05 09:22:30 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-06-15 08:23:19 -0400
commitf6c921ec97323c1eab7d3b8a0cda73abf041a00f (patch)
treeb2607a51e09dd88ffff5ccf47e44c9076e34391a /drivers/gpu/nvgpu/gk20a/gk20a.h
parent7680fd689ecf7d11bf2dfdba41dc2f33cde2bbe7 (diff)
gpu: nvgpu: bring back tegra idle registration
To make do_idle work when nvgpu is built as a module, reverse the order of call dependencies for do_idle. Don't provide visible gk20a_do_{idle,unidle}() functions for the kernel but instead call the kernel for registering and unregistering pointers to them when the driver loads and unloads. Refactor the internal __gk20a_do_{idle,unidle} functions to take a struct gk20a * instead of struct device *, and use the callback api for providing that g instead of retrieving the plat device from device tree. Bug 200290850 Change-Id: Ibef8b069302e547b298069cbb97734f461a10cc3 Signed-off-by: Konsta Holtta <kholtta@nvidia.com> Reviewed-on: http://git-master/r/1493774 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 79118fca..34f89fc8 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -1485,10 +1485,8 @@ void gk20a_busy_noresume(struct device *dev);
1485void gk20a_idle_nosuspend(struct device *dev); 1485void gk20a_idle_nosuspend(struct device *dev);
1486int __must_check gk20a_busy(struct gk20a *g); 1486int __must_check gk20a_busy(struct gk20a *g);
1487void gk20a_idle(struct gk20a *g); 1487void gk20a_idle(struct gk20a *g);
1488int gk20a_do_idle(void); 1488int __gk20a_do_idle(struct gk20a *g, bool force_reset);
1489int gk20a_do_unidle(void); 1489int __gk20a_do_unidle(struct gk20a *g);
1490int __gk20a_do_idle(struct device *dev, bool force_reset);
1491int __gk20a_do_unidle(struct device *dev);
1492 1490
1493int gk20a_can_busy(struct gk20a *g); 1491int gk20a_can_busy(struct gk20a *g);
1494void gk20a_driver_start_unload(struct gk20a *g); 1492void gk20a_driver_start_unload(struct gk20a *g);