/linux/kernel/dma/ |
H A D | Kconfig | 161 bool "DMA Contiguous Memory Allocator" 164 This enables the Contiguous Memory Allocator which allows drivers 165 to allocate big physically-contiguous blocks of memory for use with 171 For more information see <kernel/dma/contiguous.c>. 177 bool "Enable separate DMA Contiguous Memory Area for NUMA Node" 187 comment "Default contiguous memory area size:" 195 Defines the size (in MiB) of the default memory area for Contiguous 206 Defines the size of the default memory area for Contiguous Memory 230 int "Maximum PAGE_SIZE order of alignment for contiguous buffers" 238 specify the maximum PAGE_SIZE order for contiguous buffers. Larger
|
H A D | contiguous.c | 3 * Contiguous Memory Allocator for DMA mapping framework 9 * Contiguous Memory Allocator 11 * The Contiguous Memory Allocator (CMA) makes it possible to 12 * allocate big contiguous chunks of memory after the system has 18 * IO map support and require contiguous blocks of memory to 204 * dma_contiguous_reserve() - reserve area(s) for contiguous memory handling 258 * dma_contiguous_reserve_area() - reserve custom contiguous area 271 * If @fixed is true, reserve contiguous area at exactly @base. If false, 285 /* Architecture specific contiguous memory fixup. */ in dma_contiguous_reserve_area() 293 * dma_alloc_from_contiguous() - allocate pages from contiguous area [all …]
|
/linux/tools/testing/selftests/resctrl/ |
H A D | cat_test.c | 248 /* Get the largest contiguous exclusive portion of the cache */ in cat_run_test() 293 /* AMD always supports non-contiguous CBM. */ in arch_supports_noncont_cat() 299 /* Intel support for non-contiguous CBM needs to be discovered. */ in arch_supports_noncont_cat() 327 ksft_print_msg("Hardware and kernel differ on non-contiguous CBM support!\n"); in noncont_cat_run_test() 346 /* Contiguous mask write check. */ in noncont_cat_run_test() 350 ksft_print_msg("Write of contiguous CBM failed\n"); in noncont_cat_run_test() 355 * Non-contiguous mask write check. CBM has a 0xf hole approximately in the middle. in noncont_cat_run_test() 362 ksft_print_msg("Non-contiguous CBMs supported but write of non-contiguous CBM failed\n"); in noncont_cat_run_test() 364 …ksft_print_msg("Non-contiguous CBMs not supported and write of non-contiguous CBM failed as expect… in noncont_cat_run_test() 366 ksft_print_msg("Non-contiguous CBMs not supported but write of non-contiguous CBM succeeded\n"); in noncont_cat_run_test()
|
/linux/Documentation/arch/arm64/ |
H A D | hugetlbpage.rst | 23 2) Using the Contiguous bit 26 The architecture provides a contiguous bit in the translation table entries 28 contiguous set of entries that can be cached in a single TLB entry. 30 The contiguous bit is used in Linux to increase the mapping size at the pmd and 31 pte (last) level. The number of supported contiguous entries varies by page size
|
/linux/Documentation/networking/ |
H A D | smc-sysctl.rst | 29 Default: 0 (physically contiguous sndbufs and RMBs) 33 - 0 - Use physically contiguous buffers 34 - 1 - Use virtually contiguous buffers 35 - 2 - Mixed use of the two types. Try physically contiguous buffers first. 36 If not available, use virtually contiguous buffers then.
|
/linux/drivers/gpu/drm/xe/ |
H A D | xe_bo_doc.h | 32 * vmap (XE can access the memory via xe_map layer) and have contiguous physical 35 * More details of why kernel BOs are pinned and contiguous below. 144 * makes this rather easy but the caveat is the memory must be contiguous. Again 145 * for simplity, we enforce that all kernel (pinned) BOs are contiguous and 164 * Do not require kernel BOs to be contiguous in physical memory / restored to 167 * tables. All of that memory is allocated 1 page at time so the contiguous 169 * kernel BOs are not contiguous too.
|
/linux/Documentation/admin-guide/ |
H A D | dell_rbu.rst | 32 image methods. In case of monolithic the driver allocates a contiguous chunk 35 would place each packet in contiguous physical memory. The driver also 57 copied to a single contiguous block of physical memory. 60 of contiguous memory and the BIOS image is scattered in these packets. 84 the file and spreads it across the physical memory in contiguous packet_sized
|
/linux/drivers/gpu/drm/ |
H A D | drm_gem_dma_helper.c | 30 * presented to the device as a contiguous chunk of memory. This is useful 37 * are contiguous in the IOVA space so appear contiguous to devices using 41 * objects that are physically contiguous in memory. 122 * The allocated memory will occupy a contiguous chunk of bus address space. 125 * memory will be physically contiguous. For devices that access through an 126 * IOMMU, then the allocated memory is not expected to be physically contiguous 127 * because having contiguous IOVAs is sufficient to meet a devices DMA 183 * The allocated memory will occupy a contiguous chunk of bus address space. 452 * another driver. Imported buffers must be physically contiguous in memory 468 /* check if the entries in the sg_table are contiguous */ in drm_gem_dma_prime_import_sg_table()
|
H A D | drm_fb_dma_helper.c | 26 * Provides helper functions for creating a DMA-contiguous framebuffer. 28 * Depending on the platform, the buffers may be physically non-contiguous and 30 * physically-contiguous memory (using, for instance, CMA or a pool of memory 35 * callback function to create a DMA-contiguous framebuffer.
|
/linux/arch/nios2/ |
H A D | Kconfig | 51 int "Order of maximal physically contiguous allocations" 55 contiguous allocations. The limit is called MAX_PAGE_ORDER and it 57 allocated as a single contiguous block. This option allows 59 large blocks of physically contiguous memory is required.
|
/linux/mm/ |
H A D | cma.c | 3 * Contiguous Memory Allocator 157 * cma_init_reserved_mem() - create custom contiguous area from reserved memory 166 * This function creates custom contiguous area from already reserved memory. 219 * cma_declare_contiguous_nid() - reserve custom contiguous area 235 * If @fixed is true, reserve contiguous area at exactly @base. If false, in cma_declare_contiguous_nid() 514 * cma_alloc() - allocate pages from contiguous area 515 * @cma: Contiguous memory region for which the allocation is performed. in cma_alloc() 520 * This function allocates part of contiguous memory on specific 521 * contiguous memory area. in cma_alloc_folio() 562 * @cma: Contiguous memor [all...] |
H A D | percpu-km.c | 8 * Chunks are allocated as a contiguous kernel memory using gfp 24 * PAGE_SIZE. Because each chunk is allocated as a contiguous 30 #error "contiguous percpu allocation is incompatible with paged first chunk"
|
H A D | util.c | 129 * result is physically contiguous. Use kfree() to free. 151 * result is physically contiguous. Use kfree() to free. 167 * result may be not physically contiguous. Use kvfree() to free. 212 * contiguous, to be freed by kfree(). 238 * physically contiguous. Use kvfree() to free. 601 * We want to attempt a large physically contiguous block first because in kmalloc_gfp_adjust() 621 * __kvmalloc_node - attempt to allocate physically contiguous memory, but upon 622 * failure, fall back to non-contiguous (vmalloc) allocation. 761 * __vmalloc_array - allocate memory for a virtually contiguous array. 777 * vmalloc_array - allocate memory for a virtually contiguous array. [all …]
|
/linux/drivers/gpu/drm/exynos/ |
H A D | exynos_drm_gem.c | 36 * if EXYNOS_BO_CONTIG, fully physically contiguous memory in exynos_drm_alloc_buf() 37 * region will be allocated else physically contiguous in exynos_drm_alloc_buf() 210 * contiguous anyway, so drop EXYNOS_BO_NONCONTIG flag in exynos_drm_gem_create() 213 …DRM_WARN("Non-contiguous allocation is not supported without IOMMU, falling back to contiguous buf… in exynos_drm_gem_create() 435 /* check if the entries in the sg_table are contiguous */ in exynos_drm_gem_prime_import_sg_table() 446 * Buffer has been mapped as contiguous into DMA address space, in exynos_drm_gem_prime_import_sg_table()
|
/linux/arch/arm64/mm/ |
H A D | contpte.c | 84 * with contiguous PFNs and matching prots. We ignore the state of the in __contpte_try_fold() 85 * access and dirty bits for the purpose of deciding if its a contiguous in __contpte_try_fold() 144 * We have already checked that the ptes are contiguous in in __contpte_try_unfold() 160 * contiguous range cannot be unfolded or otherwise modified under our in contpte_ptep_get() 190 * access and dirty bits from across all ptes in the contiguous block, in contpte_ptep_get_lockless() 192 * contiguous range may be unfolded/modified/refolded under our feet. in contpte_ptep_get_lockless() 195 * pfns are contiguous and that all pgprots are the same (ignoring in contpte_ptep_get_lockless() 402 * Gather the access/dirty bits for the contiguous range. If nothing has in contpte_ptep_set_access_flags()
|
/linux/arch/sh/mm/ |
H A D | Kconfig | 34 int "Order of maximal physically contiguous allocations" 41 contiguous allocations. The limit is called MAX_PAGE:_ORDER and it 43 allocated as a single contiguous block. This option allows 45 large blocks of physically contiguous memory is required.
|
/linux/Documentation/mm/ |
H A D | memory-model.rst | 9 spans a contiguous range up to the maximal address. It could be, 11 for the CPU. Then there could be several contiguous ranges at 35 non-NUMA systems with contiguous, or mostly contiguous, physical 114 page *vmemmap` pointer that points to a virtually contiguous array of
|
/linux/Documentation/admin-guide/mm/ |
H A D | nommu-mmap.rst | 24 In the no-MMU case: VM regions backed by arbitrary contiguous runs of 52 appropriate bit of the file will be read into a contiguous bit of 83 sequence by providing a contiguous sequence of pages to map. In that 93 blockdev must be able to provide a contiguous run of pages without 95 all its memory as a contiguous array upfront. 252 filesystem providing the service will probably allocate a contiguous collection 269 should allocate sufficient contiguous memory to honour any supported mapping.
|
H A D | concepts.rst | 22 necessarily contiguous; it might be accessible as a set of distinct 198 scattered physical pages as virtually contiguous range, sometimes it is 199 necessary to allocate large physically contiguous memory areas. Such 206 physically contiguous areas become possible.
|
/linux/Documentation/driver-api/dmaengine/ |
H A D | provider.rst | 47 that involve a single contiguous block of data. However, some of the 49 non-contiguous buffers to a contiguous buffer, which is called 235 - If you want to transfer a single contiguous memory buffer, 252 - These transfers can transfer data from a non-contiguous buffer 253 to a non-contiguous buffer, opposed to DMA_SLAVE that can 254 transfer data from a non-contiguous data set to a continuous 655 - Chunk: A contiguous collection of bursts 657 - Transfer: A collection of chunks (be it contiguous or not)
|
/linux/drivers/iio/common/cros_ec_sensors/ |
H A D | Kconfig | 17 tristate "ChromeOS EC Contiguous Sensors" 20 Module to handle 3d contiguous sensors like
|
/linux/sound/pci/ctxfi/ |
H A D | ctresource.c | 37 break; /* found sufficient contiguous resources */ in get_resource() 41 /* Can not find sufficient contiguous resources */ in get_resource() 45 /* Mark the contiguous bits in resource bit-map as used */ in get_resource() 62 /* Mark the contiguous bits in resource bit-map as used */ in put_resource()
|
/linux/Documentation/devicetree/bindings/gpio/ |
H A D | renesas,em-gio.yaml | 18 - description: First set of contiguous registers 19 - description: Second set of contiguous registers
|
/linux/tools/mm/ |
H A D | thpmaps | 316 # dictionary of statistics describing the contiguous blocks. 541 additional statistics for "contiguous block mappings" where 582 Contiguous Block Statistics\\n 586 every contiguous block size specified with `--cont <size>`. 588 contiguous blocks of <size> and also aligned to <size>. A 589 given contiguous block must all belong to the same THP, but 591 Separate counters describe contiguous blocks mapped by PTE 599 As an example, if monitoring 64K contiguous blocks (--cont 634 help="""Adds stats for memory that is mapped in contiguous blocks of
|
/linux/drivers/net/dsa/microchip/ |
H A D | ksz9477_acl.c | 206 * ksz9477_acl_get_cont_entr - Get count of contiguous ACL entries and validate 223 * linked Matching rules are contiguous in terms of their indices. It calculates 224 * and returns the number of these contiguous entries. 229 * - The number of contiguous entries if it is the root entry of a complex 271 /* Calculate the contiguous count */ in ksz9477_acl_get_cont_entr() 283 /* loop over the contiguous entries and check for valid matching rules */ in ksz9477_acl_get_cont_entr() 395 * @src_count: Pointer to the variable that will hold the number of contiguous 397 * @dst_count: Pointer to the variable that will hold the number of contiguous 402 * range, and if the source entries are contiguous. Additionally, the function 405 * validations pass, the function returns the number of contiguous source and [all …]
|