2018-06-13 01:01:45 +08:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2018-08-19 20:53:20 +08:00
|
|
|
config ARCH_HAS_DMA_COHERENCE_H
|
|
|
|
bool
|
|
|
|
|
2018-06-13 01:01:45 +08:00
|
|
|
config HAVE_GENERIC_DMA_COHERENT
|
|
|
|
bool
|
|
|
|
|
2019-01-08 02:36:20 +08:00
|
|
|
config ARCH_HAS_SETUP_DMA_OPS
|
|
|
|
bool
|
|
|
|
|
2018-12-22 05:14:44 +08:00
|
|
|
config ARCH_HAS_TEARDOWN_DMA_OPS
|
|
|
|
bool
|
|
|
|
|
2018-06-13 01:01:45 +08:00
|
|
|
config ARCH_HAS_SYNC_DMA_FOR_DEVICE
|
|
|
|
bool
|
|
|
|
|
|
|
|
config ARCH_HAS_SYNC_DMA_FOR_CPU
|
|
|
|
bool
|
|
|
|
select NEED_DMA_MAP_STATE
|
|
|
|
|
2018-09-11 14:54:57 +08:00
|
|
|
config ARCH_HAS_SYNC_DMA_FOR_CPU_ALL
|
|
|
|
bool
|
|
|
|
|
2018-09-11 14:55:28 +08:00
|
|
|
config ARCH_HAS_DMA_COHERENT_TO_PFN
|
2018-06-13 01:01:45 +08:00
|
|
|
bool
|
|
|
|
|
2018-09-11 14:55:28 +08:00
|
|
|
config ARCH_HAS_DMA_MMAP_PGPROT
|
2018-06-13 01:01:45 +08:00
|
|
|
bool
|
2018-09-11 14:55:28 +08:00
|
|
|
|
2018-06-13 01:01:45 +08:00
|
|
|
config DMA_NONCOHERENT_CACHE_SYNC
|
|
|
|
bool
|
|
|
|
|
|
|
|
config DMA_VIRT_OPS
|
|
|
|
bool
|
|
|
|
depends on HAS_DMA
|
|
|
|
|
|
|
|
config SWIOTLB
|
|
|
|
bool
|
|
|
|
select NEED_DMA_MAP_STATE
|
2018-08-24 16:31:08 +08:00
|
|
|
|
|
|
|
config DMA_REMAP
|
|
|
|
depends on MMU
|
|
|
|
bool
|
2018-11-05 03:29:28 +08:00
|
|
|
|
|
|
|
config DMA_DIRECT_REMAP
|
|
|
|
bool
|
|
|
|
select DMA_REMAP
|
2019-02-12 00:12:30 +08:00
|
|
|
|
|
|
|
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.
|