From e21d70574c63e718b640a08f86cc657501a326f3 Mon Sep 17 00:00:00 2001 From: Abdul Salam Date: Tue, 4 Feb 2020 20:32:47 +0530 Subject: [PATCH] gpu: nvgpu: Fix mismatch in Volt boardobj parsing There is a mismatch between data parsed by nvgpu struct to pmu struct. This patch fixes this by correctly parsing the data from vbios and sending it to pmu. This was unnoticed till now and started poping up during refactoring. NVGPU-4492 Change-Id: I75648de41832eadd39aa499a5354705694699238 Signed-off-by: Abdul Salam Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2289748 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svc-mobile-coverity Reviewed-by: svc-mobile-misra Reviewed-by: svc-mobile-cert Reviewed-by: Ramesh Mylavarapu Reviewed-by: Vaibhav Kachore Reviewed-by: mobile promotions GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/pmu/volt/volt_policy.c | 5 +++-- drivers/gpu/nvgpu/include/nvgpu/pmu/volt.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/nvgpu/common/pmu/volt/volt_policy.c b/drivers/gpu/nvgpu/common/pmu/volt/volt_policy.c index 43dc3fa1f..21d157373 100644 --- a/drivers/gpu/nvgpu/common/pmu/volt/volt_policy.c +++ b/drivers/gpu/nvgpu/common/pmu/volt/volt_policy.c @@ -332,7 +332,8 @@ static int _volt_policy_grp_pmudatainit_super(struct gk20a *g, struct nv_pmu_volt_volt_policy_boardobjgrp_set_header *pset = (struct nv_pmu_volt_volt_policy_boardobjgrp_set_header *) pboardobjgrppmu; - struct nvgpu_pmu_volt *volt = (struct nvgpu_pmu_volt *)pboardobjgrp; + struct voltage_policy_metadata *volt = + (struct voltage_policy_metadata *)pboardobjgrp; int status = 0; status = boardobjgrp_pmudatainit_e32(g, pboardobjgrp, pboardobjgrppmu); @@ -343,7 +344,7 @@ static int _volt_policy_grp_pmudatainit_super(struct gk20a *g, goto done; } pset->perf_core_vf_seq_policy_idx = - volt->volt_policy_metadata.perf_core_vf_seq_policy_idx; + volt->perf_core_vf_seq_policy_idx; done: return status; diff --git a/drivers/gpu/nvgpu/include/nvgpu/pmu/volt.h b/drivers/gpu/nvgpu/include/nvgpu/pmu/volt.h index 13070d528..e39a0dbeb 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/pmu/volt.h +++ b/drivers/gpu/nvgpu/include/nvgpu/pmu/volt.h @@ -57,8 +57,8 @@ struct voltage_device_metadata { }; struct voltage_policy_metadata { - u8 perf_core_vf_seq_policy_idx; struct boardobjgrp_e32 volt_policies; + u8 perf_core_vf_seq_policy_idx; }; struct nvgpu_pmu_volt {