diff options
author | Vaikundanathan S <vaikuns@nvidia.com> | 2018-07-13 05:54:04 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-09-10 18:22:48 -0400 |
commit | a02e1c1f0b012b743d4c1ba9c853057b4359107e (patch) | |
tree | 32e9e5f5533ecb90a4f376a086249255df0e7b6b /drivers/gpu/nvgpu/clk/clk_domain.h | |
parent | 4f01d6a9b9a54cf6042db157de0d40965077f6a2 (diff) |
nvgpu:ps35: Clock domain changes
1. PMU interface changes
2. Split PS3.0 and PS3.5 into two dev init functions.
3. Split construct and pmu_data_init to two funcitons.
4. Fixing GV100 impact on PS3.5 changes
Change-Id: I46ba80325d4a249918edbe4cf868ddf47c778aa1
Signed-off-by: Vaikundanathan S <vaikuns@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1777739
Reviewed-by: svc-misra-checker <svc-misra-checker@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/clk/clk_domain.h')
-rw-r--r-- | drivers/gpu/nvgpu/clk/clk_domain.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/clk/clk_domain.h b/drivers/gpu/nvgpu/clk/clk_domain.h index d0170339..a8ae0d48 100644 --- a/drivers/gpu/nvgpu/clk/clk_domain.h +++ b/drivers/gpu/nvgpu/clk/clk_domain.h | |||
@@ -112,17 +112,42 @@ struct clk_domain_3x_prog { | |||
112 | u8 noise_aware_ordering_index; | 112 | u8 noise_aware_ordering_index; |
113 | }; | 113 | }; |
114 | 114 | ||
115 | struct clk_domain_35_prog { | ||
116 | struct clk_domain_3x_prog super; | ||
117 | u8 pre_volt_ordering_index; | ||
118 | u8 post_volt_ordering_index; | ||
119 | u8 clk_pos; | ||
120 | u8 clk_vf_curve_count; | ||
121 | }; | ||
122 | |||
115 | struct clk_domain_3x_master { | 123 | struct clk_domain_3x_master { |
116 | struct clk_domain_3x_prog super; | 124 | struct clk_domain_3x_prog super; |
117 | u32 slave_idxs_mask; | 125 | u32 slave_idxs_mask; |
118 | }; | 126 | }; |
119 | 127 | ||
128 | struct clk_domain_35_master { | ||
129 | struct clk_domain_35_prog super; | ||
130 | struct clk_domain_3x_master master; | ||
131 | struct boardobjgrpmask_e32 master_slave_domains_grp_mask; | ||
132 | }; | ||
133 | |||
120 | struct clk_domain_3x_slave { | 134 | struct clk_domain_3x_slave { |
121 | struct clk_domain_3x_prog super; | 135 | struct clk_domain_3x_prog super; |
122 | u8 master_idx; | 136 | u8 master_idx; |
123 | clkgetslaveclk *clkdomainclkgetslaveclk; | 137 | clkgetslaveclk *clkdomainclkgetslaveclk; |
124 | }; | 138 | }; |
125 | 139 | ||
140 | struct clk_domain_30_slave { | ||
141 | u8 rsvd; | ||
142 | u8 master_idx; | ||
143 | clkgetslaveclk *clkdomainclkgetslaveclk; | ||
144 | }; | ||
145 | |||
146 | struct clk_domain_35_slave { | ||
147 | struct clk_domain_35_prog super; | ||
148 | struct clk_domain_30_slave slave; | ||
149 | }; | ||
150 | |||
126 | int clk_domain_clk_prog_link(struct gk20a *g, struct clk_pmupstate *pclk); | 151 | int clk_domain_clk_prog_link(struct gk20a *g, struct clk_pmupstate *pclk); |
127 | 152 | ||
128 | #define CLK_CLK_DOMAIN_GET(pclk, idx) \ | 153 | #define CLK_CLK_DOMAIN_GET(pclk, idx) \ |