| /linux/include/linux/ |
| H A D | pagemap.h | 21 unsigned long invalidate_mapping_pages(struct address_space *mapping, 30 int invalidate_inode_pages2(struct address_space *mapping); 31 int invalidate_inode_pages2_range(struct address_space *mapping, 35 int filemap_invalidate_pages(struct address_space *mapping, 41 int filemap_flush_nr(struct address_space *mapping, long *nr_to_write); 42 int filemap_fdatawait_keep_errors(struct address_space *mapping); 44 int filemap_fdatawait_range_keep_errors(struct address_space *mapping, 49 static inline int filemap_fdatawait(struct address_space *mapping) in filemap_fdatawait() argument 51 return filemap_fdatawait_range(mapping, 0, LLONG_MAX); in filemap_fdatawait() 55 int filemap_write_and_wait_range(struct address_space *mapping, [all …]
|
| H A D | io-mapping.h | 58 io_mapping_fini(struct io_mapping *mapping) in io_mapping_fini() argument 60 iomap_free(mapping->base, mapping->size); in io_mapping_fini() 65 io_mapping_map_atomic_wc(struct io_mapping *mapping, in io_mapping_map_atomic_wc() argument 70 BUG_ON(offset >= mapping->size); in io_mapping_map_atomic_wc() 71 phys_addr = mapping->base + offset; in io_mapping_map_atomic_wc() 77 return __iomap_local_pfn_prot(PHYS_PFN(phys_addr), mapping->prot); in io_mapping_map_atomic_wc() 92 io_mapping_map_local_wc(struct io_mapping *mapping, unsigned long offset) in io_mapping_map_local_wc() argument 96 BUG_ON(offset >= mapping->size); in io_mapping_map_local_wc() 97 phys_addr = mapping->base + offset; in io_mapping_map_local_wc() 98 return __iomap_local_pfn_prot(PHYS_PFN(phys_addr), mapping->prot); in io_mapping_map_local_wc() [all …]
|
| H A D | tpm_eventlog.h | 141 static inline void TPM_MEMUNMAP(void *mapping, size_t size) in TPM_MEMUNMAP() argument 171 void *mapping = NULL; in __calc_tpm2_event_size() local 191 mapping = TPM_MEMREMAP((unsigned long)marker_start, in __calc_tpm2_event_size() 193 if (!mapping) { in __calc_tpm2_event_size() 198 mapping = marker_start; in __calc_tpm2_event_size() 201 event = (struct tcg_pcr_event2_head *)mapping; in __calc_tpm2_event_size() 238 TPM_MEMUNMAP(mapping, mapping_size); in __calc_tpm2_event_size() 240 mapping = TPM_MEMREMAP((unsigned long)marker, in __calc_tpm2_event_size() 242 if (!mapping) { in __calc_tpm2_event_size() 247 mapping = marker; in __calc_tpm2_event_size() [all …]
|
| H A D | shmem_fs.h | 114 bool shmem_mapping(const struct address_space *mapping); 116 static inline bool shmem_mapping(const struct address_space *mapping) in shmem_mapping() argument 121 void shmem_unlock_mapping(struct address_space *mapping); 122 struct page *shmem_read_mapping_page_gfp(struct address_space *mapping, 160 extern unsigned long shmem_partial_swap_usage(struct address_space *mapping, 174 struct folio *shmem_read_folio_gfp(struct address_space *mapping, 177 static inline struct folio *shmem_read_folio(struct address_space *mapping, in shmem_read_folio() argument 180 return shmem_read_folio_gfp(mapping, index, mapping_gfp_mask(mapping)); in shmem_read_folio() 184 struct address_space *mapping, pgoff_t index) in shmem_read_mapping_page() argument 186 return shmem_read_mapping_page_gfp(mapping, index, in shmem_read_mapping_page() [all …]
|
| /linux/mm/ |
| H A D | filemap.c | 129 static void page_cache_delete(struct address_space *mapping, in page_cache_delete() argument 132 XA_STATE(xas, &mapping->i_pages, folio->index); in page_cache_delete() 135 mapping_set_update(&xas, mapping); in page_cache_delete() 145 folio->mapping = NULL; in page_cache_delete() 147 mapping->nrpages -= nr; in page_cache_delete() 150 static void filemap_unaccount_folio(struct address_space *mapping, in filemap_unaccount_folio() argument 163 if (mapping_exiting(mapping) && !folio_test_large(folio)) { in filemap_unaccount_folio() 193 if (test_bit(AS_KERNEL_FILE, &folio->mapping->flags)) in filemap_unaccount_folio() 212 mapping_can_writeback(mapping))) in filemap_unaccount_folio() 213 folio_account_cleaned(folio, inode_to_wb(mapping->host)); in filemap_unaccount_folio() [all …]
|
| H A D | readahead.c | 142 file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping) in file_ra_state_init() argument 144 ra->ra_pages = inode_to_bdi(mapping->host)->ra_pages; in file_ra_state_init() 162 const struct address_space_operations *aops = rac->mapping->a_ops; in read_pages() 225 struct address_space *mapping = ractl->mapping; in page_cache_ra_unbounded() local 227 gfp_t gfp_mask = readahead_gfp_mask(mapping); in page_cache_ra_unbounded() 229 unsigned int min_nrpages = mapping_min_folio_nrpages(mapping); in page_cache_ra_unbounded() 243 lockdep_assert_held(&mapping->invalidate_lock); in page_cache_ra_unbounded() 245 trace_page_cache_ra_unbounded(mapping->host, index, nr_to_read, in page_cache_ra_unbounded() 247 index = mapping_align_index(mapping, index); in page_cache_ra_unbounded() 270 struct folio *folio = xa_load(&mapping->i_pages, index + i); in page_cache_ra_unbounded() [all …]
|
| H A D | page-writeback.c | 2030 int balance_dirty_pages_ratelimited_flags(struct address_space *mapping, in balance_dirty_pages_ratelimited_flags() argument 2033 struct inode *inode = mapping->host; in balance_dirty_pages_ratelimited_flags() 2100 void balance_dirty_pages_ratelimited(struct address_space *mapping) in balance_dirty_pages_ratelimited() argument 2102 balance_dirty_pages_ratelimited_flags(mapping, 0); in balance_dirty_pages_ratelimited() 2345 void tag_pages_for_writeback(struct address_space *mapping, in tag_pages_for_writeback() argument 2348 XA_STATE(xas, &mapping->i_pages, start); in tag_pages_for_writeback() 2367 static bool folio_prepare_writeback(struct address_space *mapping, in folio_prepare_writeback() argument 2377 if (unlikely(folio->mapping != mapping)) in folio_prepare_writeback() 2407 static struct folio *writeback_get_folio(struct address_space *mapping, in writeback_get_folio() argument 2417 filemap_get_folios_tag(mapping, &wbc->index, wbc_end(wbc), in writeback_get_folio() [all …]
|
| /linux/tools/testing/selftests/arm64/mte/ |
| H A D | check_mmap_options.c | 47 int mapping; member 113 static int check_anonymous_memory_mapping(int mem_type, int mode, int mapping, in check_anonymous_memory_mapping() argument 126 map_ptr = (char *)mte_allocate_memory(map_size, mem_type, mapping, false); in check_anonymous_memory_mapping() 148 static int check_file_memory_mapping(int mem_type, int mode, int mapping, in check_file_memory_mapping() argument 166 map_ptr = (char *)mte_allocate_file_memory(map_size, mem_type, mapping, false, fd); in check_file_memory_mapping() 191 static int check_clear_prot_mte_flag(int mem_type, int mode, int mapping, int atag_check) in check_clear_prot_mte_flag() argument 201 ptr = (char *)mte_allocate_memory_tag_range(sizes[run], mem_type, mapping, in check_clear_prot_mte_flag() 222 ptr = (char *)mte_allocate_file_memory_tag_range(sizes[run], mem_type, mapping, in check_clear_prot_mte_flag() 300 switch (tc->mapping) { in format_test_name() 370 .mapping = MAP_PRIVATE, in main() [all …]
|
| /linux/drivers/gpu/drm/tegra/ |
| H A D | uapi.c | 17 struct tegra_drm_mapping *mapping = in tegra_drm_mapping_release() local 20 host1x_bo_unpin(mapping->map); in tegra_drm_mapping_release() 21 host1x_bo_put(mapping->bo); in tegra_drm_mapping_release() 23 kfree(mapping); in tegra_drm_mapping_release() 26 void tegra_drm_mapping_put(struct tegra_drm_mapping *mapping) in tegra_drm_mapping_put() argument 28 kref_put(&mapping->ref, tegra_drm_mapping_release); in tegra_drm_mapping_put() 33 struct tegra_drm_mapping *mapping; in tegra_drm_channel_context_close() local 39 xa_for_each(&context->mappings, id, mapping) in tegra_drm_channel_context_close() 40 tegra_drm_mapping_put(mapping); in tegra_drm_channel_context_close() 192 struct tegra_drm_mapping *mapping; in tegra_drm_ioctl_channel_map() local [all …]
|
| /linux/arch/arm/mm/ |
| H A D | dma-mapping.c | 752 static int extend_iommu_mapping(struct dma_iommu_mapping *mapping); 754 static inline dma_addr_t __alloc_iova(struct dma_iommu_mapping *mapping, in __alloc_iova() argument 760 size_t mapping_size = mapping->bits << PAGE_SHIFT; in __alloc_iova() 771 spin_lock_irqsave(&mapping->lock, flags); in __alloc_iova() 772 for (i = 0; i < mapping->nr_bitmaps; i++) { in __alloc_iova() 773 start = bitmap_find_next_zero_area(mapping->bitmaps[i], in __alloc_iova() 774 mapping->bits, 0, count, align); in __alloc_iova() 776 if (start >= mapping->bits) in __alloc_iova() 779 bitmap_set(mapping->bitmaps[i], start, count); in __alloc_iova() 788 if (i == mapping->nr_bitmaps) { in __alloc_iova() [all …]
|
| /linux/drivers/gpu/drm/etnaviv/ |
| H A D | etnaviv_mmu.c | 115 struct etnaviv_vram_mapping *mapping) in etnaviv_iommu_remove_mapping() argument 117 struct etnaviv_gem_object *etnaviv_obj = mapping->object; in etnaviv_iommu_remove_mapping() 121 etnaviv_iommu_unmap(context, mapping->vram_node.start, in etnaviv_iommu_remove_mapping() 123 drm_mm_remove_node(&mapping->vram_node); in etnaviv_iommu_remove_mapping() 126 void etnaviv_iommu_reap_mapping(struct etnaviv_vram_mapping *mapping) in etnaviv_iommu_reap_mapping() argument 128 struct etnaviv_iommu_context *context = mapping->context; in etnaviv_iommu_reap_mapping() 131 WARN_ON(mapping->use); in etnaviv_iommu_reap_mapping() 133 etnaviv_iommu_remove_mapping(context, mapping); in etnaviv_iommu_reap_mapping() 134 etnaviv_iommu_context_put(mapping->context); in etnaviv_iommu_reap_mapping() 135 mapping->context = NULL; in etnaviv_iommu_reap_mapping() [all …]
|
| /linux/tools/testing/selftests/vfio/ |
| H A D | vfio_dma_mapping_test.c | 39 struct iommu_mapping *mapping) in intel_iommu_mapping_get() argument 67 memset(mapping, 0, sizeof(*mapping)); in intel_iommu_mapping_get() 68 parse_next_value(&rest, &mapping->pgd); in intel_iommu_mapping_get() 69 parse_next_value(&rest, &mapping->p4d); in intel_iommu_mapping_get() 70 parse_next_value(&rest, &mapping->pud); in intel_iommu_mapping_get() 71 parse_next_value(&rest, &mapping->pmd); in intel_iommu_mapping_get() 72 parse_next_value(&rest, &mapping->pte); in intel_iommu_mapping_get() 87 struct iommu_mapping *mapping) in iommu_mapping_get() argument 90 return intel_iommu_mapping_get(bdf, iova, mapping); in iommu_mapping_get() 139 struct iommu_mapping mapping; TEST_F() local [all...] |
| /linux/tools/testing/selftests/namespaces/ |
| H A D | file_handle_test.c | 496 char mapping[64]; in TEST() local 497 snprintf(mapping, sizeof(mapping), "0 %d 1", getuid()); in TEST() 498 write(uid_map_fd, mapping, strlen(mapping)); in TEST() 501 snprintf(mapping, sizeof(mapping), "0 %d 1", getgid()); in TEST() 502 write(gid_map_fd, mapping, strlen(mapping)); in TEST() 625 char mapping[64]; in TEST() local 626 snprintf(mapping, sizeof(mapping), "0 %d 1", getuid()); in TEST() 627 write(uid_map_fd, mapping, strlen(mapping)); in TEST() 630 snprintf(mapping, sizeof(mapping), "0 %d 1", getgid()); in TEST() 631 write(gid_map_fd, mapping, strlen(mapping)); in TEST() [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 18 With 1G PUD level mapping, we require 16384 struct pages and a single 64K 20 require 16 64K pages in vmemmap to map the struct page for 1G PUD level mapping. 23 +-----------+ ---virt_to_page---> +-----------+ mapping to +-----------+ 35 | mapping | +-----------+ | | 46 With 4K page size, 2M PMD level mapping requires 512 struct pages and a single 48 require 8 4K pages in vmemmap to map the struct page for 2M pmd level mapping. 52 +-----------+ ---virt_to_page---> +-----------+ mapping to +-----------+ 64 | mapping | +-----------+ | | 74 With 1G PUD level mapping, we require 262144 struct pages and a single 4K [all …]
|
| /linux/fs/ |
| H A D | dax.c | 352 return !folio->mapping && folio->share; in dax_folio_is_shared() 371 folio->mapping = NULL; in dax_folio_make_shared() 402 folio->mapping = NULL; in dax_folio_reset_order() 424 f->mapping = NULL; in dax_folio_reset_order() 478 static void dax_associate_entry(void *entry, struct address_space *mapping, in dax_associate_entry() argument 490 if (shared && (folio->mapping || dax_folio_is_shared(folio))) { in dax_associate_entry() 491 if (folio->mapping) in dax_associate_entry() 498 WARN_ON_ONCE(folio->mapping); in dax_associate_entry() 501 folio->mapping = mapping; in dax_associate_entry() 506 static void dax_disassociate_entry(void *entry, struct address_space *mapping, in dax_disassociate_entry() argument [all …]
|
| /linux/Documentation/translations/zh_CN/mm/ |
| H A D | page_migration.rst | 143 2. ``int (*migratepage) (struct address_space *mapping,`` 168 void __SetPageMovable(struct page *page, struct address_space *mapping) 171 PG_movable不是struct page的一个真正的标志。相反,VM复用了page->mapping的低 175 page->mapping = page->mapping | PAGE_MAPPING_MOVABLE; 177 所以驱动不应该直接访问page->mapping。相反,驱动应该使用page_mapping(),它可 178 以在页面锁下屏蔽掉page->mapping的低2位,从而获得正确的struct address_space。 181 非LRU可移动页面,因为page->mapping字段与struct page中的其他变量是统一的。如 182 果驱动程序在被虚拟机隔离后释放了页面,尽管page->mapping设置了PAGE_MAPPING_MOVABLE, 185 page->mapping中不可能有PAGE_MAPPING_MOVABLE设置。在用pfn扫描中的lock_page() 189 同,PageMovable()在lock_page()下验证page->mapping和 [all …]
|
| /linux/drivers/sh/clk/ |
| H A D | core.c | 340 struct clk_mapping *mapping = clk->mapping; in clk_establish_mapping() local 345 if (!mapping) { in clk_establish_mapping() 352 clk->mapping = &dummy_mapping; in clk_establish_mapping() 361 mapping = clkp->mapping; in clk_establish_mapping() 362 BUG_ON(!mapping); in clk_establish_mapping() 368 if (!mapping->base && mapping->phys) { in clk_establish_mapping() 369 kref_init(&mapping->ref); in clk_establish_mapping() 371 mapping->base = ioremap(mapping->phys, mapping->len); in clk_establish_mapping() 372 if (unlikely(!mapping->base)) in clk_establish_mapping() 374 } else if (mapping->base) { in clk_establish_mapping() [all …]
|
| /linux/Documentation/driver-api/ |
| H A D | io-mapping.rst | 8 The io_mapping functions in linux/io-mapping.h provide an abstraction for 9 efficiently mapping small regions of an I/O device to the CPU. The initial 14 A mapping object is created during driver initialization using:: 20 mappable, while 'size' indicates how large a mapping region to 23 This _wc variant provides a mapping which may only be used with 27 With this mapping object, individual pages can be mapped either temporarily 31 void *io_mapping_map_local_wc(struct io_mapping *mapping, 34 void *io_mapping_map_atomic_wc(struct io_mapping *mapping, 37 'offset' is the offset within the defined mapping region. Accessing 46 Temporary mappings are only valid in the context of the caller. The mapping [all …]
|
| /linux/drivers/net/wireless/marvell/mwifiex/ |
| H A D | util.h | 57 struct mwifiex_dma_mapping *mapping) in mwifiex_store_mapping() argument 61 memcpy(&cb->dma_mapping, mapping, sizeof(*mapping)); in mwifiex_store_mapping() 65 struct mwifiex_dma_mapping *mapping) in mwifiex_get_mapping() argument 69 memcpy(mapping, &cb->dma_mapping, sizeof(*mapping)); in mwifiex_get_mapping() 74 struct mwifiex_dma_mapping mapping; in MWIFIEX_SKB_DMA_ADDR() local 76 mwifiex_get_mapping(skb, &mapping); in MWIFIEX_SKB_DMA_ADDR() 78 return mapping.addr; in MWIFIEX_SKB_DMA_ADDR()
|
| /linux/arch/nios2/include/asm/ |
| H A D | cacheflush.h | 54 #define flush_dcache_mmap_lock(mapping) xa_lock_irq(&mapping->i_pages) argument 55 #define flush_dcache_mmap_unlock(mapping) xa_unlock_irq(&mapping->i_pages) argument 56 #define flush_dcache_mmap_lock_irqsave(mapping, flags) \ argument 57 xa_lock_irqsave(&mapping->i_pages, flags) 58 #define flush_dcache_mmap_unlock_irqrestore(mapping, flags) \ argument 59 xa_unlock_irqrestore(&mapping->i_pages, flags)
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_vm.c | 1289 struct amdgpu_bo_va_mapping *mapping; in amdgpu_vm_bo_update() local 1375 list_for_each_entry(mapping, &bo_va->invalids, list) { in amdgpu_vm_bo_update() 1381 if (!(mapping->flags & AMDGPU_VM_PAGE_READABLE)) in amdgpu_vm_bo_update() 1383 if (!(mapping->flags & AMDGPU_VM_PAGE_WRITEABLE)) in amdgpu_vm_bo_update() 1387 amdgpu_gmc_get_vm_pte(adev, vm, bo, mapping->flags, in amdgpu_vm_bo_update() 1390 trace_amdgpu_vm_bo_update(mapping); in amdgpu_vm_bo_update() 1393 !uncached, &sync, mapping->start, in amdgpu_vm_bo_update() 1394 mapping->last, update_flags, in amdgpu_vm_bo_update() 1395 mapping->offset, vram_base, mem, in amdgpu_vm_bo_update() 1427 list_for_each_entry(mapping, &bo_va->valids, list) in amdgpu_vm_bo_update() [all …]
|
| /linux/drivers/net/wireless/nxp/nxpwifi/ |
| H A D | util.h | 60 struct nxpwifi_dma_mapping *mapping) in nxpwifi_store_mapping() argument 64 memcpy(&cb->dma_mapping, mapping, sizeof(*mapping)); in nxpwifi_store_mapping() 68 struct nxpwifi_dma_mapping *mapping) in nxpwifi_get_mapping() argument 72 memcpy(mapping, &cb->dma_mapping, sizeof(*mapping)); in nxpwifi_get_mapping() 77 struct nxpwifi_dma_mapping mapping; in NXPWIFI_SKB_DMA_ADDR() local 79 nxpwifi_get_mapping(skb, &mapping); in NXPWIFI_SKB_DMA_ADDR() 81 return mapping.addr; in NXPWIFI_SKB_DMA_ADDR()
|
| /linux/drivers/net/ethernet/broadcom/bnxt/ |
| H A D | bnxt_xdp.c | 28 dma_addr_t mapping, u32 len, in bnxt_xmit_bd() argument 56 txbd->tx_bd_haddr = cpu_to_le64(mapping); in bnxt_xmit_bd() 96 dma_addr_t mapping, u32 len, u16 rx_prod, in __bnxt_xmit_xdp() argument 101 tx_buf = bnxt_xmit_bd(bp, txr, mapping, len, xdp); in __bnxt_xmit_xdp() 109 dma_addr_t mapping, u32 len, in __bnxt_xmit_xdp_redirect() argument 114 tx_buf = bnxt_xmit_bd(bp, txr, mapping, len, NULL); in __bnxt_xmit_xdp_redirect() 117 dma_unmap_addr_set(tx_buf, mapping, mapping); in __bnxt_xmit_xdp_redirect() 142 dma_unmap_addr(tx_buf, mapping), in bnxt_tx_int_xdp() 189 dma_addr_t mapping; in bnxt_xdp_buff_init() local 196 mapping = rx_buf->mapping - bp->rx_dma_offset; in bnxt_xdp_buff_init() [all …]
|
| /linux/drivers/net/ethernet/sunplus/ |
| H A D | spl2sw_desc.c | 23 rx_desc[j].addr1 = rx_skbinfo[j].mapping; in spl2sw_rx_descs_flush() 47 if (comm->tx_temp_skb_info[i].mapping) { in spl2sw_tx_descs_clean() 48 dma_unmap_single(&comm->pdev->dev, comm->tx_temp_skb_info[i].mapping, in spl2sw_tx_descs_clean() 50 comm->tx_temp_skb_info[i].mapping = 0; in spl2sw_tx_descs_clean() 79 dma_unmap_single(&comm->pdev->dev, rx_skbinfo[j].mapping, in spl2sw_rx_descs_clean() 83 rx_skbinfo[j].mapping = 0; in spl2sw_rx_descs_clean() 128 u32 mapping; in spl2sw_rx_descs_init() local 146 mapping = dma_map_single(&comm->pdev->dev, skb->data, in spl2sw_rx_descs_init() 149 if (dma_mapping_error(&comm->pdev->dev, mapping)) in spl2sw_rx_descs_init() 152 rx_skbinfo[j].mapping = mapping; in spl2sw_rx_descs_init() [all …]
|
| /linux/drivers/gpu/drm/i915/gem/ |
| H A D | i915_gem_shmem.c | 34 void shmem_sg_free_table(struct sg_table *st, struct address_space *mapping, in shmem_sg_free_table() argument 42 mapping_clear_unevictable(mapping); in shmem_sg_free_table() 67 struct address_space *mapping, in shmem_sg_alloc_table() argument 97 mapping_set_unevictable(mapping); in shmem_sg_alloc_table() 98 noreclaim = mapping_gfp_constraint(mapping, ~__GFP_RECLAIM); in shmem_sg_alloc_table() 114 folio = shmem_read_folio_gfp(mapping, i, gfp); in shmem_sg_alloc_table() 136 gfp = mapping_gfp_mask(mapping); in shmem_sg_alloc_table() 192 shmem_sg_free_table(st, mapping, false, false); in shmem_sg_alloc_table() 194 mapping_clear_unevictable(mapping); in shmem_sg_alloc_table() 217 struct address_space *mapping = obj->base.filp->f_mapping; in shmem_get_pages() local [all …]
|