| /linux/drivers/iommu/iommufd/ |
| H A D | pages.c | 73 * allocation can hold about 26M of 4k pages and 13G of 2M pages in an 167 static void iopt_pages_add_npinned(struct iopt_pages *pages, size_t npages) in iopt_pages_add_npinned() argument 171 rc = check_add_overflow(pages->npinned, npages, &pages->npinned); in iopt_pages_add_npinned() 173 WARN_ON(rc || pages->npinned > pages->npages); in iopt_pages_add_npinned() 176 static void iopt_pages_sub_npinned(struct iopt_pages *pages, size_t npages) in iopt_pages_sub_npinned() argument 180 rc = check_sub_overflow(pages->npinned, npages, &pages in iopt_pages_sub_npinned() 185 iopt_pages_err_unpin(struct iopt_pages * pages,unsigned long start_index,unsigned long last_index,struct page ** page_list) iopt_pages_err_unpin() argument 253 iopt_pages_find_domain_area(struct iopt_pages * pages,unsigned long index) iopt_pages_find_domain_area() argument 614 pages_to_xarray(struct xarray * xa,unsigned long start_index,unsigned long last_index,struct page ** pages) pages_to_xarray() argument 653 batch_from_pages(struct pfn_batch * batch,struct page ** pages,size_t npages) batch_from_pages() argument 698 batch_unpin(struct pfn_batch * batch,struct iopt_pages * pages,unsigned int first_page_off,size_t npages) batch_unpin() argument 789 pfn_reader_user_init(struct pfn_reader_user * user,struct iopt_pages * pages) pfn_reader_user_init() argument 808 pfn_reader_user_destroy(struct pfn_reader_user * user,struct iopt_pages * pages) pfn_reader_user_destroy() argument 877 pfn_reader_user_pin(struct pfn_reader_user * user,struct iopt_pages * pages,unsigned long start_index,unsigned long last_index) pfn_reader_user_pin() argument 956 incr_user_locked_vm(struct iopt_pages * pages,unsigned long npages) incr_user_locked_vm() argument 975 decr_user_locked_vm(struct iopt_pages * pages,unsigned long npages) decr_user_locked_vm() argument 983 update_mm_locked_vm(struct iopt_pages * pages,unsigned long npages,bool inc,struct pfn_reader_user * user) update_mm_locked_vm() argument 1011 iopt_pages_update_pinned(struct iopt_pages * pages,unsigned long npages,bool inc,struct pfn_reader_user * user) iopt_pages_update_pinned() argument 1040 update_unpinned(struct iopt_pages * pages) update_unpinned() argument 1058 pfn_reader_user_update_pinned(struct pfn_reader_user * user,struct iopt_pages * pages) pfn_reader_user_update_pinned() argument 1086 pfn_reader_dmabuf_init(struct pfn_reader_dmabuf * dmabuf,struct iopt_pages * pages) pfn_reader_dmabuf_init() argument 1126 struct iopt_pages *pages; global() member 1153 struct iopt_pages *pages = pfns->pages; pfn_reader_unpin() local 1267 pfn_reader_init(struct pfn_reader * pfns,struct iopt_pages * pages,unsigned long start_index,unsigned long last_index) pfn_reader_init() argument 1301 struct iopt_pages *pages = pfns->pages; pfn_reader_release_pins() local 1334 struct iopt_pages *pages = pfns->pages; pfn_reader_destroy() local 1343 pfn_reader_first(struct pfn_reader * pfns,struct iopt_pages * pages,unsigned long start_index,unsigned long last_index) pfn_reader_first() argument 1366 struct iopt_pages *pages; iopt_alloc_pages() local 1401 struct iopt_pages *pages; iopt_alloc_user_pages() local 1423 struct iopt_pages *pages; iopt_alloc_file_pages() local 1436 struct iopt_pages *pages = attach->importer_priv; iopt_revoke_notify() local 1484 iopt_map_dmabuf(struct iommufd_ctx * ictx,struct iopt_pages * pages,struct dma_buf * dmabuf) iopt_map_dmabuf() argument 1528 struct iopt_pages *pages; iopt_alloc_dmabuf_pages() local 1565 iopt_dmabuf_track_domain(struct iopt_pages * pages,struct iopt_area * area,struct iommu_domain * domain) iopt_dmabuf_track_domain() argument 1588 iopt_dmabuf_untrack_domain(struct iopt_pages * pages,struct iopt_area * area,struct iommu_domain * domain) iopt_dmabuf_untrack_domain() argument 1608 iopt_dmabuf_track_all_domains(struct iopt_area * area,struct iopt_pages * pages) iopt_dmabuf_track_all_domains() argument 1631 iopt_dmabuf_untrack_all_domains(struct iopt_area * area,struct iopt_pages * pages) iopt_dmabuf_untrack_all_domains() argument 1647 struct iopt_pages *pages = container_of(kref, struct iopt_pages, kref); iopt_release_pages() local 1671 iopt_area_unpin_domain(struct pfn_batch * batch,struct iopt_area * area,struct iopt_pages * pages,struct iommu_domain * domain,unsigned long start_index,unsigned long last_index,unsigned long * unmapped_end_index,unsigned long real_last_index) iopt_area_unpin_domain() argument 1731 __iopt_area_unfill_domain(struct iopt_area * area,struct iopt_pages * pages,struct iommu_domain * domain,unsigned long last_index) __iopt_area_unfill_domain() argument 1791 iopt_area_unfill_partial_domain(struct iopt_area * area,struct iopt_pages * pages,struct iommu_domain * domain,unsigned long end_index) iopt_area_unfill_partial_domain() argument 1823 iopt_area_unfill_domain(struct iopt_area * area,struct iopt_pages * pages,struct iommu_domain * domain) iopt_area_unfill_domain() argument 1895 iopt_area_fill_domains(struct iopt_area * area,struct iopt_pages * pages) iopt_area_fill_domains() argument 1992 iopt_area_unfill_domains(struct iopt_area * area,struct iopt_pages * pages) iopt_area_unfill_domains() argument 2026 iopt_pages_unpin_xarray(struct pfn_batch * batch,struct iopt_pages * pages,unsigned long start_index,unsigned long end_index) iopt_pages_unpin_xarray() argument 2048 iopt_pages_unfill_xarray(struct iopt_pages * pages,unsigned long start_index,unsigned long last_index) iopt_pages_unfill_xarray() argument 2096 iopt_pages_fill_from_xarray(struct iopt_pages * pages,unsigned long start_index,unsigned long last_index,struct page ** out_pages) iopt_pages_fill_from_xarray() argument 2116 iopt_pages_fill_from_domain(struct iopt_pages * pages,unsigned long start_index,unsigned long last_index,struct page ** out_pages) iopt_pages_fill_from_domain() argument 2138 iopt_pages_fill(struct iopt_pages * pages,struct pfn_reader_user * user,unsigned long start_index,unsigned long last_index,struct page ** out_pages) iopt_pages_fill() argument 2177 iopt_pages_fill_xarray(struct iopt_pages * pages,unsigned long start_index,unsigned long last_index,struct page ** out_pages) iopt_pages_fill_xarray() argument 2249 iopt_pages_rw_slow(struct iopt_pages * pages,unsigned long start_index,unsigned long last_index,unsigned long offset,void * data,unsigned long length,unsigned int flags) iopt_pages_rw_slow() argument 2290 iopt_pages_rw_page(struct iopt_pages * pages,unsigned long index,unsigned long offset,void * data,unsigned long length,unsigned int flags) iopt_pages_rw_page() argument 2341 iopt_pages_rw_access(struct iopt_pages * pages,unsigned long start_byte,void * data,unsigned long length,unsigned int flags) iopt_pages_rw_access() argument 2404 iopt_pages_get_exact_access(struct iopt_pages * pages,unsigned long index,unsigned long last) iopt_pages_get_exact_access() argument 2438 struct iopt_pages *pages = area->pages; iopt_area_add_access() local 2498 struct iopt_pages *pages = area->pages; iopt_area_remove_access() local [all...] |
| H A D | io_pagetable.c | 26 struct iopt_pages *pages; member 45 if (!iter->area->pages) { in iopt_area_contig_init() 68 !iter->area->pages) { in iopt_area_contig_next() 210 struct iopt_pages *pages, unsigned long iova, in iopt_insert_area() argument 216 if ((iommu_prot & IOMMU_WRITE) && !pages->writable) in iopt_insert_area() 232 if (WARN_ON(area->pages_node.last >= pages->npages)) in iopt_insert_area() 282 switch (elm->pages->type) { in iopt_alloc_area_pages() 284 start = elm->start_byte + (uintptr_t)elm->pages->uptr; in iopt_alloc_area_pages() 287 start = elm->start_byte + elm->pages->start; in iopt_alloc_area_pages() 290 start = elm->start_byte + elm->pages->dmabuf.start; in iopt_alloc_area_pages() [all …]
|
| H A D | ioas.c | 440 static bool need_charge_update(struct iopt_pages *pages) in need_charge_update() argument 442 switch (pages->account_mode) { in need_charge_update() 446 return pages->source_mm != current->mm; in need_charge_update() 452 return (pages->source_user != current_user()) || in need_charge_update() 453 (pages->source_mm != current->mm); in need_charge_update() 493 static void change_mm(struct iopt_pages *pages) in change_mm() argument 495 struct task_struct *old_task = pages->source_task; in change_mm() 496 struct user_struct *old_user = pages->source_user; in change_mm() 497 struct mm_struct *old_mm = pages->source_mm; in change_mm() 499 pages->source_mm = current->mm; in change_mm() [all …]
|
| /linux/net/ceph/ |
| H A D | pagevec.c | 13 void ceph_put_page_vector(struct page **pages, int num_pages, bool dirty) in ceph_put_page_vector() argument 19 set_page_dirty_lock(pages[i]); in ceph_put_page_vector() 20 put_page(pages[i]); in ceph_put_page_vector() 22 kvfree(pages); in ceph_put_page_vector() 26 void ceph_release_page_vector(struct page **pages, int num_pages) in ceph_release_page_vector() argument 31 __free_pages(pages[i], 0); in ceph_release_page_vector() 32 kfree(pages); in ceph_release_page_vector() 41 struct page **pages; in ceph_alloc_page_vector() local 44 pages = kmalloc_objs(*pages, num_pages, flags); in ceph_alloc_page_vector() 45 if (!pages) in ceph_alloc_page_vector() [all …]
|
| /linux/mm/ |
| H A D | percpu-vm.c | 34 static struct page **pages; in pcpu_get_pages() local 35 size_t pages_size = pcpu_nr_units * pcpu_unit_pages * sizeof(pages[0]); in pcpu_get_pages() 39 if (!pages) in pcpu_get_pages() 40 pages = pcpu_mem_zalloc(pages_size, GFP_KERNEL); in pcpu_get_pages() 41 return pages; in pcpu_get_pages() 55 struct page **pages, int page_start, int page_end) in pcpu_free_pages() argument 62 struct page *page = pages[pcpu_page_idx(cpu, i)]; in pcpu_free_pages() 83 struct page **pages, int page_start, int page_end, in pcpu_alloc_pages() argument 93 struct page **pagep = &pages[pcpu_page_idx(cpu, i)]; in pcpu_alloc_pages() 104 __free_page(pages[pcpu_page_idx(cpu, i)]); in pcpu_alloc_pages() [all …]
|
| H A D | gup_test.c | 11 static void put_back_pages(unsigned int cmd, struct page **pages, in put_back_pages() 20 put_page(pages[i]); in put_back_pages() 26 unpin_user_pages(pages, nr_pages); in put_back_pages() 30 unpin_user_pages(pages, nr_pages); in put_back_pages() 33 put_page(pages[i]); in put_back_pages() 40 static void verify_dma_pinned(unsigned int cmd, struct page **pages, in verify_dma_pinned() 51 folio = page_folio(pages[i]); in verify_dma_pinned() 54 "pages[%lu] is NOT dma-pinned\n", i)) { in verify_dma_pinned() 60 "pages[%lu] is NOT pinnable but pinned\n", in verify_dma_pinned() 70 static void dump_pages_test(struct gup_test *gup, struct page **pages, in dump_pages_test() 10 put_back_pages(unsigned int cmd,struct page ** pages,unsigned long nr_pages,unsigned int gup_test_flags) put_back_pages() argument 39 verify_dma_pinned(unsigned int cmd,struct page ** pages,unsigned long nr_pages) verify_dma_pinned() argument 69 dump_pages_test(struct gup_test * gup,struct page ** pages,unsigned long nr_pages) dump_pages_test() argument 106 struct page **pages; __gup_test_ioctl() local 227 struct page **pages; pin_longterm_test_start() local [all...] |
| H A D | gup.c | 31 static inline void sanity_check_pinned_pages(struct page **pages, in sanity_check_pinned_pages() argument 38 * We only pin anonymous pages if they are exclusive. Once pinned, we in sanity_check_pinned_pages() 42 * We'd like to verify that our pinned anonymous pages are still mapped in sanity_check_pinned_pages() 49 for (; npages; npages--, pages++) { in sanity_check_pinned_pages() 50 struct page *page = *pages; in sanity_check_pinned_pages() 182 * that such pages can be separately tracked and uniquely handled. In 263 * unpin_user_pages_dirty_lock() - release and optionally dirty gup-pinned pages 264 * @pages: array of pages to be maybe marked dirty, and definitely released. 265 * @npages: number of pages i 284 unpin_user_pages_dirty_lock(struct page ** pages,unsigned long npages,bool make_dirty) unpin_user_pages_dirty_lock() argument 375 gup_fast_unpin_user_pages(struct page ** pages,unsigned long npages) gup_fast_unpin_user_pages() argument 401 unpin_user_pages(struct page ** pages,unsigned long npages) unpin_user_pages() argument 1356 __get_user_pages(struct mm_struct * mm,unsigned long start,unsigned long nr_pages,unsigned int gup_flags,struct page ** pages,int * locked) __get_user_pages() argument 1652 __get_user_pages_locked(struct mm_struct * mm,unsigned long start,unsigned long nr_pages,struct page ** pages,int * locked,unsigned int flags) __get_user_pages_locked() argument 1980 __get_user_pages_locked(struct mm_struct * mm,unsigned long start,unsigned long nr_pages,struct page ** pages,int * locked,unsigned int foll_flags) __get_user_pages_locked() argument 2209 struct page **pages; global() member 2437 check_and_migrate_movable_pages(unsigned long nr_pages,struct page ** pages) check_and_migrate_movable_pages() argument 2449 check_and_migrate_movable_pages(unsigned long nr_pages,struct page ** pages) check_and_migrate_movable_pages() argument 2468 __gup_longterm_locked(struct mm_struct * mm,unsigned long start,unsigned long nr_pages,struct page ** pages,int * locked,unsigned int gup_flags) __gup_longterm_locked() argument 2500 is_valid_gup_args(struct page ** pages,int * locked,unsigned int * gup_flags_p,unsigned int to_set) is_valid_gup_args() argument 2605 get_user_pages_remote(struct mm_struct * mm,unsigned long start,unsigned long nr_pages,unsigned int gup_flags,struct page ** pages,int * locked) get_user_pages_remote() argument 2623 get_user_pages_remote(struct mm_struct * mm,unsigned long start,unsigned long nr_pages,unsigned int gup_flags,struct page ** pages,int * locked) get_user_pages_remote() argument 2645 get_user_pages(unsigned long start,unsigned long nr_pages,unsigned int gup_flags,struct page ** pages) get_user_pages() argument 2673 get_user_pages_unlocked(unsigned long start,unsigned long nr_pages,struct page ** pages,unsigned int gup_flags) get_user_pages_unlocked() argument 2810 gup_fast_undo_dev_pagemap(int * nr,int nr_start,unsigned int flags,struct page ** pages) gup_fast_undo_dev_pagemap() argument 2841 gup_fast_pte_range(pmd_t pmd,pmd_t * pmdp,unsigned long addr,unsigned long end,unsigned int flags,struct page ** pages,int * nr) gup_fast_pte_range() argument 2928 gup_fast_pte_range(pmd_t pmd,pmd_t * pmdp,unsigned long addr,unsigned long end,unsigned int flags,struct page ** pages,int * nr) gup_fast_pte_range() argument 2936 gup_fast_pmd_leaf(pmd_t orig,pmd_t * pmdp,unsigned long addr,unsigned long end,unsigned int flags,struct page ** pages,int * nr) gup_fast_pmd_leaf() argument 2979 gup_fast_pud_leaf(pud_t orig,pud_t * pudp,unsigned long addr,unsigned long end,unsigned int flags,struct page ** pages,int * nr) gup_fast_pud_leaf() argument 3023 gup_fast_pmd_range(pud_t * pudp,pud_t pud,unsigned long addr,unsigned long end,unsigned int flags,struct page ** pages,int * nr) gup_fast_pmd_range() argument 3055 gup_fast_pud_range(p4d_t * p4dp,p4d_t p4d,unsigned long addr,unsigned long end,unsigned int flags,struct page ** pages,int * nr) gup_fast_pud_range() argument 3081 gup_fast_p4d_range(pgd_t * pgdp,pgd_t pgd,unsigned long addr,unsigned long end,unsigned int flags,struct page ** pages,int * nr) gup_fast_p4d_range() argument 3104 gup_fast_pgd_range(unsigned long addr,unsigned long end,unsigned int flags,struct page ** pages,int * nr) gup_fast_pgd_range() argument 3124 gup_fast_pgd_range(unsigned long addr,unsigned long end,unsigned int flags,struct page ** pages,int * nr) gup_fast_pgd_range() argument 3141 gup_fast(unsigned long start,unsigned long end,unsigned int gup_flags,struct page ** pages) gup_fast() argument 3187 gup_fast_fallback(unsigned long start,unsigned long nr_pages,unsigned int gup_flags,struct page ** pages) gup_fast_fallback() argument 3254 get_user_pages_fast_only(unsigned long start,int nr_pages,unsigned int gup_flags,struct page ** pages) get_user_pages_fast_only() argument 3288 get_user_pages_fast(unsigned long start,int nr_pages,unsigned int gup_flags,struct page ** pages) get_user_pages_fast() argument 3322 pin_user_pages_fast(unsigned long start,int nr_pages,unsigned int gup_flags,struct page ** pages) pin_user_pages_fast() argument 3355 pin_user_pages_remote(struct mm_struct * mm,unsigned long start,unsigned long nr_pages,unsigned int gup_flags,struct page ** pages,int * locked) pin_user_pages_remote() argument 3388 pin_user_pages(unsigned long start,unsigned long nr_pages,unsigned int gup_flags,struct page ** pages) pin_user_pages() argument 3408 pin_user_pages_unlocked(unsigned long start,unsigned long nr_pages,struct page ** pages,unsigned int gup_flags) pin_user_pages_unlocked() argument [all...] |
| /linux/io_uring/ |
| H A D | memmap.c | 18 static bool io_mem_alloc_compound(struct page **pages, int nr_pages, in io_mem_alloc_compound() argument 35 pages[i] = page + i; in io_mem_alloc_compound() 43 struct page **pages; in io_pin_pages() local 59 pages = kvmalloc_objs(struct page *, nr_pages, GFP_KERNEL_ACCOUNT); in io_pin_pages() 60 if (!pages) in io_pin_pages() 64 pages); in io_pin_pages() 68 return pages; in io_pin_pages() 75 unpin_user_pages(pages, ret); in io_pin_pages() 78 kvfree(pages); in io_pin_pages() 93 if (mr->pages) { in io_free_region() [all …]
|
| /linux/drivers/gpu/drm/i915/gem/selftests/ |
| H A D | huge_gem_object.c | 12 struct sg_table *pages) in huge_free_pages() argument 18 for_each_sgt_page(page, sgt_iter, pages) { in huge_free_pages() 24 sg_free_table(pages); in huge_free_pages() 25 kfree(pages); in huge_free_pages() 34 struct sg_table *pages; in huge_get_pages() local 41 pages = kmalloc_obj(*pages, GFP); in huge_get_pages() 42 if (!pages) in huge_get_pages() 45 if (sg_alloc_table(pages, npages, GFP)) { in huge_get_pages() 46 kfree(pages); in huge_get_pages() 50 sg = pages->sgl; in huge_get_pages() [all …]
|
| /linux/fs/isofs/ |
| H A D | compress.c | 37 * to one zisofs block. Store the data in the @pages array with @pcount 42 struct page **pages, unsigned poffset, in zisofs_uncompress_block() argument 68 if (!pages[i]) in zisofs_uncompress_block() 70 memzero_page(pages[i], 0, PAGE_SIZE); in zisofs_uncompress_block() 71 SetPageUptodate(pages[i]); in zisofs_uncompress_block() 121 if (pages[curpage]) { in zisofs_uncompress_block() 122 stream.next_out = kmap_local_page(pages[curpage]) in zisofs_uncompress_block() 174 if (pages[curpage]) { in zisofs_uncompress_block() 175 flush_dcache_page(pages[curpage]); in zisofs_uncompress_block() 176 SetPageUptodate(pages[curpag in zisofs_uncompress_block() 207 zisofs_fill_pages(struct inode * inode,int full_page,int pcount,struct page ** pages) zisofs_fill_pages() argument 312 struct page **pages; zisofs_read_folio() local [all...] |
| /linux/drivers/xen/ |
| H A D | xlate_mmu.c | 47 /* Break down the pages in 4KB chunk and call fn for each gfn */ 48 static void xen_for_each_gfn(struct page **pages, unsigned nr_gfn, in xen_for_each_gfn() argument 57 page = pages[i / XEN_PFN_PER_PAGE]; in xen_for_each_gfn() 71 struct page **pages; member 99 struct page *page = info->pages[info->index++]; in remap_pte_fn() 148 struct page **pages) in xen_xlate_remap_gfn_array() argument 163 data.pages = pages; in xen_xlate_remap_gfn_array() 184 int nr, struct page **pages) in xen_xlate_unmap_gfn_range() argument 186 xen_for_each_gfn(pages, n in xen_xlate_unmap_gfn_range() 217 struct page **pages; xen_xlate_map_ballooned_pages() local 267 struct page **pages; global() member [all...] |
| /linux/drivers/gpu/drm/xen/ |
| H A D | xen_drm_front_gem.c | 31 struct page **pages; member 50 xen_obj->pages = kvmalloc_objs(struct page *, xen_obj->num_pages); in gem_alloc_pages_array() 51 return !xen_obj->pages ? -ENOMEM : 0; in gem_alloc_pages_array() 56 kvfree(xen_obj->pages); in gem_free_pages_array() 57 xen_obj->pages = NULL; in gem_free_pages_array() 88 * touch the memory. Insert pages now, so both CPU and GPU are happy. in xen_drm_front_gem_object_mmap() 90 * FIXME: as we insert all the pages now then no .fault handler must in xen_drm_front_gem_object_mmap() 93 ret = vm_map_pages(vma, xen_obj->pages, xen_obj->num_pages); in xen_drm_front_gem_object_mmap() 95 DRM_ERROR("Failed to map pages into vma: %d\n", ret); in xen_drm_front_gem_object_mmap() 149 * only allocate array of pointers to pages in gem_create() [all...] |
| /linux/drivers/media/pci/intel/ipu6/ |
| H A D | ipu6-dma.c | 23 struct page **pages; member 49 * Ensure that the allocated pages are zeroed, and that any data in __clear_buffer() 62 struct page **pages; in __alloc_buffer() local 65 pages = kvzalloc(array_size, GFP_KERNEL); in __alloc_buffer() 66 if (!pages) in __alloc_buffer() 74 pages[i] = alloc_pages(gfp, order); in __alloc_buffer() 75 while (!pages[i] && order) in __alloc_buffer() 76 pages[i] = alloc_pages(gfp, --order); in __alloc_buffer() 77 if (!pages[i]) in __alloc_buffer() 81 split_page(pages[ in __alloc_buffer() 101 __free_buffer(struct page ** pages,size_t size,unsigned long attrs) __free_buffer() argument 162 struct page **pages; ipu6_dma_alloc() local 252 struct page **pages; ipu6_dma_free() local [all...] |
| /linux/drivers/staging/media/ipu7/ |
| H A D | ipu7-dma.c | 23 struct page **pages; member 49 * Ensure that the allocated pages are zeroed, and that any data in __clear_buffer() 62 struct page **pages; in __alloc_buffer() local 65 pages = kvzalloc(array_size, GFP_KERNEL); in __alloc_buffer() 66 if (!pages) in __alloc_buffer() 74 pages[i] = alloc_pages(gfp, order); in __alloc_buffer() 75 while (!pages[i] && order) in __alloc_buffer() 76 pages[i] = alloc_pages(gfp, --order); in __alloc_buffer() 77 if (!pages[i]) in __alloc_buffer() 81 split_page(pages[ in __alloc_buffer() 101 __free_buffer(struct page ** pages,size_t size,unsigned long attrs) __free_buffer() argument 162 struct page **pages; ipu7_dma_alloc() local 252 struct page **pages; ipu7_dma_free() local [all...] |
| /linux/kernel/dma/ |
| H A D | remap.c | 17 return area->pages; in dma_common_find_pages() 21 * Remaps an array of PAGE_SIZE pages into another vm_area. 24 void *dma_common_pages_remap(struct page **pages, size_t size, in dma_common_pages_remap() argument 29 vaddr = vmap(pages, PAGE_ALIGN(size) >> PAGE_SHIFT, in dma_common_pages_remap() 32 find_vm_area(vaddr)->pages = pages; in dma_common_pages_remap() 44 struct page **pages; in dma_common_contiguous_remap() local 48 pages = kvmalloc_objs(struct page *, count); in dma_common_contiguous_remap() 49 if (!pages) in dma_common_contiguous_remap() 52 pages[ in dma_common_contiguous_remap() [all...] |
| /linux/drivers/staging/media/ipu3/ |
| H A D | ipu3-dmamap.c | 20 static void imgu_dmamap_free_buffer(struct page **pages, in imgu_dmamap_free_buffer() argument 26 __free_page(pages[count]); in imgu_dmamap_free_buffer() 27 kvfree(pages); in imgu_dmamap_free_buffer() 36 struct page **pages; in imgu_dmamap_alloc_buffer() local 42 pages = kvmalloc_objs(*pages, count); in imgu_dmamap_alloc_buffer() 44 if (!pages) in imgu_dmamap_alloc_buffer() 72 imgu_dmamap_free_buffer(pages, i << PAGE_SHIFT); in imgu_dmamap_alloc_buffer() 77 pages[i++] = page++; in imgu_dmamap_alloc_buffer() 80 return pages; in imgu_dmamap_alloc_buffer() 100 struct page **pages; imgu_dmamap_alloc() local [all...] |
| /linux/drivers/gpu/drm/i915/gem/ |
| H A D | i915_gem_pages.c | 24 struct sg_table *pages) in __i915_gem_object_set_pages() argument 36 /* Make the pages coherent with the GPU (flushing any swapin). */ in __i915_gem_object_set_pages() 41 drm_clflush_sg(pages); in __i915_gem_object_set_pages() 45 obj->mm.get_page.sg_pos = pages->sgl; in __i915_gem_object_set_pages() 47 obj->mm.get_dma_page.sg_pos = pages->sgl; in __i915_gem_object_set_pages() 50 obj->mm.pages = pages; in __i915_gem_object_set_pages() 52 obj->mm.page_sizes.phys = i915_sg_dma_sizes(pages->sgl); in __i915_gem_object_set_pages() 60 * 64K or 4K pages, although in practice this will depend on a number of in __i915_gem_object_set_pages() 121 /* Ensure that the associated pages ar 216 struct sg_table *pages; __i915_gem_object_unset_pages() local 245 struct sg_table *pages; __i915_gem_object_put_pages() local 279 struct page *stack[32], **pages = stack, *page; i915_gem_object_map_page() local 363 struct page **pages; global() member 381 struct page **pages; i915_gem_object_panic_pages() local [all...] |
| H A D | i915_gem_phys.c | 99 struct sg_table *pages) in i915_gem_object_put_pages_phys() argument 101 dma_addr_t dma = sg_dma_address(pages->sgl); in i915_gem_object_put_pages_phys() 102 void *vaddr = sg_page(pages->sgl); in i915_gem_object_put_pages_phys() 104 __i915_gem_object_release_shmem(obj, pages, false); in i915_gem_object_put_pages_phys() 131 sg_free_table(pages); in i915_gem_object_put_pages_phys() 132 kfree(pages); in i915_gem_object_put_pages_phys() 142 void *vaddr = sg_page(obj->mm.pages->sgl) + args->offset; in i915_gem_object_pwrite_phys() 173 void *vaddr = sg_page(obj->mm.pages->sgl) + args->offset; in i915_gem_object_pread_phys() 192 struct sg_table *pages; in i915_gem_object_shmem_to_phys() local 195 pages in i915_gem_object_shmem_to_phys() [all...] |
| /linux/arch/s390/kernel/diag/ |
| H A D | diag310.c | 110 static int diag310_get_memtop_size(unsigned long *pages, unsigned long level) in diag310_get_memtop_size() argument 118 *pages = res.result; in diag310_get_memtop_size() 129 static int diag310_store_topology_map(void *buf, unsigned long pages, unsigned long level) in diag310_store_topology_map() argument 132 union diag310_req_size req_size = { .page_count = pages }; in diag310_store_topology_map() 193 unsigned long pages; in memtop_get_page_count() local 198 pages = READ_ONCE(memtop_pages[level - 1]); in memtop_get_page_count() 199 if (!pages) { in memtop_get_page_count() 200 rc = diag310_get_memtop_size(&pages, level); in memtop_get_page_count() 203 WRITE_ONCE(memtop_pages[level - 1], pages); in memtop_get_page_count() 205 *res = pages; in memtop_get_page_count() [all …]
|
| /linux/drivers/media/common/videobuf2/ |
| H A D | frame_vector.c | 82 struct page **pages; in put_vaddr_frames() local 86 pages = frame_vector_pages(vec); in put_vaddr_frames() 92 if (WARN_ON(IS_ERR(pages))) in put_vaddr_frames() 95 unpin_user_pages(pages, vec->nr_frames); in put_vaddr_frames() 114 struct page **pages; in frame_vector_to_pages() local 122 pages = (struct page **)nums; in frame_vector_to_pages() 124 pages[i] = pfn_to_page(nums[i]); in frame_vector_to_pages() 140 struct page **pages; in frame_vector_to_pfns() local 144 pages = (struct page **)(vec->ptrs); in frame_vector_to_pfns() 145 nums = (unsigned long *)pages; in frame_vector_to_pfns() [all …]
|
| /linux/net/rds/ |
| H A D | info.c | 48 * buffer is big enough. The destination pages that make up the buffer 65 struct page **pages; member 113 * get_user_pages() called flush_dcache_page() on the pages for us. 122 iter->addr = kmap_atomic(*iter->pages); in rds_info_copy() 127 "bytes %lu\n", *iter->pages, iter->addr, in rds_info_copy() 140 iter->pages++; in rds_info_copy() 166 struct page **pages = NULL; in rds_info_getsockopt() local 190 pages = kmalloc_objs(struct page *, nr_pages); in rds_info_getsockopt() 191 if (!pages) { in rds_info_getsockopt() 195 ret = pin_user_pages_fast(start, nr_pages, FOLL_WRITE, pages); in rds_info_getsockopt() [all...] |
| /linux/Documentation/arch/powerpc/ |
| H A D | vmemmap_dedup.rst | 14 With 2M PMD level mapping, we require 32 struct pages and a single 64K vmemmap 15 page can contain 1024 struct pages (64K/sizeof(struct page)). Hence there is no 18 With 1G PUD level mapping, we require 16384 struct pages and a single 64K 19 vmemmap page can contain 1024 struct pages (64K/sizeof(struct page)). Hence we 20 require 16 64K pages in vmemmap to map the struct page for 1G PUD level mapping. 46 With 4K page size, 2M PMD level mapping requires 512 struct pages and a single 47 4K vmemmap page contains 64 struct pages(4K/sizeof(struct page)). Hence we 48 require 8 4K pages in vmemmap to map the struct page for 2M pmd level mapping. 74 With 1G PUD level mapping, we require 262144 struct pages and a single 4K 75 vmemmap page can contain 64 struct pages (4K/sizeof(struct page)). Hence we [all …]
|
| /linux/drivers/tee/ |
| H A D | tee_shm.c | 26 static void shm_put_kernel_pages(struct page **pages, size_t page_count) in shm_put_kernel_pages() argument 31 put_page(pages[n]); in shm_put_kernel_pages() 34 static void shm_get_kernel_pages(struct page **pages, size_t page_count) in shm_get_kernel_pages() argument 39 get_page(pages[n]); in shm_get_kernel_pages() 44 if (shm->pages) { in release_registered_pages() 46 unpin_user_pages(shm->pages, shm->num_pages); in release_registered_pages() 48 shm_put_kernel_pages(shm->pages, shm->num_pages); in release_registered_pages() 50 kfree(shm->pages); in release_registered_pages() 291 * @page_count: Number of pages 355 struct page **pages, in tee_dyn_shm_alloc_helper() argument 360 struct page **pages; tee_dyn_shm_alloc_helper() local [all...] |
| /linux/drivers/net/ethernet/amd/xgbe/ |
| H A D | xgbe-desc.c | 32 if (ring->rx_hdr_pa.pages) { in xgbe_free_ring() 35 put_page(ring->rx_hdr_pa.pages); in xgbe_free_ring() 37 ring->rx_hdr_pa.pages = NULL; in xgbe_free_ring() 43 if (ring->rx_buf_pa.pages) { in xgbe_free_ring() 46 put_page(ring->rx_buf_pa.pages); in xgbe_free_ring() 48 ring->rx_buf_pa.pages = NULL; in xgbe_free_ring() 180 struct page *pages = NULL; in xgbe_alloc_pages() local 191 pages = alloc_pages_node(node, gfp, order); in xgbe_alloc_pages() 192 if (pages) in xgbe_alloc_pages() 199 if (!pages && (node != NUMA_NO_NODE)) { in xgbe_alloc_pages() [all …]
|
| /linux/arch/m68k/mm/ |
| H A D | sun3kmap.c | 47 unsigned long type, int pages) in do_pmeg_mapin() argument 53 while(pages) { in do_pmeg_mapin() 57 pages--; in do_pmeg_mapin() 66 int pages; in sun3_ioremap() local 85 pages = size / PAGE_SIZE; in sun3_ioremap() 89 while(pages) { in sun3_ioremap() 93 if(seg_pages > pages) in sun3_ioremap() 94 seg_pages = pages; in sun3_ioremap() 98 pages -= seg_pages; in sun3_ioremap()
|