From 56d14ac40362233a44b00749ad5cfefd3c7a36d4 Mon Sep 17 00:00:00 2001 From: Mahantesh Kumbar Date: Tue, 22 Jan 2019 14:43:02 +0530 Subject: [PATCH] gpu: nvgpu: Fetch perf change sequence script offset from SSMD Fetch perf change sequence script offset from SSMD using member NV_PMU_SUPER_SURFACE_MEMBER_CHANGE_SEQ_GRP JIRA - NVGPU-1874 Change-Id: If2f19ee10d30552934052b9212947e408d4e7057 Signed-off-by: Mahantesh Kumbar Reviewed-on: https://git-master.nvidia.com/r/2000861 Reviewed-by: svc-mobile-coverity Reviewed-by: svc-mobile-misra GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/pmu/perf/change_seq.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/nvgpu/common/pmu/perf/change_seq.c b/drivers/gpu/nvgpu/common/pmu/perf/change_seq.c index 210f4608c..4c890676d 100644 --- a/drivers/gpu/nvgpu/common/pmu/perf/change_seq.c +++ b/drivers/gpu/nvgpu/common/pmu/perf/change_seq.c @@ -34,6 +34,10 @@ #include "change_seq.h" +#define SEQ_SCRIPT_CURR 0x0U +#define SEQ_SCRIPT_LAST 0x1U +#define SEQ_SCRIPT_QUERY 0x2U + static int perf_change_seq_sw_setup_super(struct gk20a *g, struct change_seq *p_change_seq) { @@ -111,8 +115,10 @@ static void build_change_seq_boot (struct gk20a *g) nvgpu_log_fn(g, " "); script_last->super_surface_offset = - (u32) offsetof(struct nv_pmu_super_surface, - change_seq.script_last); + nvgpu_pmu_get_ss_member_set_offset(pmu, + NV_PMU_SUPER_SURFACE_MEMBER_CHANGE_SEQ_GRP) + + (u32)(sizeof(struct perf_change_seq_pmu_script) * + SEQ_SCRIPT_LAST); nvgpu_mem_rd_n(g, &pmu->super_surface_buf, script_last->super_surface_offset, @@ -211,8 +217,10 @@ int nvgpu_perf_change_seq_pmu_setup(struct gk20a *g) perf_change_seq_pmu->b_lock; perf_change_seq_pmu->script_last.super_surface_offset = - (u32) offsetof(struct nv_pmu_super_surface, - change_seq.script_last); + nvgpu_pmu_get_ss_member_set_offset(pmu, + NV_PMU_SUPER_SURFACE_MEMBER_CHANGE_SEQ_GRP) + + (u32)(sizeof(struct perf_change_seq_pmu_script) * + SEQ_SCRIPT_LAST); nvgpu_mem_rd_n(g, &pmu->super_surface_buf, perf_change_seq_pmu->script_last.super_surface_offset,