diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/clk_gm20b.c | 11 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/clk_gm20b.h | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/hal_gm20b.c | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/os/linux/debug_clk_gm20b.h | 29 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/os/linux/os_ops_gm20b.c | 5 |
5 files changed, 34 insertions, 17 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/clk_gm20b.c b/drivers/gpu/nvgpu/gm20b/clk_gm20b.c index 2ba677b0..03fed222 100644 --- a/drivers/gpu/nvgpu/gm20b/clk_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/clk_gm20b.c | |||
@@ -1490,17 +1490,6 @@ int gm20b_init_clk_support(struct gk20a *g) | |||
1490 | err = set_pll_freq(g, 1); | 1490 | err = set_pll_freq(g, 1); |
1491 | } | 1491 | } |
1492 | nvgpu_mutex_release(&clk->clk_mutex); | 1492 | nvgpu_mutex_release(&clk->clk_mutex); |
1493 | if (err) { | ||
1494 | return err; | ||
1495 | } | ||
1496 | |||
1497 | if (!clk->debugfs_set && g->ops.clk.init_debugfs) { | ||
1498 | err = g->ops.clk.init_debugfs(g); | ||
1499 | if (err) { | ||
1500 | return err; | ||
1501 | } | ||
1502 | clk->debugfs_set = true; | ||
1503 | } | ||
1504 | 1493 | ||
1505 | return err; | 1494 | return err; |
1506 | } | 1495 | } |
diff --git a/drivers/gpu/nvgpu/gm20b/clk_gm20b.h b/drivers/gpu/nvgpu/gm20b/clk_gm20b.h index c93d4ee3..09b1bdcc 100644 --- a/drivers/gpu/nvgpu/gm20b/clk_gm20b.h +++ b/drivers/gpu/nvgpu/gm20b/clk_gm20b.h | |||
@@ -70,9 +70,6 @@ int gm20b_gpcclk_set_rate(struct clk_gk20a *clk, unsigned long rate, | |||
70 | long gm20b_round_rate(struct clk_gk20a *clk, unsigned long rate, | 70 | long gm20b_round_rate(struct clk_gk20a *clk, unsigned long rate, |
71 | unsigned long *parent_rate); | 71 | unsigned long *parent_rate); |
72 | struct pll_parms *gm20b_get_gpc_pll_parms(void); | 72 | struct pll_parms *gm20b_get_gpc_pll_parms(void); |
73 | #ifdef CONFIG_DEBUG_FS | ||
74 | int gm20b_clk_init_debugfs(struct gk20a *g); | ||
75 | #endif | ||
76 | 73 | ||
77 | int gm20b_clk_pll_reg_write(struct gk20a *g, u32 reg, u32 val); | 74 | int gm20b_clk_pll_reg_write(struct gk20a *g, u32 reg, u32 val); |
78 | int gm20b_init_clk_support(struct gk20a *g); | 75 | int gm20b_init_clk_support(struct gk20a *g); |
diff --git a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c index 51ddb561..512da9df 100644 --- a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c | |||
@@ -555,9 +555,6 @@ static const struct gpu_ops gm20b_ops = { | |||
555 | .clk = { | 555 | .clk = { |
556 | .init_clk_support = gm20b_init_clk_support, | 556 | .init_clk_support = gm20b_init_clk_support, |
557 | .suspend_clk_support = gm20b_suspend_clk_support, | 557 | .suspend_clk_support = gm20b_suspend_clk_support, |
558 | #ifdef CONFIG_DEBUG_FS | ||
559 | .init_debugfs = gm20b_clk_init_debugfs, | ||
560 | #endif | ||
561 | .get_voltage = gm20b_clk_get_voltage, | 558 | .get_voltage = gm20b_clk_get_voltage, |
562 | .get_gpcclk_clock_counter = gm20b_clk_get_gpcclk_clock_counter, | 559 | .get_gpcclk_clock_counter = gm20b_clk_get_gpcclk_clock_counter, |
563 | .pll_reg_write = gm20b_clk_pll_reg_write, | 560 | .pll_reg_write = gm20b_clk_pll_reg_write, |
diff --git a/drivers/gpu/nvgpu/os/linux/debug_clk_gm20b.h b/drivers/gpu/nvgpu/os/linux/debug_clk_gm20b.h new file mode 100644 index 00000000..850ad895 --- /dev/null +++ b/drivers/gpu/nvgpu/os/linux/debug_clk_gm20b.h | |||
@@ -0,0 +1,29 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2018, NVIDIA Corporation. All rights reserved. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify it | ||
5 | * under the terms and conditions of the GNU General Public License, | ||
6 | * version 2, as published by the Free Software Foundation. | ||
7 | * | ||
8 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
9 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
10 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
11 | * more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | |||
17 | #ifndef __DEBUG_CLK_GM20B_H | ||
18 | #define __DEBUG_CLK_GM20B_H | ||
19 | |||
20 | #ifdef CONFIG_DEBUG_FS | ||
21 | int gm20b_clk_init_debugfs(struct gk20a *g); | ||
22 | #else | ||
23 | inline int gm20b_clk_init_debugfs(struct gk20a *g) | ||
24 | { | ||
25 | return 0; | ||
26 | } | ||
27 | #endif | ||
28 | |||
29 | #endif | ||
diff --git a/drivers/gpu/nvgpu/os/linux/os_ops_gm20b.c b/drivers/gpu/nvgpu/os/linux/os_ops_gm20b.c index 7db004eb..9024ce22 100644 --- a/drivers/gpu/nvgpu/os/linux/os_ops_gm20b.c +++ b/drivers/gpu/nvgpu/os/linux/os_ops_gm20b.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include "os_linux.h" | 17 | #include "os_linux.h" |
18 | 18 | ||
19 | #include "cde_gm20b.h" | 19 | #include "cde_gm20b.h" |
20 | #include "debug_clk_gm20b.h" | ||
20 | 21 | ||
21 | static struct nvgpu_os_linux_ops gm20b_os_linux_ops = { | 22 | static struct nvgpu_os_linux_ops gm20b_os_linux_ops = { |
22 | #ifdef CONFIG_NVGPU_SUPPORT_CDE | 23 | #ifdef CONFIG_NVGPU_SUPPORT_CDE |
@@ -24,6 +25,9 @@ static struct nvgpu_os_linux_ops gm20b_os_linux_ops = { | |||
24 | .get_program_numbers = gm20b_cde_get_program_numbers, | 25 | .get_program_numbers = gm20b_cde_get_program_numbers, |
25 | }, | 26 | }, |
26 | #endif | 27 | #endif |
28 | .clk = { | ||
29 | .init_debugfs = gm20b_clk_init_debugfs, | ||
30 | }, | ||
27 | }; | 31 | }; |
28 | 32 | ||
29 | void nvgpu_gm20b_init_os_ops(struct nvgpu_os_linux *l) | 33 | void nvgpu_gm20b_init_os_ops(struct nvgpu_os_linux *l) |
@@ -31,4 +35,5 @@ void nvgpu_gm20b_init_os_ops(struct nvgpu_os_linux *l) | |||
31 | #ifdef CONFIG_NVGPU_SUPPORT_CDE | 35 | #ifdef CONFIG_NVGPU_SUPPORT_CDE |
32 | l->ops.cde = gm20b_os_linux_ops.cde; | 36 | l->ops.cde = gm20b_os_linux_ops.cde; |
33 | #endif | 37 | #endif |
38 | l->ops.clk = gm20b_os_linux_ops.clk; | ||
34 | } | 39 | } |