summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/clk/clk.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/clk/clk.h')
-rw-r--r--drivers/gpu/nvgpu/clk/clk.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/clk/clk.h b/drivers/gpu/nvgpu/clk/clk.h
index 1f25fa4e..e54af521 100644
--- a/drivers/gpu/nvgpu/clk/clk.h
+++ b/drivers/gpu/nvgpu/clk/clk.h
@@ -35,6 +35,7 @@ struct clk_pmupstate {
35 struct clk_progs clk_progobjs; 35 struct clk_progs clk_progobjs;
36 struct clk_vf_points clk_vf_pointobjs; 36 struct clk_vf_points clk_vf_pointobjs;
37 struct clk_mclk_state clk_mclk; 37 struct clk_mclk_state clk_mclk;
38 struct mutex changeclkmutex;
38}; 39};
39 40
40struct clockentry { 41struct clockentry {
@@ -44,6 +45,25 @@ struct clockentry {
44 u32 api_clk_domain; 45 u32 api_clk_domain;
45}; 46};
46 47
48struct change_fll_clk {
49 u32 api_clk_domain;
50 u16 clkmhz;
51 u32 voltuv;
52};
53
54struct set_fll_clk {
55 u32 voltuv;
56 u16 gpc2clkmhz;
57 u32 current_regime_id_gpc;
58 u32 target_regime_id_gpc;
59 u16 sys2clkmhz;
60 u32 current_regime_id_sys;
61 u32 target_regime_id_sys;
62 u16 xbar2clkmhz;
63 u32 current_regime_id_xbar;
64 u32 target_regime_id_xbar;
65};
66
47#define NV_PERF_HEADER_4X_CLOCKS_DOMAINS_MAX_NUMCLKS 9 67#define NV_PERF_HEADER_4X_CLOCKS_DOMAINS_MAX_NUMCLKS 9
48 68
49struct vbios_clock_domain { 69struct vbios_clock_domain {
@@ -82,7 +102,6 @@ struct vbios_clocks_table_1x_hal_clock_entry {
82#define PERF_CLK_PCIEGENCLK 12 102#define PERF_CLK_PCIEGENCLK 12
83#define PERF_CLK_NUM 13 103#define PERF_CLK_NUM 13
84 104
85u32 clk_pmu_vf_inject(struct gk20a *g);
86u32 clk_pmu_vin_load(struct gk20a *g); 105u32 clk_pmu_vin_load(struct gk20a *g);
87u32 clk_domain_print_vf_table(struct gk20a *g, u32 clkapidomain); 106u32 clk_domain_print_vf_table(struct gk20a *g, u32 clkapidomain);
88u32 clk_domain_get_f_or_v 107u32 clk_domain_get_f_or_v
@@ -98,5 +117,6 @@ u32 clk_domain_get_f_points(
98 u32 *fpointscount, 117 u32 *fpointscount,
99 u16 *freqpointsinmhz 118 u16 *freqpointsinmhz
100); 119);
101 120int clk_set_boot_fll_clk(struct gk20a *g);
121int clk_program_fll_clks(struct gk20a *g, struct change_fll_clk *fllclk);
102#endif 122#endif