summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/clk/clk_mclk.h
diff options
context:
space:
mode:
authorThomas Fleury <tfleury@nvidia.com>2017-05-12 14:14:31 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-06-21 00:43:42 -0400
commit83f8bb225b074bfdf11a2da6c21acf204eecb293 (patch)
treec560bfd66c19199f00d85a5c63b4252784dd444d /drivers/gpu/nvgpu/clk/clk_mclk.h
parentd0ea8fe969b2a8f7509621103c1ead83187b798b (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.h13
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
19enum gk20a_mclk_speed { 27enum 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
25struct clk_mclk_state { 33struct 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;