From 1f28b429a2fb73a260e0c9fe112dbbc6981ef4b4 Mon Sep 17 00:00:00 2001 From: Sami Kiminki Date: Mon, 13 Nov 2017 14:32:29 +0200 Subject: gpu: nvgpu: Always do full buffer compbits allocs Remove parameter 'lines' from gk20a_alloc_or_get_comptags() and nvgpu_ctag_buffer_info. We're always doing full buffer allocs anyways. This simplifies the code a bit. Bug 1902982 Change-Id: Iacfc9cdba8cb75b31a7d44b175660252e09d605d Signed-off-by: Sami Kiminki Reviewed-on: https://git-master.nvidia.com/r/1597131 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Alex Waterman Reviewed-by: svc-mobile-coverity Reviewed-by: Terje Bergstrom Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/mm/vm.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) (limited to 'drivers/gpu/nvgpu/common/mm') diff --git a/drivers/gpu/nvgpu/common/mm/vm.c b/drivers/gpu/nvgpu/common/mm/vm.c index 7a451956..c3f6b79d 100644 --- a/drivers/gpu/nvgpu/common/mm/vm.c +++ b/drivers/gpu/nvgpu/common/mm/vm.c @@ -774,7 +774,8 @@ struct nvgpu_mapped_buf *nvgpu_vm_map(struct vm_gk20a *vm, binfo.flags = flags; binfo.size = nvgpu_os_buf_get_size(os_buf); - binfo.compr_kind = compr_kind; + binfo.compr_kind = (vm->enable_ctag && compr_kind != NV_KIND_INVALID ? + compr_kind : NV_KIND_INVALID); binfo.incompr_kind = incompr_kind; if (compr_kind != NV_KIND_INVALID) @@ -847,13 +848,7 @@ struct nvgpu_mapped_buf *nvgpu_vm_map(struct vm_gk20a *vm, goto clean_up; } - /* - * bar1 and pmu VMs don't need ctags. - */ - if (!vm->enable_ctag) - binfo.ctag_lines = 0; - - if (binfo.ctag_lines) { + if (binfo.compr_kind != NV_KIND_INVALID) { struct gk20a_comptags comptags = { 0 }; /* @@ -861,7 +856,7 @@ struct nvgpu_mapped_buf *nvgpu_vm_map(struct vm_gk20a *vm, */ err = gk20a_alloc_or_get_comptags(g, os_buf, &g->gr.comp_tags, - binfo.ctag_lines, &comptags); + &comptags); if (err) { /* * This is an irrecoverable failure and we need to @@ -1116,7 +1111,6 @@ static int nvgpu_vm_compute_compression(struct vm_gk20a *vm, { bool kind_compressible = (binfo->compr_kind != NV_KIND_INVALID); struct gk20a *g = gk20a_from_vm(vm); - int ctag_granularity = g->ops.fb.compression_page_size(g); if (kind_compressible && vm->gmmu_page_sizes[binfo->pgsz_idx] < @@ -1138,9 +1132,5 @@ static int nvgpu_vm_compute_compression(struct vm_gk20a *vm, } } - if (kind_compressible) - binfo->ctag_lines = DIV_ROUND_UP_ULL(binfo->size, - ctag_granularity); - return 0; } -- cgit v1.2.2