gpu: nvgpu: simplify gmmu map calls

Introduce nvgpu_gmmu_map_partial() to map a specific size of a buffer
represented by nvgpu_mem, or what nvgpu_gmmu_map() used to do. Delete
the size parameter from nvgpu_gmmu_map() such that it now maps the
entire buffer. The separate size parameter is a historical artifact from
when nvgpu_mem did not exist yet; the typical use is to map the entire
buffer.

Mapping at a certain address with nvgpu_gmmu_map_fixed() still takes the
size parameter.

The returned address still has to be stored somewhere, typically to
mem.gpu_va by the caller so that the matching unmap variant finds the
right address.

Change-Id: I7d67a0b15d741c6bcee1aecff1678e3216cc28d2
Signed-off-by: Konsta Hölttä <kholtta@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2601788
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Alex Waterman <alexw@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Konsta Hölttä
2021-09-28 09:24:17 +03:00
committed by mobile promotions
parent 6d38ae76ce
commit 1b1d183b9c
15 changed files with 50 additions and 24 deletions

View File

@@ -406,8 +406,9 @@ nvgpu_get_pte
nvgpu_gmmu_default_big_page_size
nvgpu_gmmu_init_page_table
nvgpu_gmmu_map
nvgpu_gmmu_map_locked
nvgpu_gmmu_map_fixed
nvgpu_gmmu_map_locked
nvgpu_gmmu_map_partial
nvgpu_gmmu_unmap
nvgpu_gmmu_unmap_addr
nvgpu_gmmu_unmap_locked

View File

@@ -422,8 +422,9 @@ nvgpu_get_pte
nvgpu_gmmu_default_big_page_size
nvgpu_gmmu_init_page_table
nvgpu_gmmu_map
nvgpu_gmmu_map_locked
nvgpu_gmmu_map_fixed
nvgpu_gmmu_map_locked
nvgpu_gmmu_map_partial
nvgpu_gmmu_unmap
nvgpu_gmmu_unmap_addr
nvgpu_gmmu_unmap_locked