Commit | Line | Data |
---|---|---|
db9a41fa S |
1 | /*\r |
2 | * This confidential and proprietary software may be used only as\r | |
3 | * authorised by a licensing agreement from ARM Limited\r | |
4 | * (C) COPYRIGHT 2013-2015 ARM Limited\r | |
5 | * ALL RIGHTS RESERVED\r | |
6 | * The entire notice above must be reproduced on all authorised\r | |
7 | * copies and copies may only be made to the extent permitted\r | |
8 | * by a licensing agreement from ARM Limited.\r | |
9 | */\r | |
10 | \r | |
11 | #ifndef __MALI_MEMORY_MANAGER_H__\r | |
12 | #define __MALI_MEMORY_MANAGER_H__\r | |
13 | \r | |
14 | #include "mali_osk.h"\r | |
15 | #include <linux/list.h>\r | |
16 | #include <linux/mm.h>\r | |
17 | #include <linux/rbtree.h>\r | |
18 | #include <linux/spinlock.h>\r | |
19 | #include <linux/types.h>\r | |
20 | #include "mali_memory_types.h"\r | |
21 | #include "mali_memory_os_alloc.h"\r | |
22 | #include "mali_uk_types.h"\r | |
23 | \r | |
24 | struct mali_allocation_manager {\r | |
25 | rwlock_t vm_lock;\r | |
26 | struct rb_root allocation_mgr_rb;\r | |
27 | struct list_head head;\r | |
28 | struct mutex list_mutex;\r | |
29 | };\r | |
30 | \r | |
31 | extern struct idr mali_backend_idr;\r | |
32 | extern struct mutex mali_idr_mutex;\r | |
33 | \r | |
34 | int mali_memory_manager_init(struct mali_allocation_manager *mgr);\r | |
35 | void mali_memory_manager_uninit(struct mali_allocation_manager *mgr);\r | |
36 | \r | |
37 | void mali_mem_allocation_struct_destory(mali_mem_allocation *alloc);\r | |
38 | \r | |
39 | mali_mem_backend *mali_mem_backend_struct_search(struct mali_allocation_manager *mgr, u32 mali_address);\r | |
40 | _mali_osk_errcode_t _mali_ukk_mem_allocate(_mali_uk_alloc_mem_s *args);\r | |
41 | _mali_osk_errcode_t _mali_ukk_mem_free(_mali_uk_free_mem_s *args);\r | |
42 | _mali_osk_errcode_t _mali_ukk_mem_bind(_mali_uk_bind_mem_s *args);\r | |
43 | _mali_osk_errcode_t _mali_ukk_mem_unbind(_mali_uk_unbind_mem_s *args);\r | |
44 | _mali_osk_errcode_t _mali_ukk_mem_cow(_mali_uk_cow_mem_s *args);\r | |
45 | _mali_osk_errcode_t _mali_ukk_mem_cow_modify_range(_mali_uk_cow_modify_range_s *args);\r | |
46 | _mali_osk_errcode_t _mali_ukk_mem_usage_get(_mali_uk_profiling_memory_usage_get_s *args);\r | |
47 | \r | |
48 | #endif\r | |
49 | \r |