summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include/nvgpu/vm_area.h
diff options
context:
space:
mode:
authorAlex Waterman <alexw@nvidia.com>2017-11-16 15:56:53 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2017-11-17 19:17:20 -0500
commit35ae4194a05d47aa6d79353428f81f2ca47ce90f (patch)
tree73c7f15348e1f5deb411392f41e339572b797bb4 /drivers/gpu/nvgpu/include/nvgpu/vm_area.h
parentb42fb7ba26b565f93118fbdd9e17b42ee6144c5e (diff)
gpu: nvgpu: Add translation for NVGPU MM flags
Add a translation layer to convert from the NVGPU_AS_* flags to to new set of NVGPU_VM_MAP_* and NVGPU_VM_AREA_ALLOC_* flags. This allows the common MM code to not depend on the UAPI header defined for Linux. In addition to this change a couple of other small changes were made: 1. Deprecate, print a warning, and ignore usage of the NVGPU_AS_MAP_BUFFER_FLAGS_MAPPABLE_COMPBITS flag. 2. Move the t19x IO coherence flag from the t19x UAPI header to the regular UAPI header. JIRA NVGPU-293 Change-Id: I146402b0e8617294374e63e78f8826c57cd3b291 Signed-off-by: Alex Waterman <alexw@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1599802 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include/nvgpu/vm_area.h')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/vm_area.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/vm_area.h b/drivers/gpu/nvgpu/include/nvgpu/vm_area.h
index 7fc77b29..92852633 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/vm_area.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/vm_area.h
@@ -57,6 +57,12 @@ nvgpu_vm_area_from_vm_area_list(struct nvgpu_list_node *node)
57 vm_area_list)); 57 vm_area_list));
58}; 58};
59 59
60/*
61 * Alloc space flags.
62 */
63#define NVGPU_VM_AREA_ALLOC_FIXED_OFFSET (1 << 0)
64#define NVGPU_VM_AREA_ALLOC_SPARSE (1 << 1)
65
60int nvgpu_vm_area_alloc(struct vm_gk20a *vm, u32 pages, u32 page_size, 66int nvgpu_vm_area_alloc(struct vm_gk20a *vm, u32 pages, u32 page_size,
61 u64 *addr, u32 flags); 67 u64 *addr, u32 flags);
62int nvgpu_vm_area_free(struct vm_gk20a *vm, u64 addr); 68int nvgpu_vm_area_free(struct vm_gk20a *vm, u64 addr);