summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/pstate/pstate.c
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2016-09-21 05:32:59 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:56:50 -0500
commit741d78ec45f6c48348743617ba5ae7163c95e49a (patch)
treeaf51c25cd2ccae6ced16710d80209e35181b3b8f /drivers/gpu/nvgpu/pstate/pstate.c
parent173bdefc92e2e4ef8f1e7e6ead7f86e746bee935 (diff)
gpu: nvgpu: construct/load tabels & set voltage
- Read voltage tables from VBIOS & construct then send to PMU. - compare & set voltage based on mclk/gpc2clk clk, take higher voltage between two & set. JIRA DNVGPU-122 Change-Id: I23e7b101a3b1c1b6596620fc6b8319c70bd9a488 Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: http://git-master/r/1224365 (cherry picked from commit e0055c3ec798b8312df3fa9bf92bde8c57c6f58c) Reviewed-on: http://git-master/r/1244657 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/pstate/pstate.c')
-rw-r--r--drivers/gpu/nvgpu/pstate/pstate.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/pstate/pstate.c b/drivers/gpu/nvgpu/pstate/pstate.c
index f4cc50ab..a4787f35 100644
--- a/drivers/gpu/nvgpu/pstate/pstate.c
+++ b/drivers/gpu/nvgpu/pstate/pstate.c
@@ -29,6 +29,18 @@ int gk20a_init_pstate_support(struct gk20a *g)
29 29
30 gk20a_dbg_fn(""); 30 gk20a_dbg_fn("");
31 31
32 err = volt_rail_sw_setup(g);
33 if (err)
34 return err;
35
36 err = volt_dev_sw_setup(g);
37 if (err)
38 return err;
39
40 err = volt_policy_sw_setup(g);
41 if (err)
42 return err;
43
32 err = clk_vin_sw_setup(g); 44 err = clk_vin_sw_setup(g);
33 if (err) 45 if (err)
34 return err; 46 return err;
@@ -72,6 +84,26 @@ int gk20a_init_pstate_pmu_support(struct gk20a *g)
72 84
73 gk20a_dbg_fn(""); 85 gk20a_dbg_fn("");
74 86
87 err = volt_rail_pmu_setup(g);
88 if (err)
89 return err;
90
91 err = volt_dev_pmu_setup(g);
92 if (err)
93 return err;
94
95 err = volt_policy_pmu_setup(g);
96 if (err)
97 return err;
98
99 err = volt_pmu_send_load_cmd_to_pmu(g);
100 if (err) {
101 gk20a_err(dev_from_gk20a(g),
102 "Failed to send VOLT LOAD CMD to PMU: status = 0x%08x.",
103 err);
104 return err;
105 }
106
75 err = vfe_var_pmu_setup(g); 107 err = vfe_var_pmu_setup(g);
76 if (err) 108 if (err)
77 return err; 109 return err;