diff options
author | Thomas Fleury <tfleury@nvidia.com> | 2017-05-12 14:14:31 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-06-21 00:43:42 -0400 |
commit | 83f8bb225b074bfdf11a2da6c21acf204eecb293 (patch) | |
tree | c560bfd66c19199f00d85a5c63b4252784dd444d /drivers/gpu/nvgpu/clk/clk_mclk.h | |
parent | d0ea8fe969b2a8f7509621103c1ead83187b798b (diff) |
gpu: nvgpu: mclk switching sequences for PG419
VBIOS memory settings have been updated for PG419, significantly
modifying MCLK switching sequences. This change adds support for
PG419 tables, while remaining backward compatible with PG418.
Bug 1921082
JIRA EVLR-1269
Change-Id: Ia8a1f8b3f482e348a46f0acb540af23287d9c11e
Signed-off-by: Thomas Fleury <tfleury@nvidia.com>
Reviewed-on: http://git-master/r/1484110
(cherry picked from commit c2444ae89caf97da2702e8486cc8fb162b4f50b1)
Reviewed-on: http://git-master/r/1485300
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/clk/clk_mclk.h')
-rw-r--r-- | drivers/gpu/nvgpu/clk/clk_mclk.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/clk/clk_mclk.h b/drivers/gpu/nvgpu/clk/clk_mclk.h index 64eee5ac..4918b917 100644 --- a/drivers/gpu/nvgpu/clk/clk_mclk.h +++ b/drivers/gpu/nvgpu/clk/clk_mclk.h | |||
@@ -16,6 +16,14 @@ | |||
16 | 16 | ||
17 | #include <nvgpu/lock.h> | 17 | #include <nvgpu/lock.h> |
18 | 18 | ||
19 | #define GP106_MCLK_LOW_SPEED 0 | ||
20 | #define GP106_MCLK_MID_SPEED 1 | ||
21 | #define GP106_MCLK_HIGH_SPEED 2 | ||
22 | #define GP106_MCLK_NUM_SPEED 3 | ||
23 | |||
24 | #define GP106_MEM_CONFIG_GDDR5_PG418 0 | ||
25 | #define GP106_MEM_CONFIG_GDDR5_PG419 1 | ||
26 | |||
19 | enum gk20a_mclk_speed { | 27 | enum gk20a_mclk_speed { |
20 | gk20a_mclk_low_speed, | 28 | gk20a_mclk_low_speed, |
21 | gk20a_mclk_mid_speed, | 29 | gk20a_mclk_mid_speed, |
@@ -23,7 +31,7 @@ enum gk20a_mclk_speed { | |||
23 | }; | 31 | }; |
24 | 32 | ||
25 | struct clk_mclk_state { | 33 | struct clk_mclk_state { |
26 | enum gk20a_mclk_speed speed; | 34 | u32 speed; |
27 | struct nvgpu_mutex mclk_lock; | 35 | struct nvgpu_mutex mclk_lock; |
28 | struct nvgpu_mutex data_lock; | 36 | struct nvgpu_mutex data_lock; |
29 | 37 | ||
@@ -33,9 +41,6 @@ struct clk_mclk_state { | |||
33 | void *vreg_buf; | 41 | void *vreg_buf; |
34 | bool init; | 42 | bool init; |
35 | 43 | ||
36 | /* function pointers */ | ||
37 | int (*change)(struct gk20a *g, u16 val); | ||
38 | |||
39 | #ifdef CONFIG_DEBUG_FS | 44 | #ifdef CONFIG_DEBUG_FS |
40 | s64 switch_max; | 45 | s64 switch_max; |
41 | s64 switch_min; | 46 | s64 switch_min; |