From 8c66aef3bdbfbbeb1d3c3ef3bd6b1bee3ac05411 Mon Sep 17 00:00:00 2001 From: Mahantesh Kumbar Date: Fri, 12 May 2017 11:24:31 +0530 Subject: gpu: nvgpu: reorganize PMU FB alloc/free Moved PMU FB access related code from pmu_gk20a.c to "drivers/gpu/nvgpu/common/pmu/pmu.c" file - Prepended with nvgpu_ for global functions & replaced wherever used. JIRA NVGPU-56 JIRA NVGPU-94 Change-Id: I42bfd9d216e6b35672a9738f01302d954b32b69e Signed-off-by: Mahantesh Kumbar Reviewed-on: http://git-master/r/1480551 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svccoveritychecker GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu --- drivers/gpu/nvgpu/gk20a/pmu_gk20a.c | 49 +------------------------------------ 1 file changed, 1 insertion(+), 48 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a/pmu_gk20a.c') diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c index 03728378..a9457330 100644 --- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c @@ -220,7 +220,7 @@ static void set_pmu_cmdline_args_falctracedmabase_v5(struct nvgpu_pmu *pmu) { struct gk20a *g = gk20a_from_pmu(pmu); - gk20a_pmu_surface_describe(g, &pmu->trace_buf, &pmu->args_v5.trace_buf); + nvgpu_pmu_surface_describe(g, &pmu->trace_buf, &pmu->args_v5.trace_buf); } static void set_pmu_cmdline_args_falctracedmaidx_v5( @@ -3789,53 +3789,6 @@ void gk20a_pmu_isr(struct gk20a *g) nvgpu_mutex_release(&pmu->isr_mutex); } -void gk20a_pmu_surface_describe(struct gk20a *g, struct nvgpu_mem *mem, - struct flcn_mem_desc_v0 *fb) -{ - fb->address.lo = u64_lo32(mem->gpu_va); - fb->address.hi = u64_hi32(mem->gpu_va); - fb->params = ((u32)mem->size & 0xFFFFFF); - fb->params |= (GK20A_PMU_DMAIDX_VIRT << 24); -} - -int gk20a_pmu_vidmem_surface_alloc(struct gk20a *g, struct nvgpu_mem *mem, - u32 size) -{ - struct mm_gk20a *mm = &g->mm; - struct vm_gk20a *vm = mm->pmu.vm; - int err; - - err = nvgpu_dma_alloc_map_vid(vm, size, mem); - if (err) { - nvgpu_err(g, "memory allocation failed"); - return -ENOMEM; - } - - return 0; -} - -int gk20a_pmu_sysmem_surface_alloc(struct gk20a *g, struct nvgpu_mem *mem, - u32 size) -{ - struct mm_gk20a *mm = &g->mm; - struct vm_gk20a *vm = mm->pmu.vm; - int err; - - err = nvgpu_dma_alloc_map_sys(vm, size, mem); - if (err) { - nvgpu_err(g, "failed to allocate memory"); - return -ENOMEM; - } - - return 0; -} - -void gk20a_pmu_surface_free(struct gk20a *g, struct nvgpu_mem *mem) -{ - nvgpu_dma_free(g, mem); - memset(mem, 0, sizeof(struct nvgpu_mem)); -} - int gk20a_pmu_pg_global_enable(struct gk20a *g, u32 enable_pg) { u32 status = 0; -- cgit v1.2.2