Lines Matching refs:area
1117 static inline int __zs_cpu_up(struct mapping_area *area) in __zs_cpu_up() argument
1123 if (area->vm) in __zs_cpu_up()
1125 area->vm = alloc_vm_area(PAGE_SIZE * 2, NULL); in __zs_cpu_up()
1126 if (!area->vm) in __zs_cpu_up()
1131 static inline void __zs_cpu_down(struct mapping_area *area) in __zs_cpu_down() argument
1133 if (area->vm) in __zs_cpu_down()
1134 free_vm_area(area->vm); in __zs_cpu_down()
1135 area->vm = NULL; in __zs_cpu_down()
1138 static inline void *__zs_map_object(struct mapping_area *area, in __zs_map_object() argument
1141 BUG_ON(map_vm_area(area->vm, PAGE_KERNEL, pages)); in __zs_map_object()
1142 area->vm_addr = area->vm->addr; in __zs_map_object()
1143 return area->vm_addr + off; in __zs_map_object()
1146 static inline void __zs_unmap_object(struct mapping_area *area, in __zs_unmap_object() argument
1149 unsigned long addr = (unsigned long)area->vm_addr; in __zs_unmap_object()
1156 static inline int __zs_cpu_up(struct mapping_area *area) in __zs_cpu_up() argument
1162 if (area->vm_buf) in __zs_cpu_up()
1164 area->vm_buf = kmalloc(ZS_MAX_ALLOC_SIZE, GFP_KERNEL); in __zs_cpu_up()
1165 if (!area->vm_buf) in __zs_cpu_up()
1170 static inline void __zs_cpu_down(struct mapping_area *area) in __zs_cpu_down() argument
1172 kfree(area->vm_buf); in __zs_cpu_down()
1173 area->vm_buf = NULL; in __zs_cpu_down()
1176 static void *__zs_map_object(struct mapping_area *area, in __zs_map_object() argument
1181 char *buf = area->vm_buf; in __zs_map_object()
1187 if (area->vm_mm == ZS_MM_WO) in __zs_map_object()
1201 return area->vm_buf; in __zs_map_object()
1204 static void __zs_unmap_object(struct mapping_area *area, in __zs_unmap_object() argument
1212 if (area->vm_mm == ZS_MM_RO) in __zs_unmap_object()
1215 buf = area->vm_buf; in __zs_unmap_object()
1240 struct mapping_area *area; in zs_cpu_prepare() local
1242 area = &per_cpu(zs_map_area, cpu); in zs_cpu_prepare()
1243 return __zs_cpu_up(area); in zs_cpu_prepare()
1248 struct mapping_area *area; in zs_cpu_dead() local
1250 area = &per_cpu(zs_map_area, cpu); in zs_cpu_dead()
1251 __zs_cpu_down(area); in zs_cpu_dead()
1302 struct mapping_area *area; in zs_map_object() local
1327 area = &get_cpu_var(zs_map_area); in zs_map_object()
1328 area->vm_mm = mm; in zs_map_object()
1331 area->vm_addr = kmap_atomic(page); in zs_map_object()
1332 ret = area->vm_addr + off; in zs_map_object()
1341 ret = __zs_map_object(area, pages, off, class->size); in zs_map_object()
1360 struct mapping_area *area; in zs_unmap_object() local
1369 area = this_cpu_ptr(&zs_map_area); in zs_unmap_object()
1371 kunmap_atomic(area->vm_addr); in zs_unmap_object()
1379 __zs_unmap_object(area, pages, off, class->size); in zs_unmap_object()