From 741d78ec45f6c48348743617ba5ae7163c95e49a Mon Sep 17 00:00:00 2001 From: Mahantesh Kumbar Date: Wed, 21 Sep 2016 15:02:59 +0530 Subject: 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 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 Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/pstate/pstate.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'drivers/gpu/nvgpu/pstate/pstate.c') 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) gk20a_dbg_fn(""); + err = volt_rail_sw_setup(g); + if (err) + return err; + + err = volt_dev_sw_setup(g); + if (err) + return err; + + err = volt_policy_sw_setup(g); + if (err) + return err; + err = clk_vin_sw_setup(g); if (err) return err; @@ -72,6 +84,26 @@ int gk20a_init_pstate_pmu_support(struct gk20a *g) gk20a_dbg_fn(""); + err = volt_rail_pmu_setup(g); + if (err) + return err; + + err = volt_dev_pmu_setup(g); + if (err) + return err; + + err = volt_policy_pmu_setup(g); + if (err) + return err; + + err = volt_pmu_send_load_cmd_to_pmu(g); + if (err) { + gk20a_err(dev_from_gk20a(g), + "Failed to send VOLT LOAD CMD to PMU: status = 0x%08x.", + err); + return err; + } + err = vfe_var_pmu_setup(g); if (err) return err; -- cgit v1.2.2