summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b')
-rw-r--r--drivers/gpu/nvgpu/gm20b/Makefile1
-rw-r--r--drivers/gpu/nvgpu/gm20b/clk_gm20b.c34
-rw-r--r--drivers/gpu/nvgpu/gm20b/clk_gm20b.h26
-rw-r--r--drivers/gpu/nvgpu/gm20b/hal_gm20b.c2
4 files changed, 63 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/Makefile b/drivers/gpu/nvgpu/gm20b/Makefile
index 20328e9e..d11e20fa 100644
--- a/drivers/gpu/nvgpu/gm20b/Makefile
+++ b/drivers/gpu/nvgpu/gm20b/Makefile
@@ -13,4 +13,5 @@ obj-$(CONFIG_GK20A) = \
13 gm20b_gating_reglist.o \ 13 gm20b_gating_reglist.o \
14 acr_gm20b.o \ 14 acr_gm20b.o \
15 pmu_gm20b.o \ 15 pmu_gm20b.o \
16 clk_gm20b.o \
16 mm_gm20b.o 17 mm_gm20b.o
diff --git a/drivers/gpu/nvgpu/gm20b/clk_gm20b.c b/drivers/gpu/nvgpu/gm20b/clk_gm20b.c
new file mode 100644
index 00000000..848e4682
--- /dev/null
+++ b/drivers/gpu/nvgpu/gm20b/clk_gm20b.c
@@ -0,0 +1,34 @@
1/*
2 * GM20B Clocks
3 *
4 * Copyright (c) 2014, 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#include <linux/clk.h>
20#include <linux/delay.h> /* for mdelay */
21#include <linux/module.h>
22#include <linux/debugfs.h>
23#include <linux/clk/tegra.h>
24#include <mach/thermal.h>
25
26#include "gk20a/gk20a.h"
27#include "gk20a/hw_trim_gk20a.h"
28#include "gk20a/hw_timer_gk20a.h"
29
30void gm20b_init_clk_ops(struct gpu_ops *gops)
31{
32 gops->clk.init_clk_support = gk20a_init_clk_support;
33}
34
diff --git a/drivers/gpu/nvgpu/gm20b/clk_gm20b.h b/drivers/gpu/nvgpu/gm20b/clk_gm20b.h
new file mode 100644
index 00000000..cac5708c
--- /dev/null
+++ b/drivers/gpu/nvgpu/gm20b/clk_gm20b.h
@@ -0,0 +1,26 @@
1/*
2 * GM20B Graphics
3 *
4 * Copyright (c) 2014, 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 along with
16 * this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19#ifndef _NVHOST_CLK_GM20B_H_
20#define _NVHOST_CLK_GM20B_H_
21
22#include <linux/mutex.h>
23
24void gm20b_init_clk_ops(struct gpu_ops *gops);
25
26#endif /* _NVHOST_CLK_GM20B_H_ */
diff --git a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
index 0d6b0447..5e8fc0ae 100644
--- a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
@@ -26,6 +26,7 @@
26#include "gr_ctx_gm20b.h" 26#include "gr_ctx_gm20b.h"
27#include "mm_gm20b.h" 27#include "mm_gm20b.h"
28#include "pmu_gm20b.h" 28#include "pmu_gm20b.h"
29#include "clk_gm20b.h"
29 30
30struct gpu_ops gm20b_ops = { 31struct gpu_ops gm20b_ops = {
31 .clock_gating = { 32 .clock_gating = {
@@ -53,6 +54,7 @@ int gm20b_init_hal(struct gpu_ops *gops)
53 gm20b_init_gr_ctx(gops); 54 gm20b_init_gr_ctx(gops);
54 gm20b_init_mm(gops); 55 gm20b_init_mm(gops);
55 gm20b_init_pmu_ops(gops); 56 gm20b_init_pmu_ops(gops);
57 gm20b_init_clk_ops(gops);
56 gops->name = "gm20b"; 58 gops->name = "gm20b";
57 59
58 return 0; 60 return 0;