aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2019-02-11 11:12:30 -0500
committerChristoph Hellwig <hch@lst.de>2019-02-13 13:11:35 -0500
commit70ca7ba2dbe4f1858b85e30269c8408a8bb8f272 (patch)
tree7fd4f45e8a3beb5dbfe1f6fe078b4e4286235c80 /kernel
parent0a3b192c26da198fce38e1ee242a34f558670246 (diff)
dma-mapping: move debug configuration options to kernel/dma
This is a follow up to the commit cf65a0f6f6ff ("dma-mapping: move all DMA mapping code to kernel/dma") which moved source code of DMA API to kernel/dma folder. Since there is no file left in the lib that require DMA API debugging options move the latter to kernel/dma as well. Cc: Christoph Hellwig <hch@lst.de> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/dma/Kconfig36
1 files changed, 36 insertions, 0 deletions
diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig
index ca88b867e7fe..61cebea36d89 100644
--- a/kernel/dma/Kconfig
+++ b/kernel/dma/Kconfig
@@ -53,3 +53,39 @@ config DMA_REMAP
53config DMA_DIRECT_REMAP 53config DMA_DIRECT_REMAP
54 bool 54 bool
55 select DMA_REMAP 55 select DMA_REMAP
56
57config DMA_API_DEBUG
58 bool "Enable debugging of DMA-API usage"
59 select NEED_DMA_MAP_STATE
60 help
61 Enable this option to debug the use of the DMA API by device drivers.
62 With this option you will be able to detect common bugs in device
63 drivers like double-freeing of DMA mappings or freeing mappings that
64 were never allocated.
65
66 This also attempts to catch cases where a page owned by DMA is
67 accessed by the cpu in a way that could cause data corruption. For
68 example, this enables cow_user_page() to check that the source page is
69 not undergoing DMA.
70
71 This option causes a performance degradation. Use only if you want to
72 debug device drivers and dma interactions.
73
74 If unsure, say N.
75
76config DMA_API_DEBUG_SG
77 bool "Debug DMA scatter-gather usage"
78 default y
79 depends on DMA_API_DEBUG
80 help
81 Perform extra checking that callers of dma_map_sg() have respected the
82 appropriate segment length/boundary limits for the given device when
83 preparing DMA scatterlists.
84
85 This is particularly likely to have been overlooked in cases where the
86 dma_map_sg() API is used for general bulk mapping of pages rather than
87 preparing literal scatter-gather descriptors, where there is a risk of
88 unexpected behaviour from DMA API implementations if the scatterlist
89 is technically out-of-spec.
90
91 If unsure, say N.