From 2d3ba5478d0d9a12b123a0261653d33eb37e6e87 Mon Sep 17 00:00:00 2001 From: Mahantesh Kumbar Date: Thu, 1 Sep 2016 15:17:34 +0530 Subject: gpu: nvgpu: Clocks params update - Clocks params update as per r370 JIRA DNVGPU-116 Change-Id: I0aaa1e275aaa2027f2839f3fe24c9aee3e14fd8d Signed-off-by: Mahantesh Kumbar Reviewed-on: http://git-master/r/1212827 (cherry picked from commit 54df6ad9668d46dffb5b9d03265948a47611ff13) Reviewed-on: http://git-master/r/1227288 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom GVS: Gerrit_Virtual_Submit --- drivers/gpu/nvgpu/clk/clk_domain.c | 2 ++ drivers/gpu/nvgpu/clk/clk_domain.h | 1 + drivers/gpu/nvgpu/clk/clk_prog.c | 3 +-- drivers/gpu/nvgpu/clk/clk_prog.h | 2 +- drivers/gpu/nvgpu/clk/clk_vf_point.c | 4 ---- drivers/gpu/nvgpu/clk/clk_vf_point.h | 4 ---- 6 files changed, 5 insertions(+), 11 deletions(-) (limited to 'drivers/gpu') diff --git a/drivers/gpu/nvgpu/clk/clk_domain.c b/drivers/gpu/nvgpu/clk/clk_domain.c index dc485e6b..7371946c 100644 --- a/drivers/gpu/nvgpu/clk/clk_domain.c +++ b/drivers/gpu/nvgpu/clk/clk_domain.c @@ -94,6 +94,7 @@ static u32 _clk_domains_pmudatainit_3x(struct gk20a *g, pset->b_override_o_v_o_c = false; pset->b_debug_mode = false; pset->b_enforce_vf_monotonicity = pdomains->b_enforce_vf_monotonicity; + pset->b_enforce_vf_smoothening = pdomains->b_enforce_vf_smoothening; pset->volt_rails_max = 2; status = boardobjgrpmask_export( &pdomains->master_domains_mask.super, @@ -168,6 +169,7 @@ u32 clk_domain_sw_setup(struct gk20a *g) boardobjgrpmask_e32_init(&pclkdomainobjs->prog_domains_mask, NULL); boardobjgrpmask_e32_init(&pclkdomainobjs->master_domains_mask, NULL); pclkdomainobjs->b_enforce_vf_monotonicity = true; + pclkdomainobjs->b_enforce_vf_smoothening = true; memset(&pclkdomainobjs->ordered_noise_aware_list, 0, sizeof(pclkdomainobjs->ordered_noise_aware_list)); diff --git a/drivers/gpu/nvgpu/clk/clk_domain.h b/drivers/gpu/nvgpu/clk/clk_domain.h index 94d612a7..2670a066 100644 --- a/drivers/gpu/nvgpu/clk/clk_domain.h +++ b/drivers/gpu/nvgpu/clk/clk_domain.h @@ -33,6 +33,7 @@ struct clk_domains { u8 n_num_entries; u8 version; bool b_enforce_vf_monotonicity; + bool b_enforce_vf_smoothening; u32 vbios_domains; struct boardobjgrpmask_e32 prog_domains_mask; struct boardobjgrpmask_e32 master_domains_mask; diff --git a/drivers/gpu/nvgpu/clk/clk_prog.c b/drivers/gpu/nvgpu/clk/clk_prog.c index d87581c4..4bf473ac 100644 --- a/drivers/gpu/nvgpu/clk/clk_prog.c +++ b/drivers/gpu/nvgpu/clk/clk_prog.c @@ -433,6 +433,7 @@ static u32 _clk_prog_pmudatainit_1x_master(struct gk20a *g, memcpy(pset->vf_entries, pclk_prog_1x_master->p_vf_entries, vfsize); pset->b_o_c_o_v_enabled = pclk_prog_1x_master->b_o_c_o_v_enabled; + pset->source_data = pclk_prog_1x_master->source_data; memcpy(&pset->deltas, &pclk_prog_1x_master->deltas, (u32) sizeof(struct ctrl_clk_clk_delta)); @@ -810,11 +811,9 @@ static u32 vfflatten_prog_1x_master(struct gk20a *g, /* FLL sources use a voltage-based VF_POINT.*/ vf_point_data.board_obj.type = CTRL_CLK_CLK_VF_POINT_TYPE_VOLT; - vf_point_data.volt.clk_domain_idx = clk_domain_idx; for (i = 0; i < step_count; i++) { vf_point_data.volt.source_voltage_uv = voltage_min_uv + i * voltage_step_size_uv; - vf_point_data.volt.vf_gain_vfe_equ_idx = p_vf_rail->gain_vfe_idx; status = _clk_prog_1x_master_rail_construct_vf_point(g, pclk, p1xmaster, p_vf_rail, diff --git a/drivers/gpu/nvgpu/clk/clk_prog.h b/drivers/gpu/nvgpu/clk/clk_prog.h index 2dd8f6c8..8718bdd6 100644 --- a/drivers/gpu/nvgpu/clk/clk_prog.h +++ b/drivers/gpu/nvgpu/clk/clk_prog.h @@ -49,8 +49,8 @@ struct clk_prog_1x_master { struct clk_prog_1x super; bool b_o_c_o_v_enabled; struct ctrl_clk_clk_prog_1x_master_vf_entry *p_vf_entries; - struct ctrl_clk_clk_delta deltas; + union ctrl_clk_clk_prog_1x_master_source_data source_data; vf_flatten *vfflatten; }; diff --git a/drivers/gpu/nvgpu/clk/clk_vf_point.c b/drivers/gpu/nvgpu/clk/clk_vf_point.c index 275bef96..a8cc6403 100644 --- a/drivers/gpu/nvgpu/clk/clk_vf_point.c +++ b/drivers/gpu/nvgpu/clk/clk_vf_point.c @@ -197,8 +197,6 @@ static u32 _clk_vf_point_pmudatainit_volt(struct gk20a *g, ppmudata; pset->source_voltage_uv = pclk_vf_point_volt->source_voltage_uv; - pset->vf_gain_vfe_equ_idx = pclk_vf_point_volt->vf_gain_vfe_equ_idx; - pset->clk_domain_idx = pclk_vf_point_volt->clk_domain_idx; pset->freq_delta_khz = pclk_vf_point_volt->freq_delta_khz; return status; @@ -256,8 +254,6 @@ static u32 clk_vf_point_construct_volt(struct gk20a *g, _clk_vf_point_pmudatainit_volt; pclkvfpoint->source_voltage_uv = ptmpvfpoint->source_voltage_uv; - pclkvfpoint->vf_gain_vfe_equ_idx = ptmpvfpoint->vf_gain_vfe_equ_idx; - pclkvfpoint->clk_domain_idx = ptmpvfpoint->clk_domain_idx; return status; } diff --git a/drivers/gpu/nvgpu/clk/clk_vf_point.h b/drivers/gpu/nvgpu/clk/clk_vf_point.h index 708f80f1..b05ab818 100644 --- a/drivers/gpu/nvgpu/clk/clk_vf_point.h +++ b/drivers/gpu/nvgpu/clk/clk_vf_point.h @@ -36,11 +36,7 @@ struct clk_vf_point { struct clk_vf_point_volt { struct clk_vf_point super; u32 source_voltage_uv; - u8 vf_gain_vfe_equ_idx; - u8 clk_domain_idx; - u16 vf_gain_value; int freq_delta_khz; - }; struct clk_vf_point_freq { -- cgit v1.2.2