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 <alexw@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1583983
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Alex Waterman
2017-10-17 15:54:31 -07:00
committed by mobile promotions
parent d13c256d5e
commit a8bd154f79
5 changed files with 16 additions and 36 deletions

View File

@@ -1050,7 +1050,6 @@ __releases(&l->cde_app->mutex)
NVGPU_AS_MAP_BUFFER_FLAGS_DIRECT_KIND_CTRL,
NV_KIND_INVALID,
compbits_kind, /* incompressible kind */
true,
gk20a_mem_flag_none,
map_offset, map_size,
NULL);