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

TOMOYO Linux Cross Reference
Linux/kernel/dma/Kconfig

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ 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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /kernel/dma/Kconfig (Version linux-6.11.5) and /kernel/dma/Kconfig (Version linux-4.13.16)


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