summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r--drivers/gpu/nvgpu/clk/clk_arb.c4
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c8
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h6
-rw-r--r--drivers/gpu/nvgpu/gp106/clk_gp106.c5
-rw-r--r--drivers/gpu/nvgpu/gp106/pmu_gp106.c4
-rw-r--r--drivers/gpu/nvgpu/gp106/pmu_mclk_gp106.c5
6 files changed, 16 insertions, 16 deletions
diff --git a/drivers/gpu/nvgpu/clk/clk_arb.c b/drivers/gpu/nvgpu/clk/clk_arb.c
index 58d529c6..df62df5e 100644
--- a/drivers/gpu/nvgpu/clk/clk_arb.c
+++ b/drivers/gpu/nvgpu/clk/clk_arb.c
@@ -1989,7 +1989,7 @@ static int nvgpu_clk_arb_change_vf_point(struct gk20a *g, u16 gpc2clk_target,
1989 1989
1990 /* descending */ 1990 /* descending */
1991 if (voltuv < arb->voltuv_actual) { 1991 if (voltuv < arb->voltuv_actual) {
1992 status = g->ops.pmu.mclk_change(g, mclk_target); 1992 status = g->ops.clk.mclk_change(g, mclk_target);
1993 if (status < 0) 1993 if (status < 0)
1994 return status; 1994 return status;
1995 1995
@@ -2009,7 +2009,7 @@ static int nvgpu_clk_arb_change_vf_point(struct gk20a *g, u16 gpc2clk_target,
2009 if (status < 0) 2009 if (status < 0)
2010 return status; 2010 return status;
2011 2011
2012 status = g->ops.pmu.mclk_change(g, mclk_target); 2012 status = g->ops.clk.mclk_change(g, mclk_target);
2013 if (status < 0) 2013 if (status < 0)
2014 return status; 2014 return status;
2015 } 2015 }
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index 7106ea03..65197aca 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -137,8 +137,8 @@ int gk20a_prepare_poweroff(struct gk20a *g)
137 ret |= gk20a_mm_suspend(g); 137 ret |= gk20a_mm_suspend(g);
138 ret |= gk20a_fifo_suspend(g); 138 ret |= gk20a_fifo_suspend(g);
139 139
140 if (g->ops.pmu.mclk_deinit) 140 if (g->ops.clk.mclk_deinit)
141 g->ops.pmu.mclk_deinit(g); 141 g->ops.clk.mclk_deinit(g);
142 142
143 /* Disable GPCPLL */ 143 /* Disable GPCPLL */
144 if (g->ops.clk.suspend_clk_support) 144 if (g->ops.clk.suspend_clk_support)
@@ -273,8 +273,8 @@ int gk20a_finalize_poweron(struct gk20a *g)
273 goto done; 273 goto done;
274 } 274 }
275 275
276 if (g->ops.pmu.mclk_init) { 276 if (g->ops.clk.mclk_init) {
277 err = g->ops.pmu.mclk_init(g); 277 err = g->ops.clk.mclk_init(g);
278 if (err) { 278 if (err) {
279 nvgpu_err(g, "failed to set mclk"); 279 nvgpu_err(g, "failed to set mclk");
280 /* Indicate error dont goto done */ 280 /* Indicate error dont goto done */
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 06db2b7f..9b28e0c6 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -772,9 +772,6 @@ struct gpu_ops {
772 void *lsfm, u32 *p_bl_gen_desc_size); 772 void *lsfm, u32 *p_bl_gen_desc_size);
773 int (*flcn_populate_bl_dmem_desc)(struct gk20a *g, 773 int (*flcn_populate_bl_dmem_desc)(struct gk20a *g,
774 void *lsfm, u32 *p_bl_gen_desc_size, u32 falconid); 774 void *lsfm, u32 *p_bl_gen_desc_size, u32 falconid);
775 int (*mclk_init)(struct gk20a *g);
776 void (*mclk_deinit)(struct gk20a *g);
777 int (*mclk_change)(struct gk20a *g, u16 val);
778 void (*handle_ext_irq)(struct gk20a *g, u32 intr); 775 void (*handle_ext_irq)(struct gk20a *g, u32 intr);
779 void (*set_irqmask)(struct gk20a *g); 776 void (*set_irqmask)(struct gk20a *g);
780 u32 lspmuwprinitdone; 777 u32 lspmuwprinitdone;
@@ -802,6 +799,9 @@ struct gpu_ops {
802 int (*pll_reg_write)(struct gk20a *g, u32 reg, u32 val); 799 int (*pll_reg_write)(struct gk20a *g, u32 reg, u32 val);
803 int (*get_pll_debug_data)(struct gk20a *g, 800 int (*get_pll_debug_data)(struct gk20a *g,
804 struct nvgpu_clk_pll_debug_data *d); 801 struct nvgpu_clk_pll_debug_data *d);
802 int (*mclk_init)(struct gk20a *g);
803 void (*mclk_deinit)(struct gk20a *g);
804 int (*mclk_change)(struct gk20a *g, u16 val);
805 } clk; 805 } clk;
806 struct { 806 struct {
807 u32 (*get_arbiter_clk_domains)(struct gk20a *g); 807 u32 (*get_arbiter_clk_domains)(struct gk20a *g);
diff --git a/drivers/gpu/nvgpu/gp106/clk_gp106.c b/drivers/gpu/nvgpu/gp106/clk_gp106.c
index 4d865664..08639e0b 100644
--- a/drivers/gpu/nvgpu/gp106/clk_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/clk_gp106.c
@@ -30,6 +30,8 @@
30#include "clk_gp106.h" 30#include "clk_gp106.h"
31#include "clk/clk_arb.h" 31#include "clk/clk_arb.h"
32 32
33#include "gp106/pmu_mclk_gp106.h"
34
33#include <nvgpu/hw/gp106/hw_trim_gp106.h> 35#include <nvgpu/hw/gp106/hw_trim_gp106.h>
34 36
35#define gk20a_dbg_clk(fmt, arg...) \ 37#define gk20a_dbg_clk(fmt, arg...) \
@@ -281,4 +283,7 @@ void gp106_init_clk_ops(struct gpu_ops *gops) {
281 gops->clk.get_crystal_clk_hz = gp106_crystal_clk_hz; 283 gops->clk.get_crystal_clk_hz = gp106_crystal_clk_hz;
282 gops->clk.measure_freq = gp106_clk_measure_freq; 284 gops->clk.measure_freq = gp106_clk_measure_freq;
283 gops->clk.suspend_clk_support = gp106_suspend_clk_support; 285 gops->clk.suspend_clk_support = gp106_suspend_clk_support;
286 gops->clk.mclk_init = gp106_mclk_init;
287 gops->clk.mclk_change = gp106_mclk_change;
288 gops->clk.mclk_deinit = gp106_mclk_deinit;
284} 289}
diff --git a/drivers/gpu/nvgpu/gp106/pmu_gp106.c b/drivers/gpu/nvgpu/gp106/pmu_gp106.c
index 632023ba..eec89695 100644
--- a/drivers/gpu/nvgpu/gp106/pmu_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/pmu_gp106.c
@@ -20,7 +20,6 @@
20#include "gm20b/pmu_gm20b.h" 20#include "gm20b/pmu_gm20b.h"
21#include "gp10b/pmu_gp10b.h" 21#include "gp10b/pmu_gp10b.h"
22#include "gp106/pmu_gp106.h" 22#include "gp106/pmu_gp106.h"
23#include "gp106/pmu_mclk_gp106.h"
24#include "gp106/acr_gp106.h" 23#include "gp106/acr_gp106.h"
25 24
26#include "clk/clk_mclk.h" 25#include "clk/clk_mclk.h"
@@ -331,9 +330,6 @@ void gp106_init_pmu_ops(struct gpu_ops *gops)
331 gops->pmu.pmu_lpwr_disable_pg = nvgpu_lpwr_disable_pg; 330 gops->pmu.pmu_lpwr_disable_pg = nvgpu_lpwr_disable_pg;
332 gops->pmu.pmu_pg_param_post_init = nvgpu_lpwr_post_init; 331 gops->pmu.pmu_pg_param_post_init = nvgpu_lpwr_post_init;
333 gops->pmu.dump_secure_fuses = NULL; 332 gops->pmu.dump_secure_fuses = NULL;
334 gops->pmu.mclk_init = gp106_mclk_init;
335 gops->pmu.mclk_change = gp106_mclk_change;
336 gops->pmu.mclk_deinit = gp106_mclk_deinit;
337 gops->pmu.is_pmu_supported = gp106_is_pmu_supported; 333 gops->pmu.is_pmu_supported = gp106_is_pmu_supported;
338 gops->pmu.reset_engine = gp106_pmu_engine_reset; 334 gops->pmu.reset_engine = gp106_pmu_engine_reset;
339 gops->pmu.is_engine_in_reset = gp106_pmu_is_engine_in_reset; 335 gops->pmu.is_engine_in_reset = gp106_pmu_is_engine_in_reset;
diff --git a/drivers/gpu/nvgpu/gp106/pmu_mclk_gp106.c b/drivers/gpu/nvgpu/gp106/pmu_mclk_gp106.c
index b8dd3eac..c0e4269f 100644
--- a/drivers/gpu/nvgpu/gp106/pmu_mclk_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/pmu_mclk_gp106.c
@@ -3276,7 +3276,6 @@ int gp106_mclk_init(struct gk20a *g)
3276 mclk->debugfs_set = true; 3276 mclk->debugfs_set = true;
3277 } 3277 }
3278#endif 3278#endif
3279 g->ops.pmu.mclk_change = gp106_mclk_change;
3280 3279
3281 mclk->init = true; 3280 mclk->init = true;
3282 3281
@@ -3437,8 +3436,8 @@ static int mclk_debug_speed_set(void *data, u64 val)
3437 /* This is problematic because it can interrupt the arbiter 3436 /* This is problematic because it can interrupt the arbiter
3438 * and send it to sleep. we need to consider removing this 3437 * and send it to sleep. we need to consider removing this
3439 */ 3438 */
3440 if (g->ops.pmu.mclk_change) 3439 if (g->ops.clk.mclk_change)
3441 return g->ops.pmu.mclk_change(g, (u16) val); 3440 return g->ops.clk.mclk_change(g, (u16) val);
3442 return 0; 3441 return 0;
3443 3442
3444} 3443}