diff options
author | Vijayakumar <vsubbu@nvidia.com> | 2016-09-16 09:26:22 -0400 |
---|---|---|
committer | Deepak Nibade <dnibade@nvidia.com> | 2016-12-27 04:56:50 -0500 |
commit | c7fbd76e7101b7dedc8c0f04437288d1d6b78adc (patch) | |
tree | 6d1ab41af52a481ddeb148307a69113582569edd /drivers/gpu/nvgpu/clk/clk_domain.h | |
parent | 3c351f5bb2d04c1f70c72f3f2fd758bbb340877c (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.h | 7 |
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); | |||
30 | typedef u32 clkproglink(struct gk20a *g, struct clk_pmupstate *pclk, | 30 | typedef u32 clkproglink(struct gk20a *g, struct clk_pmupstate *pclk, |
31 | struct clk_domain *pdomain); | 31 | struct clk_domain *pdomain); |
32 | 32 | ||
33 | typedef u32 clkvfsearch(struct gk20a *g, struct clk_pmupstate *pclk, | 33 | typedef 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 | ||
37 | typedef int clkgetslaveclk(struct gk20a *g, struct clk_pmupstate *pclk, | ||
38 | struct clk_domain *pdomain, u16 *clkmhz, | ||
39 | u16 masterclkmhz); | ||
40 | |||
37 | typedef u32 clkgetfpoints(struct gk20a *g, struct clk_pmupstate *pclk, | 41 | typedef 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 { | |||
100 | struct clk_domain_3x_slave { | 104 | struct 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 | ||
105 | u32 clk_domain_clk_prog_link(struct gk20a *g, struct clk_pmupstate *pclk); | 110 | u32 clk_domain_clk_prog_link(struct gk20a *g, struct clk_pmupstate *pclk); |