summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp106
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gp106')
-rw-r--r--drivers/gpu/nvgpu/gp106/clk_arb_gp106.c9
-rw-r--r--drivers/gpu/nvgpu/gp106/clk_arb_gp106.h2
-rw-r--r--drivers/gpu/nvgpu/gp106/hal_gp106.c1
3 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp106/clk_arb_gp106.c b/drivers/gpu/nvgpu/gp106/clk_arb_gp106.c
index 001f2bfc..87fc6a1f 100644
--- a/drivers/gpu/nvgpu/gp106/clk_arb_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/clk_arb_gp106.c
@@ -31,6 +31,13 @@ u32 gp106_get_arbiter_clk_domains(struct gk20a *g)
31 return (CTRL_CLK_DOMAIN_MCLK|CTRL_CLK_DOMAIN_GPC2CLK); 31 return (CTRL_CLK_DOMAIN_MCLK|CTRL_CLK_DOMAIN_GPC2CLK);
32} 32}
33 33
34int gp106_get_arbiter_f_points(struct gk20a *g,u32 api_domain,
35 u32 *num_points, u16 *freqs_in_mhz)
36{
37 return g->ops.clk.clk_domain_get_f_points(g,
38 api_domain, num_points, freqs_in_mhz);
39}
40
34int gp106_get_arbiter_clk_range(struct gk20a *g, u32 api_domain, 41int gp106_get_arbiter_clk_range(struct gk20a *g, u32 api_domain,
35 u16 *min_mhz, u16 *max_mhz) 42 u16 *min_mhz, u16 *max_mhz)
36{ 43{
@@ -129,6 +136,8 @@ int gp106_init_clk_arbiter(struct gk20a *g)
129 if (!arb) 136 if (!arb)
130 return -ENOMEM; 137 return -ENOMEM;
131 138
139 arb->clk_arb_events_supported = true;
140
132 err = nvgpu_mutex_init(&arb->pstate_lock); 141 err = nvgpu_mutex_init(&arb->pstate_lock);
133 if (err) 142 if (err)
134 goto mutex_fail; 143 goto mutex_fail;
diff --git a/drivers/gpu/nvgpu/gp106/clk_arb_gp106.h b/drivers/gpu/nvgpu/gp106/clk_arb_gp106.h
index e2b2834c..4c1257e1 100644
--- a/drivers/gpu/nvgpu/gp106/clk_arb_gp106.h
+++ b/drivers/gpu/nvgpu/gp106/clk_arb_gp106.h
@@ -26,6 +26,8 @@ struct nvgpu_clk_session;
26struct nvgpu_clk_arb; 26struct nvgpu_clk_arb;
27 27
28u32 gp106_get_arbiter_clk_domains(struct gk20a *g); 28u32 gp106_get_arbiter_clk_domains(struct gk20a *g);
29int gp106_get_arbiter_f_points(struct gk20a *g,u32 api_domain,
30 u32 *num_points, u16 *freqs_in_mhz);
29int gp106_get_arbiter_clk_range(struct gk20a *g, u32 api_domain, 31int gp106_get_arbiter_clk_range(struct gk20a *g, u32 api_domain,
30 u16 *min_mhz, u16 *max_mhz); 32 u16 *min_mhz, u16 *max_mhz);
31int gp106_get_arbiter_clk_default(struct gk20a *g, u32 api_domain, 33int gp106_get_arbiter_clk_default(struct gk20a *g, u32 api_domain,
diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c
index ef66be56..d3804f0e 100644
--- a/drivers/gpu/nvgpu/gp106/hal_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c
@@ -679,6 +679,7 @@ static const struct gpu_ops gp106_ops = {
679 }, 679 },
680 .clk_arb = { 680 .clk_arb = {
681 .get_arbiter_clk_domains = gp106_get_arbiter_clk_domains, 681 .get_arbiter_clk_domains = gp106_get_arbiter_clk_domains,
682 .get_arbiter_f_points = gp106_get_arbiter_f_points,
682 .get_arbiter_clk_range = gp106_get_arbiter_clk_range, 683 .get_arbiter_clk_range = gp106_get_arbiter_clk_range,
683 .get_arbiter_clk_default = gp106_get_arbiter_clk_default, 684 .get_arbiter_clk_default = gp106_get_arbiter_clk_default,
684 .get_current_pstate = nvgpu_clk_arb_get_current_pstate, 685 .get_current_pstate = nvgpu_clk_arb_get_current_pstate,