summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
authorDebarshi Dutta <ddutta@nvidia.com>2018-08-22 00:27:01 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-08-29 20:46:51 -0400
commit74639b444251d7adc222400625eb59a3d53d0c0a (patch)
tree19373fbe8ee522863c990fdfa0db24e6474f5167 /drivers/gpu/nvgpu/gk20a/gk20a.h
parente3710e5431d8f14f1b8c2812f5c1aeeb7bdaac1c (diff)
gpu: nvgpu: invoke calls to methods in pmu_gk20a.h via HAL
In nvgpu repository, we have multiple accesses to methods in pmu_gk20a.h which have register accesses. Instead of directly invoking these methods, these are now called via HALs. Some common methods such as pmu_wait_message_cond which donot have any register accesses are moved to pmu_ipc.c and the method declarations are moved to pmu.h. Also, changed gm20b_pmu_dbg to nvgpu_dbg_pmu all across the code base. This would remove all indirect dependencies via gk20a.h into pmu_gk20a.h. As a result pmu_gk20a.h is now removed from gk20a.h JIRA-597 Change-Id: Id54b2684ca39362fda7626238c3116cd49e92080 Signed-off-by: Debarshi Dutta <ddutta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1804283 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 192f4c3e..5a888303 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -68,7 +68,6 @@ struct nvgpu_ctxsw_trace_filter;
68#include "ce2_gk20a.h" 68#include "ce2_gk20a.h"
69#include "fifo_gk20a.h" 69#include "fifo_gk20a.h"
70#include "tsg_gk20a.h" 70#include "tsg_gk20a.h"
71#include "pmu_gk20a.h"
72#include "clk/clk.h" 71#include "clk/clk.h"
73#include "perf/perf.h" 72#include "perf/perf.h"
74#include "pmgr/pmgr.h" 73#include "pmgr/pmgr.h"
@@ -1025,6 +1024,15 @@ struct gpu_ops {
1025 u32 id, u32 *token); 1024 u32 id, u32 *token);
1026 int (*pmu_mutex_release)(struct nvgpu_pmu *pmu, 1025 int (*pmu_mutex_release)(struct nvgpu_pmu *pmu,
1027 u32 id, u32 *token); 1026 u32 id, u32 *token);
1027 bool (*pmu_is_interrupted)(struct nvgpu_pmu *pmu);
1028 void (*pmu_isr)(struct gk20a *g);
1029 void (*pmu_init_perfmon_counter)(struct gk20a *g);
1030 void (*pmu_pg_idle_counter_config)(struct gk20a *g, u32 pg_engine_id);
1031 u32 (*pmu_read_idle_counter)(struct gk20a *g, u32 counter_id);
1032 void (*pmu_reset_idle_counter)(struct gk20a *g, u32 counter_id);
1033 void (*pmu_dump_elpg_stats)(struct nvgpu_pmu *pmu);
1034 void (*pmu_dump_falcon_stats)(struct nvgpu_pmu *pmu);
1035 void (*pmu_enable_irq)(struct nvgpu_pmu *pmu, bool enable);
1028 int (*init_wpr_region)(struct gk20a *g); 1036 int (*init_wpr_region)(struct gk20a *g);
1029 int (*load_lsfalcon_ucode)(struct gk20a *g, u32 falconidmask); 1037 int (*load_lsfalcon_ucode)(struct gk20a *g, u32 falconidmask);
1030 void (*write_dmatrfbase)(struct gk20a *g, u32 addr); 1038 void (*write_dmatrfbase)(struct gk20a *g, u32 addr);