diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2017-03-31 08:41:04 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-04-03 11:55:20 -0400 |
commit | cd3cf04cac5f740135becb0fc70a16cfb8c2aaba (patch) | |
tree | 2f5d2b3e2529d3a808e2130772858a593d49bb11 /drivers/gpu/nvgpu/gk20a/mm_gk20a.h | |
parent | 371b173c12df8828df74da2c8edfc94182dccfae (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.h | 22 |
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 | ||
229 | static inline struct mapped_buffer_node * | ||
230 | mapped_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 | |||
229 | struct vm_reserved_va_node { | 236 | struct 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 | ||
245 | static inline struct vm_reserved_va_node * | ||
246 | vm_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 | |||
238 | struct gk20a_mmu_level { | 252 | struct 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; |