summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2017-03-31 08:41:04 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-04-03 11:55:20 -0400
commitcd3cf04cac5f740135becb0fc70a16cfb8c2aaba (patch)
tree2f5d2b3e2529d3a808e2130772858a593d49bb11 /drivers/gpu/nvgpu/gk20a/mm_gk20a.h
parent371b173c12df8828df74da2c8edfc94182dccfae (diff)
gpu: nvgpu: use nvgpu list for VA lists
Use nvgpu list APIs instead of linux list APIs for reserved VA list and buffer VA list Jira NVGPU-13 Change-Id: I83c02345d54bca03b00270563567227510cfce6b Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/1454013 Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/mm_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.h22
1 files changed, 18 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.h b/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
index db99535a..3bca7aad 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
@@ -200,7 +200,7 @@ struct mapped_buffer_node {
200 struct vm_gk20a *vm; 200 struct vm_gk20a *vm;
201 struct rb_node node; 201 struct rb_node node;
202 struct list_head unmap_list; 202 struct list_head unmap_list;
203 struct list_head va_buffers_list; 203 struct nvgpu_list_node va_buffers_list;
204 struct vm_reserved_va_node *va_node; 204 struct vm_reserved_va_node *va_node;
205 u64 addr; 205 u64 addr;
206 u64 size; 206 u64 size;
@@ -226,15 +226,29 @@ struct mapped_buffer_node {
226 bool va_allocated; 226 bool va_allocated;
227}; 227};
228 228
229static inline struct mapped_buffer_node *
230mapped_buffer_node_from_va_buffers_list(struct nvgpu_list_node *node)
231{
232 return (struct mapped_buffer_node *)
233 ((uintptr_t)node - offsetof(struct mapped_buffer_node, va_buffers_list));
234};
235
229struct vm_reserved_va_node { 236struct vm_reserved_va_node {
230 struct list_head reserved_va_list; 237 struct nvgpu_list_node reserved_va_list;
231 struct list_head va_buffers_list; 238 struct nvgpu_list_node va_buffers_list;
232 u32 pgsz_idx; 239 u32 pgsz_idx;
233 u64 vaddr_start; 240 u64 vaddr_start;
234 u64 size; 241 u64 size;
235 bool sparse; 242 bool sparse;
236}; 243};
237 244
245static inline struct vm_reserved_va_node *
246vm_reserved_va_node_from_reserved_va_list(struct nvgpu_list_node *node)
247{
248 return (struct vm_reserved_va_node *)
249 ((uintptr_t)node - offsetof(struct vm_reserved_va_node, reserved_va_list));
250};
251
238struct gk20a_mmu_level { 252struct gk20a_mmu_level {
239 int hi_bit[2]; 253 int hi_bit[2];
240 int lo_bit[2]; 254 int lo_bit[2];
@@ -296,7 +310,7 @@ struct vm_gk20a {
296 310
297 struct rb_root mapped_buffers; 311 struct rb_root mapped_buffers;
298 312
299 struct list_head reserved_va_list; 313 struct nvgpu_list_node reserved_va_list;
300 314
301#ifdef CONFIG_TEGRA_GR_VIRTUALIZATION 315#ifdef CONFIG_TEGRA_GR_VIRTUALIZATION
302 u64 handle; 316 u64 handle;