Lines Matching refs:area
1031 static inline int __zs_cpu_up(struct mapping_area *area) in __zs_cpu_up() argument
1037 if (area->vm) in __zs_cpu_up()
1039 area->vm = alloc_vm_area(PAGE_SIZE * 2, NULL); in __zs_cpu_up()
1040 if (!area->vm) in __zs_cpu_up()
1045 static inline void __zs_cpu_down(struct mapping_area *area) in __zs_cpu_down() argument
1047 if (area->vm) in __zs_cpu_down()
1048 free_vm_area(area->vm); in __zs_cpu_down()
1049 area->vm = NULL; in __zs_cpu_down()
1052 static inline void *__zs_map_object(struct mapping_area *area, in __zs_map_object() argument
1055 BUG_ON(map_vm_area(area->vm, PAGE_KERNEL, pages)); in __zs_map_object()
1056 area->vm_addr = area->vm->addr; in __zs_map_object()
1057 return area->vm_addr + off; in __zs_map_object()
1060 static inline void __zs_unmap_object(struct mapping_area *area, in __zs_unmap_object() argument
1063 unsigned long addr = (unsigned long)area->vm_addr; in __zs_unmap_object()
1070 static inline int __zs_cpu_up(struct mapping_area *area) in __zs_cpu_up() argument
1076 if (area->vm_buf) in __zs_cpu_up()
1078 area->vm_buf = kmalloc(ZS_MAX_ALLOC_SIZE, GFP_KERNEL); in __zs_cpu_up()
1079 if (!area->vm_buf) in __zs_cpu_up()
1084 static inline void __zs_cpu_down(struct mapping_area *area) in __zs_cpu_down() argument
1086 kfree(area->vm_buf); in __zs_cpu_down()
1087 area->vm_buf = NULL; in __zs_cpu_down()
1090 static void *__zs_map_object(struct mapping_area *area, in __zs_map_object() argument
1095 char *buf = area->vm_buf; in __zs_map_object()
1101 if (area->vm_mm == ZS_MM_WO) in __zs_map_object()
1115 return area->vm_buf; in __zs_map_object()
1118 static void __zs_unmap_object(struct mapping_area *area, in __zs_unmap_object() argument
1126 if (area->vm_mm == ZS_MM_RO) in __zs_unmap_object()
1129 buf = area->vm_buf; in __zs_unmap_object()
1130 if (!area->huge) { in __zs_unmap_object()
1158 struct mapping_area *area; in zs_cpu_notifier() local
1162 area = &per_cpu(zs_map_area, cpu); in zs_cpu_notifier()
1163 ret = __zs_cpu_up(area); in zs_cpu_notifier()
1169 area = &per_cpu(zs_map_area, cpu); in zs_cpu_notifier()
1170 __zs_cpu_down(area); in zs_cpu_notifier()
1270 struct mapping_area *area; in zs_map_object() local
1292 area = &get_cpu_var(zs_map_area); in zs_map_object()
1293 area->vm_mm = mm; in zs_map_object()
1296 area->vm_addr = kmap_atomic(page); in zs_map_object()
1297 ret = area->vm_addr + off; in zs_map_object()
1306 ret = __zs_map_object(area, pages, off, class->size); in zs_map_object()
1323 struct mapping_area *area; in zs_unmap_object() local
1333 area = this_cpu_ptr(&zs_map_area); in zs_unmap_object()
1335 kunmap_atomic(area->vm_addr); in zs_unmap_object()
1343 __zs_unmap_object(area, pages, off, class->size); in zs_unmap_object()