summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/include')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/nvgpu_mem.h23
1 files changed, 17 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/nvgpu_mem.h b/drivers/gpu/nvgpu/include/nvgpu/nvgpu_mem.h
index 2b8b7015..f1ab8a6e 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/nvgpu_mem.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/nvgpu_mem.h
@@ -25,6 +25,7 @@
25 25
26#include <nvgpu/types.h> 26#include <nvgpu/types.h>
27#include <nvgpu/list.h> 27#include <nvgpu/list.h>
28#include <nvgpu/enabled.h>
28 29
29#ifdef __KERNEL__ 30#ifdef __KERNEL__
30#include <nvgpu/linux/nvgpu_mem.h> 31#include <nvgpu/linux/nvgpu_mem.h>
@@ -51,6 +52,10 @@ struct nvgpu_page_alloc;
51enum nvgpu_aperture { 52enum nvgpu_aperture {
52 APERTURE_INVALID = 0, /* unallocated or N/A */ 53 APERTURE_INVALID = 0, /* unallocated or N/A */
53 APERTURE_SYSMEM, 54 APERTURE_SYSMEM,
55
56 /* Don't use directly. Use APERTURE_SYSMEM, this is used internally. */
57 __APERTURE_SYSMEM_COH,
58
54 APERTURE_VIDMEM 59 APERTURE_VIDMEM
55}; 60};
56 61
@@ -187,12 +192,18 @@ nvgpu_mem_from_clear_list_entry(struct nvgpu_list_node *node)
187 clear_list_entry)); 192 clear_list_entry));
188}; 193};
189 194
190static inline const char *nvgpu_aperture_str(enum nvgpu_aperture aperture) 195static inline const char *nvgpu_aperture_str(struct gk20a *g,
196 enum nvgpu_aperture aperture)
191{ 197{
192 switch (aperture) { 198 switch (aperture) {
193 case APERTURE_INVALID: return "INVAL"; 199 case APERTURE_INVALID:
194 case APERTURE_SYSMEM: return "SYSMEM"; 200 return "INVAL";
195 case APERTURE_VIDMEM: return "VIDMEM"; 201 case APERTURE_SYSMEM:
202 return "SYSMEM";
203 case __APERTURE_SYSMEM_COH:
204 return "SYSCOH";
205 case APERTURE_VIDMEM:
206 return "VIDMEM";
196 }; 207 };
197 return "UNKNOWN"; 208 return "UNKNOWN";
198} 209}
@@ -322,9 +333,9 @@ u64 nvgpu_mem_get_addr(struct gk20a *g, struct nvgpu_mem *mem);
322u64 nvgpu_mem_get_phys_addr(struct gk20a *g, struct nvgpu_mem *mem); 333u64 nvgpu_mem_get_phys_addr(struct gk20a *g, struct nvgpu_mem *mem);
323 334
324u32 __nvgpu_aperture_mask(struct gk20a *g, enum nvgpu_aperture aperture, 335u32 __nvgpu_aperture_mask(struct gk20a *g, enum nvgpu_aperture aperture,
325 u32 sysmem_mask, u32 vidmem_mask); 336 u32 sysmem_mask, u32 sysmem_coh_mask, u32 vidmem_mask);
326u32 nvgpu_aperture_mask(struct gk20a *g, struct nvgpu_mem *mem, 337u32 nvgpu_aperture_mask(struct gk20a *g, struct nvgpu_mem *mem,
327 u32 sysmem_mask, u32 vidmem_mask); 338 u32 sysmem_mask, u32 sysmem_coh_mask, u32 vidmem_mask);
328 339
329u64 nvgpu_mem_iommu_translate(struct gk20a *g, u64 phys); 340u64 nvgpu_mem_iommu_translate(struct gk20a *g, u64 phys);
330 341