| |
| config HAS_DMA |
| bool |
| depends on !NO_DMA |
| default y |
| |
| config NEED_SG_DMA_LENGTH |
| bool |
| |
| config NEED_DMA_MAP_STATE |
| bool |
| |
| config ARCH_DMA_ADDR_T_64BIT |
| def_bool 64BIT || PHYS_ADDR_T_64BIT |
| |
| config ARCH_HAS_DMA_COHERENCE_H |
| bool |
| |
| config HAVE_GENERIC_DMA_COHERENT |
| bool |
| |
| config ARCH_HAS_SETUP_DMA_OPS |
| bool |
| |
| config ARCH_HAS_TEARDOWN_DMA_OPS |
| bool |
| |
| config ARCH_HAS_SYNC_DMA_FOR_DEVICE |
| bool |
| |
| config ARCH_HAS_SYNC_DMA_FOR_CPU |
| bool |
| select NEED_DMA_MAP_STATE |
| |
| config ARCH_HAS_SYNC_DMA_FOR_CPU_ALL |
| bool |
| |
| config ARCH_HAS_DMA_COHERENT_TO_PFN |
| bool |
| |
| config ARCH_HAS_DMA_MMAP_PGPROT |
| bool |
| |
| config DMA_NONCOHERENT_CACHE_SYNC |
| bool |
| |
| config DMA_VIRT_OPS |
| bool |
| depends on HAS_DMA |
| |
| config SWIOTLB |
| bool |
| select NEED_DMA_MAP_STATE |
| |
| config DMA_REMAP |
| depends on MMU |
| bool |
| |
| config DMA_DIRECT_REMAP |
| bool |
| select DMA_REMAP |
| |
| config DMA_API_DEBUG |
| bool "Enable debugging of DMA-API usage" |
| select NEED_DMA_MAP_STATE |
| help |
| Enable this option to debug the use of the DMA API by device drivers. |
| With this option you will be able to detect common bugs in device |
| drivers like double-freeing of DMA mappings or freeing mappings that |
| were never allocated. |
| |
| This also attempts to catch cases where a page owned by DMA is |
| accessed by the cpu in a way that could cause data corruption. For |
| example, this enables cow_user_page() to check that the source page is |
| not undergoing DMA. |
| |
| This option causes a performance degradation. Use only if you want to |
| debug device drivers and dma interactions. |
| |
| If unsure, say N. |
| |
| config DMA_API_DEBUG_SG |
| bool "Debug DMA scatter-gather usage" |
| default y |
| depends on DMA_API_DEBUG |
| help |
| Perform extra checking that callers of dma_map_sg() have respected the |
| appropriate segment length/boundary limits for the given device when |
| preparing DMA scatterlists. |
| |
| This is particularly likely to have been overlooked in cases where the |
| dma_map_sg() API is used for general bulk mapping of pages rather than |
| preparing literal scatter-gather descriptors, where there is a risk of |
| unexpected behaviour from DMA API implementations if the scatterlist |
| is technically out-of-spec. |
| |
| If unsure, say N. |