From a8bd154f7907c7054f8668c5995c1b5a7f748edc Mon Sep 17 00:00:00 2001 From: Alex Waterman Date: Tue, 17 Oct 2017 15:54:31 -0700 Subject: gpu: nvgpu: Remove user_mapped from mapped_buf Remove the always true field 'user_mapped' from the mapped_buf struct. All mapped_bufs are mapped by a user request since they always originate from a dma_buf (for Linux, that is). As such there is a fair amount of logic that could be deleted. Linux specific: the own_mem_ref field was also be deleted. The logic of only storing a dma_buf ref when the buffer is mapped for the first time by a user is easy: when the mapped buffer is found in the map cache release the outstanding dma_buf ref taken earlier on in the map path. If the map cache does not have the buffer simply let the higher level map code keep the dma_buf ref. The dma_buf ref is released when the nvgpu_vm_unmap_system() call-back is called by the unmap path. JIRA NVGPU-30 JIRA NVGPU-71 Change-Id: I229d136713812a7332bdadd5ebacd85d983bbbf0 Signed-off-by: Alex Waterman Reviewed-on: https://git-master.nvidia.com/r/1583983 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/mm/vm.c | 8 +++----- 1 file changed, 3 insertions(+), 5 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 3d10ff48..2ce62e75 100644 --- a/drivers/gpu/nvgpu/common/mm/vm.c +++ b/drivers/gpu/nvgpu/common/mm/vm.c @@ -672,11 +672,9 @@ int nvgpu_vm_get_buffers(struct vm_gk20a *vm, nvgpu_rbtree_enum_start(0, &node, vm->mapped_buffers); while (node) { mapped_buffer = mapped_buffer_from_rbtree_node(node); - if (mapped_buffer->user_mapped) { - buffer_list[i] = mapped_buffer; - nvgpu_ref_get(&mapped_buffer->ref); - i++; - } + buffer_list[i] = mapped_buffer; + nvgpu_ref_get(&mapped_buffer->ref); + i++; nvgpu_rbtree_enum_next(&node, node); } -- cgit v1.2.2