mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-25 02:52:51 +03:00
gpu: nvgpu: Implement Pstate Board objs
Implemented parsing and sending performance table to pmu in form of Pstate board objs under Perf_pstate unit. NVGPU-3472 Change-Id: If8cc6373d1a03dd8f40a93a36203fa3d7127913f Signed-off-by: rmylavarapu <rmylavarapu@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2115564 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
5eab914e34
commit
b38f261981
@@ -68,6 +68,9 @@ static int tu104_pmu_handle_perf_event(struct gk20a *g, void *pmumsg)
|
||||
case NV_PMU_PERF_MSG_ID_CHANGE_SEQ_COMPLETION:
|
||||
nvgpu_log_fn(g, "Change Seq Completed");
|
||||
break;
|
||||
case NV_PMU_PERF_MSG_ID_PSTATES_INVALIDATE:
|
||||
nvgpu_log_fn(g, "Pstate Invalidated");
|
||||
break;
|
||||
default:
|
||||
WARN_ON(true);
|
||||
break;
|
||||
@@ -104,18 +107,22 @@ int nvgpu_perf_pmu_vfe_load_ps35(struct gk20a *g)
|
||||
struct nv_pmu_rpc_struct_perf_load rpc;
|
||||
int status = 0;
|
||||
|
||||
status = perf_pmu_init_vfe_perf_event(g);
|
||||
if (status != 0) {
|
||||
return status;
|
||||
}
|
||||
|
||||
/*register call back for future VFE updates*/
|
||||
g->ops.pmu_perf.handle_pmu_perf_event = tu104_pmu_handle_perf_event;
|
||||
|
||||
(void) memset(&rpc, 0, sizeof(struct nv_pmu_rpc_struct_perf_load));
|
||||
rpc.b_load = true;
|
||||
PMU_RPC_EXECUTE_CPB(status, pmu, PERF, LOAD, &rpc, 0);
|
||||
if (status != 0) {
|
||||
nvgpu_err(g, "Failed to execute RPC status=0x%x",
|
||||
status);
|
||||
nvgpu_thread_stop(&g->perf_pmu->vfe_init.state_task);
|
||||
}
|
||||
|
||||
status = perf_pmu_init_vfe_perf_event(g);
|
||||
|
||||
/*register call back for future VFE updates*/
|
||||
g->ops.pmu_perf.handle_pmu_perf_event = tu104_pmu_handle_perf_event;
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user