summaryrefslogtreecommitdiffstats
path: root/include/linux
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 /include/linux
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 'include/linux')
-rw-r--r--include/linux/gk20a.h35
1 files changed, 0 insertions, 35 deletions
diff --git a/include/linux/gk20a.h b/include/linux/gk20a.h
deleted file mode 100644
index ec81faf4..00000000
--- a/include/linux/gk20a.h
+++ /dev/null
@@ -1,35 +0,0 @@
1/*
2 * gk20a GPU driver
3 *
4 * Copyright (c) 2014-2016, NVIDIA Corporation. All rights reserved.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License,
8 * version 2, as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13 * more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef __GK20A_H
20#define __GK20A_H
21
22#include <linux/errno.h>
23
24struct channel_gk20a;
25struct platform_device;
26
27#if defined(CONFIG_GK20A) && defined(CONFIG_PM)
28int gk20a_do_idle(void);
29int gk20a_do_unidle(void);
30#else
31static inline int gk20a_do_idle(void) { return -ENOSYS; }
32static inline int gk20a_do_unidle(void) { return -ENOSYS; }
33#endif
34
35#endif