~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/kernel/dma/Kconfig

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /kernel/dma/Kconfig (Version linux-6.12-rc7) and /kernel/dma/Kconfig (Version linux-4.16.18)


  1 # SPDX-License-Identifier: GPL-2.0-only           
  2                                                   
  3 config NO_DMA                                     
  4         bool                                      
  5                                                   
  6 config HAS_DMA                                    
  7         bool                                      
  8         depends on !NO_DMA                        
  9         default y                                 
 10                                                   
 11 config DMA_OPS_HELPERS                            
 12         bool                                      
 13                                                   
 14 #                                                 
 15 # IOMMU drivers that can bypass the IOMMU code    
 16 # mapping fast path should select this option     
 17 # flag in struct device where applicable          
 18 #                                                 
 19 config DMA_OPS_BYPASS                             
 20         bool                                      
 21                                                   
 22 # Lets platform IOMMU driver choose between by    
 23 config ARCH_HAS_DMA_MAP_DIRECT                    
 24         bool                                      
 25                                                   
 26 config NEED_SG_DMA_FLAGS                          
 27         bool                                      
 28                                                   
 29 config NEED_SG_DMA_LENGTH                         
 30         bool                                      
 31                                                   
 32 config NEED_DMA_MAP_STATE                         
 33         bool                                      
 34                                                   
 35 config ARCH_DMA_ADDR_T_64BIT                      
 36         def_bool 64BIT || PHYS_ADDR_T_64BIT       
 37                                                   
 38 config ARCH_HAS_DMA_SET_MASK                      
 39         bool                                      
 40                                                   
 41 #                                                 
 42 # Select this option if the architecture needs    
 43 # DMA_ATTR_WRITE_COMBINE.  Normally the "uncac    
 44 # people think of when saying write combine, s    
 45 # need to enable this.                            
 46 #                                                 
 47 config ARCH_HAS_DMA_WRITE_COMBINE                 
 48         bool                                      
 49                                                   
 50 #                                                 
 51 # Select if the architectures provides the arc    
 52 #                                                 
 53 config ARCH_HAS_DMA_MARK_CLEAN                    
 54         bool                                      
 55                                                   
 56 config DMA_DECLARE_COHERENT                       
 57         bool                                      
 58                                                   
 59 config ARCH_HAS_SETUP_DMA_OPS                     
 60         bool                                      
 61                                                   
 62 config ARCH_HAS_TEARDOWN_DMA_OPS                  
 63         bool                                      
 64                                                   
 65 config ARCH_HAS_SYNC_DMA_FOR_DEVICE               
 66         bool                                      
 67                                                   
 68 config ARCH_HAS_SYNC_DMA_FOR_CPU                  
 69         bool                                      
 70         select NEED_DMA_MAP_STATE                 
 71                                                   
 72 config ARCH_HAS_SYNC_DMA_FOR_CPU_ALL              
 73         bool                                      
 74                                                   
 75 config ARCH_HAS_DMA_PREP_COHERENT                 
 76         bool                                      
 77                                                   
 78 config ARCH_HAS_FORCE_DMA_UNENCRYPTED             
 79         bool                                      
 80                                                   
 81 #                                                 
 82 # Select this option if the architecture assum    
 83 # by default.                                     
 84 #                                                 
 85 config ARCH_DMA_DEFAULT_COHERENT                  
 86         bool                                      
 87                                                   
 88 config SWIOTLB                                    
 89         bool                                      
 90         select NEED_DMA_MAP_STATE                 
 91                                                   
 92 config SWIOTLB_DYNAMIC                            
 93         bool "Dynamic allocation of DMA bounce    
 94         default n                                 
 95         depends on SWIOTLB                        
 96         help                                      
 97           This enables dynamic resizing of the    
 98           starts with one memory pool at boot     
 99           pools as needed. To reduce run-time     
