gpu: nvgpu: add separate unit for perfbuf

Add separate unit for perfbuf in common/perf/perfbuf.c which does not need to
include any h/w file. This unit will utilize HALs exported by
perf_*.c units for h/w accesses.
Add corresponding header file at include/nvgpu/perfbuf.h

Add new HAL gops.perfbuf with below operations :
gops.perfbuf.perfbuf_enable()
gops.perfbuf.perfbuf_disable()

Remove below debug session specific HALs
gops.dbg_session_ops.perfbuffer_enable()
gops.dbg_session_ops.perfbuffer_disable()

Delete file gv11b/dbg_gpu_gv11b.c since it is no longer needed now as it was
only including perfbuf sequence
Also remove perfbuf sequences from gk20a/dbg_gpu_gk20a.c

Jira NVGPU-1102

Change-Id: I57b87c9f0dcd85784f8002bc92728b6d78a68d98
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1819303
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Deepak Nibade
2018-09-10 17:31:23 +05:30
committed by Abdul Salam
parent 71a4ca9935
commit 412c9fa30c
16 changed files with 127 additions and 259 deletions

View File

@@ -1384,8 +1384,7 @@ static int gk20a_perfbuf_map(struct dbg_session_gk20a *dbg_s,
goto err_unmap;
}
err = g->ops.dbg_session_ops.perfbuffer_enable(g,
args->offset, virt_size);
err = g->ops.perfbuf.perfbuf_enable(g, args->offset, virt_size);
if (err)
goto err_unmap;
@@ -1618,7 +1617,7 @@ static int gk20a_perfbuf_release_locked(struct gk20a *g, u64 offset)
struct vm_gk20a *vm = mm->perfbuf.vm;
int err;
err = g->ops.dbg_session_ops.perfbuffer_disable(g);
err = g->ops.perfbuf.perfbuf_disable(g);
nvgpu_vm_unmap(vm, offset, NULL);
nvgpu_free_inst_block(g, &mm->perfbuf.inst_block);