summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/clk/clk_domain.h
diff options
context:
space:
mode:
authorVaikundanathan S <vaikuns@nvidia.com>2018-07-13 05:54:04 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-09-10 18:22:48 -0400
commita02e1c1f0b012b743d4c1ba9c853057b4359107e (patch)
tree32e9e5f5533ecb90a4f376a086249255df0e7b6b /drivers/gpu/nvgpu/clk/clk_domain.h
parent4f01d6a9b9a54cf6042db157de0d40965077f6a2 (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.h25
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
115struct 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
115struct clk_domain_3x_master { 123struct 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
128struct 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
120struct clk_domain_3x_slave { 134struct 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
140struct clk_domain_30_slave {
141 u8 rsvd;
142 u8 master_idx;
143 clkgetslaveclk *clkdomainclkgetslaveclk;
144};
145
146struct clk_domain_35_slave {
147 struct clk_domain_35_prog super;
148 struct clk_domain_30_slave slave;
149};
150
126int clk_domain_clk_prog_link(struct gk20a *g, struct clk_pmupstate *pclk); 151int 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) \