100           may have to specify a smaller size o    
101           "swiotlb=" on the kernel command lin    
102                                                   
103           If unsure, say N.                       
104                                                   
105 config DMA_BOUNCE_UNALIGNED_KMALLOC               
106         bool                                      
107         depends on SWIOTLB                        
108                                                   
109 config DMA_NEED_SYNC                              
110         def_bool ARCH_HAS_SYNC_DMA_FOR_DEVICE     
111                  ARCH_HAS_SYNC_DMA_FOR_CPU_ALL    
112                  ARCH_HAS_DMA_OPS || SWIOTLB      
113                                                   
114 config DMA_RESTRICTED_POOL                        
115         bool "DMA Restricted Pool"                
116         depends on OF && OF_RESERVED_MEM && SW    
117         help                                      
118           This enables support for restricted     
119           DMA memory protection on systems wit    
120           capabilities, such as those lacking     
121                                                   
122           For more information see                
123           <Documentation/devicetree/bindings/r    
124           and <kernel/dma/swiotlb.c>.             
125           If unsure, say "n".                     
126                                                   
127 #                                                 
128 # Should be selected if we can mmap non-cohere    
129 # The only thing that is really required is a     
130 # in the pagetables                               
131 #                                                 
132 config DMA_NONCOHERENT_MMAP                       
133         default y if !MMU                         
134         bool                                      
135                                                   
136 config DMA_COHERENT_POOL                          
137         select GENERIC_ALLOCATOR                  
138         bool                                      
139                                                   
140 config DMA_GLOBAL_POOL                            
141         select DMA_DECLARE_COHERENT               
142         depends on !ARCH_HAS_DMA_SET_UNCACHED     
143         depends on !DMA_DIRECT_REMAP              
144         bool                                      
145                                                   
146 config DMA_DIRECT_REMAP                           
147         bool                                      
148         select DMA_COHERENT_POOL                  
149         select DMA_NONCOHERENT_MMAP               
150                                                   
151 #                                                 
152 # Fallback to arch code for DMA allocations.      
153 #                                                 
154 config ARCH_HAS_DMA_ALLOC                         
155         depends on !ARCH_HAS_DMA_SET_UNCACHED     
156         depends on !DMA_DIRECT_REMAP              
157         depends on !DMA_GLOBAL_POOL               
158         bool                                      
159                                                   
160 config DMA_CMA                                    
161         bool "DMA Contiguous Memory Allocator"    
162         depends on HAVE_DMA_CONTIGUOUS && CMA     
163         help                                      
164           This enables the Contiguous Memory A    
165           to allocate big physically-contiguou    
166           hardware components that do not supp    
167                                                   
168           You can disable CMA by specifying "c    
169           line.                                   
170                                                   
171           For more information see <kernel/dma    
172           If unsure, say "n".                     
173                                                   
174 if  DMA_CMA                                       
175                                                   
176 config DMA_NUMA_CMA                               
177         bool "Enable separate DMA Contiguous M    
178         depends on NUMA                           
179         help                                      
180           Enable this option to get numa CMA a    
181           can get local memory by DMA coherent    
182                                                   
183           You can set the size of pernuma CMA     
184           or set the node id and its size of C    
185           <node>:size[,<node>:size]" on the ke    
186                                                   
187 comment "Default contiguous memory area size:"    
188                                                   
189 config CMA_SIZE_MBYTES                            
190         int "Size in Mega Bytes"                  
191         depends on !CMA_SIZE_SEL_PERCENTAGE       
192         default 0 if X86                          
193         default 16                                
194         help                                      
195           Defines the size (in MiB) of the def    
196           Memory Allocator.  If the size of 0     
197           default, but it can be enabled by pa    
198                                                   
199                                                   
200 config CMA_SIZE_PERCENTAGE                        
201         int "Percentage of total memory"          
202         depends on !CMA_SIZE_SEL_MBYTES           
203         default 0 if X86                          
204         default 10                                
205         help                                      
206           Defines the size of the default memo    
207           Allocator as a percentage of the tot    
208           If 0 percent is selected, CMA is dis    
209           enabled by passing cma=size[MG] to t    
210                                                   
211 choice                                            
212         prompt "Selected region size"             
213         default CMA_SIZE_SEL_MBYTES               
214                                                   
215 config CMA_SIZE_SEL_MBYTES                        
216         bool "Use mega bytes value only"          
217                                                   
218 config CMA_SIZE_SEL_PERCENTAGE                    
219         bool "Use percentage value only"          
220                                                   
221 config CMA_SIZE_SEL_MIN                           
222         bool "Use lower value (minimum)"          
223                                                   
224 config CMA_SIZE_SEL_MAX                           
225         bool "Use higher value (maximum)"         
226                                                   
227 endchoice                                         
228                                                   
229 config CMA_ALIGNMENT                              
230         int "Maximum PAGE_SIZE order of alignm    
231         range 2 12                                
232         default 8                                 
233         help                                      
234           DMA mapping framework by default ali    
235           PAGE_SIZE order which is greater tha    
236           size. This works well for buffers up    
237           for larger buffers it just a memory     
238           specify the maximum PAGE_SIZE order     
239           buffers will be aligned only to this    
240           expressed as a power of two multipli    
241                                                   
242           For example, if your system defaults    
243           of 8 means that the buffers will be     
244                                                   
245           If unsure, leave the default value "    
246                                                   
247 endif                                             
248                                                   
249 config DMA_API_DEBUG                              
250         bool "Enable debugging of DMA-API usag    
251         select NEED_DMA_MAP_STATE                 
252         help                                      
253           Enable this option to debug the use     
254           With this option you will be able to    
255           drivers like double-freeing of DMA m    
256           were never allocated.                   
257                                                   
258           This option causes a performance deg    
259           debug device drivers and dma interac    
260                                                   
261           If unsure, say N.                       
262                                                   
263 config DMA_API_DEBUG_SG                           
264         bool "Debug DMA scatter-gather usage"     
265         default y                                 
266         depends on DMA_API_DEBUG                  
267         help                                      
268           Perform extra checking that callers     
269           appropriate segment length/boundary     
270           preparing DMA scatterlists.             
271                                                   
272           This is particularly likely to have     
273           dma_map_sg() API is used for general    
274           preparing literal scatter-gather des    
275           unexpected behaviour from DMA API im    
276           is technically out-of-spec.             
277                                                   
278           If unsure, say N.                       
279                                                   
280 config DMA_MAP_BENCHMARK                          
281         bool "Enable benchmarking of streaming    
282         depends on DEBUG_FS                       
283         help                                      
284           Provides /sys/kernel/debug/dma_map_b    
285           performance of dma_(un)map_page.        
286                                                   
287           See tools/testing/selftests/dma/dma_    
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php