From 371b173c12df8828df74da2c8edfc94182dccfae Mon Sep 17 00:00:00 2001 From: Deepak Nibade Date: Fri, 31 Mar 2017 17:51:55 +0530 Subject: gpu: nvgpu: use nvgpu list for vidmem clear list Use nvgpu list APIs instead of linux list APIs for vidmem clear list Jira NVGPU-13 Change-Id: I13f7c5a54fb199d15ad1402216f3275f0f0474af Signed-off-by: Deepak Nibade Reviewed-on: http://git-master/r/1454012 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svccoveritychecker GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/mm_gk20a.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a/mm_gk20a.h') diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.h b/drivers/gpu/nvgpu/gk20a/mm_gk20a.h index 2c8eb16d..db99535a 100644 --- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.h @@ -27,6 +27,7 @@ #include #include +#include #ifdef CONFIG_ARM64 #define outer_flush_range(a, b) @@ -76,11 +77,18 @@ struct mem_desc { bool fixed; /* vidmem only */ bool user_mem; /* vidmem only */ struct nvgpu_allocator *allocator; /* vidmem only */ - struct list_head clear_list_entry; /* vidmem only */ + struct nvgpu_list_node clear_list_entry; /* vidmem only */ bool skip_wmb; unsigned long flags; }; +static inline struct mem_desc * +mem_desc_from_clear_list_entry(struct nvgpu_list_node *node) +{ + return (struct mem_desc *) + ((uintptr_t)node - offsetof(struct mem_desc, clear_list_entry)); +}; + struct mem_desc_sub { u32 offset; u32 size; @@ -416,7 +424,7 @@ struct mm_gk20a { volatile bool cleared; struct nvgpu_mutex first_clear_mutex; - struct list_head clear_list_head; + struct nvgpu_list_node clear_list_head; struct nvgpu_mutex clear_list_mutex; struct work_struct clear_mem_worker; -- cgit v1.2.2