Lines Matching full:elm
250 struct iopt_pages_list *elm; in iopt_alloc_area_pages() local
255 list_for_each_entry(elm, pages_list, next) { in iopt_alloc_area_pages()
256 elm->area = iopt_area_alloc(); in iopt_alloc_area_pages()
257 if (!elm->area) in iopt_alloc_area_pages()
269 elm = list_first_entry(pages_list, struct iopt_pages_list, in iopt_alloc_area_pages()
271 switch (elm->pages->type) { in iopt_alloc_area_pages()
273 start = elm->start_byte + (uintptr_t)elm->pages->uptr; in iopt_alloc_area_pages()
276 start = elm->start_byte + elm->pages->start; in iopt_alloc_area_pages()
298 list_for_each_entry(elm, pages_list, next) { in iopt_alloc_area_pages()
299 rc = iopt_insert_area(iopt, elm->area, elm->pages, iova, in iopt_alloc_area_pages()
300 elm->start_byte, elm->length, iommu_prot); in iopt_alloc_area_pages()
303 iova += elm->length; in iopt_alloc_area_pages()
325 struct iopt_pages_list *elm; in iopt_free_pages_list() local
327 while ((elm = list_first_entry_or_null(pages_list, in iopt_free_pages_list()
329 if (elm->area) in iopt_free_pages_list()
330 iopt_abort_area(elm->area); in iopt_free_pages_list()
331 if (elm->pages) in iopt_free_pages_list()
332 iopt_put_pages(elm->pages); in iopt_free_pages_list()
333 list_del(&elm->next); in iopt_free_pages_list()
334 kfree(elm); in iopt_free_pages_list()
341 struct iopt_pages_list *elm; in iopt_fill_domains_pages() local
344 list_for_each_entry(elm, pages_list, next) { in iopt_fill_domains_pages()
345 rc = iopt_area_fill_domains(elm->area, elm->pages); in iopt_fill_domains_pages()
353 if (undo_elm == elm) in iopt_fill_domains_pages()
364 struct iopt_pages_list *elm; in iopt_map_pages() local
378 list_for_each_entry(elm, pages_list, next) { in iopt_map_pages()
384 elm->area->pages = elm->pages; in iopt_map_pages()
385 elm->pages = NULL; in iopt_map_pages()
386 elm->area = NULL; in iopt_map_pages()
399 struct iopt_pages_list elm = {}; in iopt_map_common() local
403 elm.pages = pages; in iopt_map_common()
404 elm.start_byte = start_byte; in iopt_map_common()
406 elm.pages->account_mode == IOPT_PAGES_ACCOUNT_USER) in iopt_map_common()
407 elm.pages->account_mode = IOPT_PAGES_ACCOUNT_MM; in iopt_map_common()
408 elm.length = length; in iopt_map_common()
409 list_add(&elm.next, &pages_list); in iopt_map_common()
413 if (elm.area) in iopt_map_common()
414 iopt_abort_area(elm.area); in iopt_map_common()
415 if (elm.pages) in iopt_map_common()
416 iopt_put_pages(elm.pages); in iopt_map_common()
669 struct iopt_pages_list *elm; in iopt_get_pages() local
672 elm = kzalloc(sizeof(*elm), GFP_KERNEL_ACCOUNT); in iopt_get_pages()
673 if (!elm) { in iopt_get_pages()
677 elm->start_byte = iopt_area_start_byte(area, iter.cur_iova); in iopt_get_pages()
678 elm->pages = area->pages; in iopt_get_pages()
679 elm->length = (last - iter.cur_iova) + 1; in iopt_get_pages()
680 kref_get(&elm->pages->kref); in iopt_get_pages()
681 list_add_tail(&elm->next, pages_list); in iopt_get_pages()