summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/clk/clk_domain.h
diff options
context:
space:
mode:
authorVijayakumar <vsubbu@nvidia.com>2016-09-16 09:26:22 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:56:50 -0500
commitc7fbd76e7101b7dedc8c0f04437288d1d6b78adc (patch)
tree6d1ab41af52a481ddeb148307a69113582569edd /drivers/gpu/nvgpu/clk/clk_domain.h
parent3c351f5bb2d04c1f70c72f3f2fd758bbb340877c (diff)
gpu: nvgpu: create function to program coreclk
JIRA DNVGPU-123 now a function can be called with GPC2CLK value It will take care calculating slave clock values and calling VF inject to program clock Made programming of boot clock code to use this newly created function. Change-Id: I74de7e9d98e379e94175ed2d9745ce3ab6c70691 Signed-off-by: Vijayakumar <vsubbu@nvidia.com> Reviewed-on: http://git-master/r/1221976 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/1235056
Diffstat (limited to 'drivers/gpu/nvgpu/clk/clk_domain.h')
-rw-r--r--drivers/gpu/nvgpu/clk/clk_domain.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/clk/clk_domain.h b/drivers/gpu/nvgpu/clk/clk_domain.h
index eeb7c256..443e1c4c 100644
--- a/drivers/gpu/nvgpu/clk/clk_domain.h
+++ b/drivers/gpu/nvgpu/clk/clk_domain.h
@@ -30,10 +30,14 @@ u32 clk_domain_pmu_setup(struct gk20a *g);
30typedef u32 clkproglink(struct gk20a *g, struct clk_pmupstate *pclk, 30typedef u32 clkproglink(struct gk20a *g, struct clk_pmupstate *pclk,
31 struct clk_domain *pdomain); 31 struct clk_domain *pdomain);
32 32
33typedef u32 clkvfsearch(struct gk20a *g, struct clk_pmupstate *pclk, 33typedef int clkvfsearch(struct gk20a *g, struct clk_pmupstate *pclk,
34 struct clk_domain *pdomain, u16 *clkmhz, 34 struct clk_domain *pdomain, u16 *clkmhz,
35 u32 *voltuv, u8 rail); 35 u32 *voltuv, u8 rail);
36 36
37typedef int clkgetslaveclk(struct gk20a *g, struct clk_pmupstate *pclk,
38 struct clk_domain *pdomain, u16 *clkmhz,
39 u16 masterclkmhz);
40
37typedef u32 clkgetfpoints(struct gk20a *g, struct clk_pmupstate *pclk, 41typedef u32 clkgetfpoints(struct gk20a *g, struct clk_pmupstate *pclk,
38 struct clk_domain *pdomain, u32 *pfpointscount, 42 struct clk_domain *pdomain, u32 *pfpointscount,
39 u16 *pfreqpointsinmhz, u8 rail); 43 u16 *pfreqpointsinmhz, u8 rail);
@@ -100,6 +104,7 @@ struct clk_domain_3x_master {
100struct clk_domain_3x_slave { 104struct clk_domain_3x_slave {
101 struct clk_domain_3x_prog super; 105 struct clk_domain_3x_prog super;
102 u8 master_idx; 106 u8 master_idx;
107 clkgetslaveclk *clkdomainclkgetslaveclk;
103}; 108};
104 109
105u32 clk_domain_clk_prog_link(struct gk20a *g, struct clk_pmupstate *pclk); 110u32 clk_domain_clk_prog_link(struct gk20a *g, struct clk_pmupstate *pclk);