From dfc2f7e5df52410c2b7c744419f0b94496827bd9 Mon Sep 17 00:00:00 2001 From: Konsta Holtta Date: Thu, 16 Jun 2016 11:55:03 +0300 Subject: gpu: ngpu: gp106: use vidmem allocator for ucode blob Use the general video memory allocator for reserving wpr space for acr ucode blob instead of crafting a mem_desc manually. Jira DNVGPU-16 Change-Id: I9d34b3b964eb9ab781fcebecd15ba81643c5452d Signed-off-by: Konsta Holtta Reviewed-on: http://git-master/r/1165642 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gp106/acr_gp106.c | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) (limited to 'drivers/gpu/nvgpu/gp106/acr_gp106.c') diff --git a/drivers/gpu/nvgpu/gp106/acr_gp106.c b/drivers/gpu/nvgpu/gp106/acr_gp106.c index 0b4b86f4..0e49214e 100644 --- a/drivers/gpu/nvgpu/gp106/acr_gp106.c +++ b/drivers/gpu/nvgpu/gp106/acr_gp106.c @@ -91,31 +91,12 @@ static void flcn64_set_dma(struct falc_u64 *dma_addr, u64 value) int gp106_alloc_blob_space(struct gk20a *g, size_t size, struct mem_desc *mem) { - int err = 0; struct wpr_carveout_info wpr_inf; g->ops.pmu.get_wpr(g, &wpr_inf); - mem->aperture = APERTURE_VIDMEM; - mem->sgt = kzalloc(sizeof(*mem->sgt), GFP_KERNEL); - if (!mem->sgt) { - gk20a_err(dev_from_gk20a(g), "failed to allocate memory\n"); - return -ENOMEM; - } - - err = sg_alloc_table(mem->sgt, 1, GFP_KERNEL); - if (err) { - gk20a_err(dev_from_gk20a(g), "failed to allocate sg_table\n"); - goto free_sgt; - } - - sg_dma_address(mem->sgt->sgl) = wpr_inf.nonwpr_base; - - return err; - -free_sgt: - gk20a_free_sgtable(&mem->sgt); - return err; + return gk20a_gmmu_alloc_attr_vid_at(g, 0, wpr_inf.size, mem, + wpr_inf.nonwpr_base); } void gp106_init_secure_pmu(struct gpu_ops *gops) -- cgit v1.2.2