gpu: nvgpu: Refactor PERF VFE unit

-Created ucode_perf_vfe_inf.h and moved all VFE
 interface structs and MACROs into this header
-Created nvgpu_clk_fll_get_fmargin_idx to get
 freq margin index
-Created nvgpu_vfe_var_get_s_param to read s_param
-Removed MACROs and header includes which are
 not needed

NVGPU-4448

Change-Id: I89f946d555bcbc7823665d2a5a761049f7a5e963
Signed-off-by: rmylavarapu <rmylavarapu@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2260150
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:
rmylavarapu
2019-12-11 17:03:31 +05:30
committed by Alex Waterman
parent d0118c297e
commit 8f154fb6eb
20 changed files with 702 additions and 833 deletions

View File

@@ -18,34 +18,18 @@
#include "os_linux.h"
#include "include/nvgpu/bios.h"
#include <common/pmu/perf/vfe_var.h>
#include <nvgpu/pmu/perf.h>
static int get_s_param_info(void *data, u64 *val)
{
struct gk20a *g = (struct gk20a *)data;
struct boardobjgrp *pboardobjgrp;
struct boardobj *pboardobj = NULL;
struct vfe_var_single_sensed_fuse *single_sensed_fuse = NULL;
int status;
u8 index;
int status = 0;
status = nvgpu_vfe_var_boardobj_grp_get_status(g);
status = nvgpu_vfe_var_get_s_param(g, val);
if(status != 0) {
nvgpu_err(g, "Vfe_var get status failed");
nvgpu_err(g, "Vfe_var get s_param failed");
return status;
}
pboardobjgrp = &g->perf_pmu->vfe_varobjs.super.super;
BOARDOBJGRP_FOR_EACH(pboardobjgrp, struct boardobj*, pboardobj, index) {
single_sensed_fuse = (struct vfe_var_single_sensed_fuse *)
(void *)pboardobj;
if(single_sensed_fuse->vfield_info.v_field_id ==
VFIELD_ID_S_PARAM) {
*val = single_sensed_fuse->fuse_value_hw_integer;
}
}
return status;
}
DEFINE_SIMPLE_ATTRIBUTE(s_param_fops, get_s_param_info , NULL, "%llu\n");