Home
last modified time | relevance | path

Searched refs:page_list (Results 1 – 25 of 81) sorted by relevance

1234

/Linux-v5.4/drivers/infiniband/hw/mthca/
Dmthca_allocator.c122 if (array->page_list[p].page) in mthca_array_get()
123 return array->page_list[p].page[index & MTHCA_ARRAY_MASK]; in mthca_array_get()
133 if (!array->page_list[p].page) in mthca_array_set()
134 array->page_list[p].page = (void **) get_zeroed_page(GFP_ATOMIC); in mthca_array_set()
136 if (!array->page_list[p].page) in mthca_array_set()
139 array->page_list[p].page[index & MTHCA_ARRAY_MASK] = value; in mthca_array_set()
140 ++array->page_list[p].used; in mthca_array_set()
149 if (--array->page_list[p].used == 0) { in mthca_array_clear()
150 free_page((unsigned long) array->page_list[p].page); in mthca_array_clear()
151 array->page_list[p].page = NULL; in mthca_array_clear()
[all …]
Dmthca_eq.c231 return eq->page_list[off / PAGE_SIZE].buf + off % PAGE_SIZE; in get_eqe()
482 eq->page_list = kmalloc_array(npages, sizeof(*eq->page_list), in mthca_create_eq()
484 if (!eq->page_list) in mthca_create_eq()
488 eq->page_list[i].buf = NULL; in mthca_create_eq()
500 eq->page_list[i].buf = dma_alloc_coherent(&dev->pdev->dev, in mthca_create_eq()
502 if (!eq->page_list[i].buf) in mthca_create_eq()
506 dma_unmap_addr_set(&eq->page_list[i], mapping, t); in mthca_create_eq()
508 clear_page(eq->page_list[i].buf); in mthca_create_eq()
572 if (eq->page_list[i].buf) in mthca_create_eq()
574 eq->page_list[i].buf, in mthca_create_eq()
[all …]
/Linux-v5.4/mm/
Ddmapool.c43 struct list_head page_list; member
54 struct list_head page_list; member
86 list_for_each_entry(page, &pool->page_list, page_list) { in show_pools()
165 INIT_LIST_HEAD(&retval->page_list); in dma_pool_create()
257 list_del(&page->page_list); in pool_free_page()
286 while (!list_empty(&pool->page_list)) { in dma_pool_destroy()
288 page = list_entry(pool->page_list.next, in dma_pool_destroy()
289 struct dma_page, page_list); in dma_pool_destroy()
299 list_del(&page->page_list); in dma_pool_destroy()
330 list_for_each_entry(page, &pool->page_list, page_list) { in dma_pool_alloc()
[all …]
/Linux-v5.4/arch/powerpc/kernel/
Dmachine_kexec_32.c32 unsigned long page_list; in default_machine_kexec() local
43 page_list = image->head; in default_machine_kexec()
59 relocate_new_kernel(page_list, reboot_code_buffer_phys, image->start); in default_machine_kexec()
63 (*rnk)(page_list, reboot_code_buffer_phys, image->start); in default_machine_kexec()
/Linux-v5.4/drivers/infiniband/hw/hns/
Dhns_roce_alloc.c170 if (buf->page_list[i].buf) in hns_roce_buf_free()
172 buf->page_list[i].buf, in hns_roce_buf_free()
173 buf->page_list[i].map); in hns_roce_buf_free()
174 kfree(buf->page_list); in hns_roce_buf_free()
214 buf->page_list = kcalloc(buf->nbufs, sizeof(*buf->page_list), in hns_roce_buf_alloc()
217 if (!buf->page_list) in hns_roce_buf_alloc()
221 buf->page_list[i].buf = dma_alloc_coherent(dev, in hns_roce_buf_alloc()
226 if (!buf->page_list[i].buf) in hns_roce_buf_alloc()
229 buf->page_list[i].map = t; in hns_roce_buf_alloc()
260 bufs[total++] = buf->page_list[i].map; in hns_roce_get_kmem_bufs()
/Linux-v5.4/drivers/infiniband/core/
Dumem.c74 struct page **page_list, in ib_umem_add_sg_table() argument
88 page_to_pfn(page_list[0]))) in ib_umem_add_sg_table()
93 struct page *first_page = page_list[i]; in ib_umem_add_sg_table()
101 first_pfn + len == page_to_pfn(page_list[i]) && in ib_umem_add_sg_table()
195 struct page **page_list; in ib_umem_get() local
241 page_list = (struct page **) __get_free_page(GFP_KERNEL); in ib_umem_get()
242 if (!page_list) { in ib_umem_get()
279 page_list, NULL); in ib_umem_get()
288 sg = ib_umem_add_sg_table(sg, page_list, ret, in ib_umem_get()
316 free_page((unsigned long) page_list); in ib_umem_get()
Dfmr_pool.c116 u64 *page_list, in ib_fmr_cache_lookup() argument
126 bucket = pool->cache_bucket + ib_fmr_hash(*page_list); in ib_fmr_cache_lookup()
131 !memcmp(page_list, fmr->page_list, in ib_fmr_cache_lookup()
132 page_list_len * sizeof *page_list)) in ib_fmr_cache_lookup()
393 u64 *page_list, in ib_fmr_pool_map_phys() argument
407 page_list, in ib_fmr_pool_map_phys()
432 result = ib_map_phys_fmr(fmr->fmr, page_list, list_len, in ib_fmr_pool_map_phys()
451 memcpy(fmr->page_list, page_list, list_len * sizeof(*page_list)); in ib_fmr_pool_map_phys()
455 pool->cache_bucket + ib_fmr_hash(fmr->page_list[0])); in ib_fmr_pool_map_phys()
Dumem_odp.c242 umem_odp->page_list = kvcalloc( in ib_init_umem_odp()
243 pages, sizeof(*umem_odp->page_list), GFP_KERNEL); in ib_init_umem_odp()
244 if (!umem_odp->page_list) in ib_init_umem_odp()
279 kvfree(umem_odp->page_list); in ib_init_umem_odp()
459 kvfree(umem_odp->page_list); in ib_umem_odp_release()
532 umem_odp->page_list[page_index] = page; in ib_umem_odp_map_dma_single_page()
534 } else if (umem_odp->page_list[page_index] == page) { in ib_umem_odp_map_dma_single_page()
538 umem_odp->page_list[page_index], page); in ib_umem_odp_map_dma_single_page()
735 if (umem_odp->page_list[idx]) { in ib_umem_odp_unmap_dma_pages()
736 struct page *page = umem_odp->page_list[idx]; in ib_umem_odp_unmap_dma_pages()
[all …]
/Linux-v5.4/drivers/infiniband/hw/usnic/
Dusnic_uiom.c51 ((PAGE_SIZE - offsetof(struct usnic_uiom_chunk, page_list)) /\
52 ((void *) &((struct usnic_uiom_chunk *) 0)->page_list[1] - \
53 (void *) &((struct usnic_uiom_chunk *) 0)->page_list[0]))
75 for_each_sg(chunk->page_list, sg, chunk->nents, i) { in usnic_uiom_put_pages()
89 struct page **page_list; in usnic_uiom_get_pages() local
119 page_list = (struct page **) __get_free_page(GFP_KERNEL); in usnic_uiom_get_pages()
120 if (!page_list) in usnic_uiom_get_pages()
148 page_list, NULL); in usnic_uiom_get_pages()
157 chunk = kmalloc(struct_size(chunk, page_list, in usnic_uiom_get_pages()
166 sg_init_table(chunk->page_list, chunk->nents); in usnic_uiom_get_pages()
[all …]
/Linux-v5.4/drivers/misc/genwqe/
Dcard_utils.c240 struct page **page_list, int num_pages, in genwqe_map_pages() argument
251 daddr = pci_map_page(pci_dev, page_list[i], in genwqe_map_pages()
526 static int genwqe_free_user_pages(struct page **page_list, in genwqe_free_user_pages() argument
532 if (page_list[i] != NULL) { in genwqe_free_user_pages()
534 set_page_dirty_lock(page_list[i]); in genwqe_free_user_pages()
535 put_page(page_list[i]); in genwqe_free_user_pages()
587 m->page_list = kcalloc(m->nr_pages, in genwqe_user_vmap()
590 if (!m->page_list) { in genwqe_user_vmap()
597 m->dma_list = (dma_addr_t *)(m->page_list + m->nr_pages); in genwqe_user_vmap()
603 m->page_list); /* ptrs to pages */ in genwqe_user_vmap()
[all …]
/Linux-v5.4/include/linux/
Ddm-io.h23 struct page_list { struct
24 struct page_list *next; argument
43 struct page_list *pl; argument
/Linux-v5.4/arch/x86/kernel/
Dmachine_kexec_32.c175 unsigned long page_list[PAGES_NR]; in machine_kexec() local
213 page_list[PA_CONTROL_PAGE] = __pa(control_page); in machine_kexec()
214 page_list[VA_CONTROL_PAGE] = (unsigned long)control_page; in machine_kexec()
215 page_list[PA_PGD] = __pa(image->arch.pgd); in machine_kexec()
218 page_list[PA_SWAP_PAGE] = (page_to_pfn(image->swap_page) in machine_kexec()
241 (unsigned long)page_list, in machine_kexec()
Dmachine_kexec_64.c375 unsigned long page_list[PAGES_NR]; in machine_kexec() local
406 page_list[PA_CONTROL_PAGE] = virt_to_phys(control_page); in machine_kexec()
407 page_list[VA_CONTROL_PAGE] = (unsigned long)control_page; in machine_kexec()
408 page_list[PA_TABLE_PAGE] = in machine_kexec()
412 page_list[PA_SWAP_PAGE] = (page_to_pfn(image->swap_page) in machine_kexec()
435 (unsigned long)page_list, in machine_kexec()
/Linux-v5.4/drivers/net/ethernet/mellanox/mlx4/
Dmr.c693 int start_index, int npages, u64 *page_list) in mlx4_write_mtt_chunk() argument
710 mtts[i] = cpu_to_be64(page_list[i] | MLX4_MTT_FLAG_PRESENT); in mlx4_write_mtt_chunk()
719 int start_index, int npages, u64 *page_list) in __mlx4_write_mtt() argument
734 err = mlx4_write_mtt_chunk(dev, mtt, start_index, chunk, page_list); in __mlx4_write_mtt()
739 page_list += chunk; in __mlx4_write_mtt()
747 int start_index, int npages, u64 *page_list) in mlx4_write_mtt() argument
770 inbox[i + 2] = cpu_to_be64(page_list[i] | in mlx4_write_mtt()
780 page_list += chunk; in mlx4_write_mtt()
786 return __mlx4_write_mtt(dev, mtt, start_index, npages, page_list); in mlx4_write_mtt()
793 u64 *page_list; in mlx4_buf_write_mtt() local
[all …]
Dalloc.c619 buf->page_list = kcalloc(buf->nbufs, sizeof(*buf->page_list), in mlx4_buf_alloc()
621 if (!buf->page_list) in mlx4_buf_alloc()
625 buf->page_list[i].buf = in mlx4_buf_alloc()
628 if (!buf->page_list[i].buf) in mlx4_buf_alloc()
631 buf->page_list[i].map = t; in mlx4_buf_alloc()
653 if (buf->page_list[i].buf) in mlx4_buf_free()
656 buf->page_list[i].buf, in mlx4_buf_free()
657 buf->page_list[i].map); in mlx4_buf_free()
658 kfree(buf->page_list); in mlx4_buf_free()
/Linux-v5.4/drivers/staging/comedi/
Dcomedi_buf.c29 if (bm->page_list) { in comedi_buf_map_kref_release()
35 buf = &bm->page_list[0]; in comedi_buf_map_kref_release()
41 buf = &bm->page_list[i]; in comedi_buf_map_kref_release()
46 vfree(bm->page_list); in comedi_buf_map_kref_release()
93 bm->page_list = vzalloc(sizeof(*buf) * n_pages); in comedi_buf_map_alloc()
94 if (!bm->page_list) in comedi_buf_map_alloc()
112 buf = &bm->page_list[i]; in comedi_buf_map_alloc()
120 buf = &bm->page_list[i]; in comedi_buf_map_alloc()
170 buf = &bm->page_list[0]; in __comedi_buf_alloc()
178 buf = &bm->page_list[i]; in __comedi_buf_alloc()
[all …]
/Linux-v5.4/drivers/md/
Ddm-kcopyd.c58 struct page_list *pages;
93 static struct page_list zero_page_list;
214 static struct page_list *alloc_pl(gfp_t gfp) in alloc_pl()
216 struct page_list *pl; in alloc_pl()
231 static void free_pl(struct page_list *pl) in free_pl()
241 static void kcopyd_put_pages(struct dm_kcopyd_client *kc, struct page_list *pl) in kcopyd_put_pages()
243 struct page_list *next; in kcopyd_put_pages()
261 unsigned int nr, struct page_list **pages) in kcopyd_get_pages()
263 struct page_list *pl; in kcopyd_get_pages()
292 static void drop_pages(struct page_list *pl) in drop_pages()
[all …]
/Linux-v5.4/drivers/gpu/drm/ttm/
Dttm_page_alloc_dma.c123 struct list_head page_list; member
366 list_del(&d_page->page_list); in ttm_dma_page_put()
376 list_for_each_entry_safe(d_page, tmp, d_pages, page_list) in ttm_dma_pages_put()
388 list_for_each_entry_safe(d_page, tmp, d_pages, page_list) { in ttm_dma_pages_put()
389 list_del(&d_page->page_list); in ttm_dma_pages_put()
436 page_list) { in ttm_dma_page_pool_free()
441 list_move(&dma_p->page_list, &d_pages); in ttm_dma_page_pool_free()
679 list_for_each_entry_safe(d_page, tmp, d_pages, page_list) { in ttm_dma_handle_caching_state_failure()
683 list_del(&d_page->page_list); in ttm_dma_handle_caching_state_failure()
745 list_add(&dma_p->page_list, d_pages); in ttm_dma_pool_alloc_new_pages()
[all …]
/Linux-v5.4/arch/arm/kernel/
Dmachine_kexec.c163 unsigned long page_list, reboot_entry_phys; in machine_kexec() local
175 page_list = image->head & PAGE_MASK; in machine_kexec()
182 kexec_indirection_page = page_list; in machine_kexec()
/Linux-v5.4/include/rdma/
Dib_fmr_pool.h76 u64 page_list[0]; member
87 u64 *page_list,
/Linux-v5.4/drivers/gpu/drm/vmwgfx/
Dvmwgfx_validation.h80 struct list_head page_list; member
112 .page_list = LIST_HEAD_INIT((_name).page_list), \
/Linux-v5.4/arch/sh/kernel/
Dmachine_kexec.c73 unsigned long page_list; in machine_kexec() local
103 page_list = image->head; in machine_kexec()
120 (*rnk)(page_list, reboot_code_buffer, in machine_kexec()
/Linux-v5.4/Documentation/admin-guide/device-mapper/
Ddm-io.rst25 struct page_list {
26 struct page_list *next;
31 struct page_list *pl, unsigned int offset,
34 struct page_list *pl, unsigned int offset,
/Linux-v5.4/drivers/net/ethernet/google/gve/
Dgve_adminq.c338 __be64 *page_list; in gve_adminq_register_page_list() local
343 page_list = dma_alloc_coherent(hdev, size, &page_list_bus, GFP_KERNEL); in gve_adminq_register_page_list()
344 if (!page_list) in gve_adminq_register_page_list()
348 page_list[i] = cpu_to_be64(qpl->page_buses[i]); in gve_adminq_register_page_list()
358 dma_free_coherent(hdev, size, page_list, page_list_bus); in gve_adminq_register_page_list()
/Linux-v5.4/include/uapi/linux/
Dvbox_vmmdev_types.h235 } page_list; member
258 } page_list; member

1234