diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2019-02-11 11:12:30 -0500 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2019-02-13 13:11:35 -0500 |
commit | 70ca7ba2dbe4f1858b85e30269c8408a8bb8f272 (patch) | |
tree | 7fd4f45e8a3beb5dbfe1f6fe078b4e4286235c80 /kernel | |
parent | 0a3b192c26da198fce38e1ee242a34f558670246 (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/Kconfig | 36 |
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 | |||
53 | config DMA_DIRECT_REMAP | 53 | config DMA_DIRECT_REMAP |
54 | bool | 54 | bool |
55 | select DMA_REMAP | 55 | select DMA_REMAP |
56 | |||
57 | config 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 | |||
76 | config 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. | ||