dma-mapping: move dma-debug.h to kernel/dma/

Most of dma-debug.h is not required by anything outside of kernel/dma.
Move the four declarations needed by dma-mappin.h or dma-ops providers
into dma-mapping.h and dma-map-ops.h, and move the remainder of the
file to kernel/dma/debug.h.

Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Christoph Hellwig 2020-09-11 10:12:44 +02:00
parent 5db5d93089
commit a1fd09e8e6
13 changed files with 34 additions and 52 deletions

View File

@ -6,7 +6,6 @@
#include <linux/mm_types.h> #include <linux/mm_types.h>
#include <linux/scatterlist.h> #include <linux/scatterlist.h>
#include <linux/dma-debug.h>
#include <linux/kref.h> #include <linux/kref.h>
struct dma_iommu_mapping { struct dma_iommu_mapping {

View File

@ -6,7 +6,6 @@
#include <linux/mm_types.h> #include <linux/mm_types.h>
#include <linux/scatterlist.h> #include <linux/scatterlist.h>
#include <linux/dma-debug.h>
#include <xen/xen.h> #include <xen/xen.h>
#include <asm/xen/hypervisor.h> #include <asm/xen/hypervisor.h>

View File

@ -10,7 +10,6 @@
#include <linux/device.h> #include <linux/device.h>
#include <linux/dma-noncoherent.h> #include <linux/dma-noncoherent.h>
#include <linux/gfp.h> #include <linux/gfp.h>
#include <linux/dma-debug.h>
#include <linux/export.h> #include <linux/export.h>
#include <linux/bug.h> #include <linux/bug.h>
#include <asm/cacheflush.h> #include <asm/cacheflush.h>

View File

@ -13,7 +13,6 @@
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/dma-debug.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>

View File

@ -8,7 +8,6 @@
*/ */
#include <linux/scatterlist.h> #include <linux/scatterlist.h>
#include <linux/dma-debug.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/swiotlb.h> #include <asm/swiotlb.h>

View File

@ -1,7 +1,6 @@
// SPDX-License-Identifier: GPL-2.0 // SPDX-License-Identifier: GPL-2.0
#include <linux/dma-map-ops.h> #include <linux/dma-map-ops.h>
#include <linux/dma-direct.h> #include <linux/dma-direct.h>
#include <linux/dma-debug.h>
#include <linux/iommu.h> #include <linux/iommu.h>
#include <linux/dmar.h> #include <linux/dmar.h>
#include <linux/export.h> #include <linux/export.h>

View File

@ -19,6 +19,7 @@
#include <linux/kexec.h> #include <linux/kexec.h>
#include <linux/of_device.h> #include <linux/of_device.h>
#include <linux/acpi.h> #include <linux/acpi.h>
#include <linux/dma-map-ops.h>
#include "pci.h" #include "pci.h"
#include "pcie/portdrv.h" #include "pcie/portdrv.h"

View File

@ -220,6 +220,18 @@ static inline void arch_teardown_dma_ops(struct device *dev)
} }
#endif /* CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS */ #endif /* CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS */
#ifdef CONFIG_DMA_API_DEBUG
void dma_debug_add_bus(struct bus_type *bus);
void debug_dma_dump_mappings(struct device *dev);
#else
static inline void dma_debug_add_bus(struct bus_type *bus)
{
}
static inline void debug_dma_dump_mappings(struct device *dev)
{
}
#endif /* CONFIG_DMA_API_DEBUG */
extern const struct dma_map_ops dma_dummy_ops; extern const struct dma_map_ops dma_dummy_ops;
#endif /* _LINUX_DMA_MAP_OPS_H */ #endif /* _LINUX_DMA_MAP_OPS_H */

View File

@ -6,7 +6,6 @@
#include <linux/string.h> #include <linux/string.h>
#include <linux/device.h> #include <linux/device.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/dma-debug.h>
#include <linux/dma-direction.h> #include <linux/dma-direction.h>
#include <linux/scatterlist.h> #include <linux/scatterlist.h>
#include <linux/bug.h> #include <linux/bug.h>
@ -76,6 +75,21 @@
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
#ifdef CONFIG_DMA_API_DEBUG
void debug_dma_mapping_error(struct device *dev, dma_addr_t dma_addr);
void debug_dma_map_single(struct device *dev, const void *addr,
unsigned long len);
#else
static inline void debug_dma_mapping_error(struct device *dev,
dma_addr_t dma_addr)
{
}
static inline void debug_dma_map_single(struct device *dev, const void *addr,
unsigned long len)
{
}
#endif /* CONFIG_DMA_API_DEBUG */
#ifdef CONFIG_HAS_DMA #ifdef CONFIG_HAS_DMA
static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr)
{ {

View File

@ -9,10 +9,9 @@
#include <linux/sched/task_stack.h> #include <linux/sched/task_stack.h>
#include <linux/scatterlist.h> #include <linux/scatterlist.h>
#include <linux/dma-mapping.h> #include <linux/dma-map-ops.h>
#include <linux/sched/task.h> #include <linux/sched/task.h>
#include <linux/stacktrace.h> #include <linux/stacktrace.h>
#include <linux/dma-debug.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
#include <linux/debugfs.h> #include <linux/debugfs.h>
@ -24,8 +23,8 @@
#include <linux/ctype.h> #include <linux/ctype.h>
#include <linux/list.h> #include <linux/list.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <asm/sections.h> #include <asm/sections.h>
#include "debug.h"
#define HASH_SIZE 16384ULL #define HASH_SIZE 16384ULL
#define HASH_FN_SHIFT 13 #define HASH_FN_SHIFT 13

View File

@ -5,28 +5,14 @@
* Author: Joerg Roedel <joerg.roedel@amd.com> * Author: Joerg Roedel <joerg.roedel@amd.com>
*/ */
#ifndef __DMA_DEBUG_H #ifndef _KERNEL_DMA_DEBUG_H
#define __DMA_DEBUG_H #define _KERNEL_DMA_DEBUG_H
#include <linux/types.h>
struct device;
struct scatterlist;
struct bus_type;
#ifdef CONFIG_DMA_API_DEBUG #ifdef CONFIG_DMA_API_DEBUG
extern void dma_debug_add_bus(struct bus_type *bus);
extern void debug_dma_map_single(struct device *dev, const void *addr,
unsigned long len);
extern void debug_dma_map_page(struct device *dev, struct page *page, extern void debug_dma_map_page(struct device *dev, struct page *page,
size_t offset, size_t size, size_t offset, size_t size,
int direction, dma_addr_t dma_addr); int direction, dma_addr_t dma_addr);
extern void debug_dma_mapping_error(struct device *dev, dma_addr_t dma_addr);
extern void debug_dma_unmap_page(struct device *dev, dma_addr_t addr, extern void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
size_t size, int direction); size_t size, int direction);
@ -64,31 +50,13 @@ extern void debug_dma_sync_sg_for_cpu(struct device *dev,
extern void debug_dma_sync_sg_for_device(struct device *dev, extern void debug_dma_sync_sg_for_device(struct device *dev,
struct scatterlist *sg, struct scatterlist *sg,
int nelems, int direction); int nelems, int direction);
extern void debug_dma_dump_mappings(struct device *dev);
#else /* CONFIG_DMA_API_DEBUG */ #else /* CONFIG_DMA_API_DEBUG */
static inline void dma_debug_add_bus(struct bus_type *bus)
{
}
static inline void debug_dma_map_single(struct device *dev, const void *addr,
unsigned long len)
{
}
static inline void debug_dma_map_page(struct device *dev, struct page *page, static inline void debug_dma_map_page(struct device *dev, struct page *page,
size_t offset, size_t size, size_t offset, size_t size,
int direction, dma_addr_t dma_addr) int direction, dma_addr_t dma_addr)
{ {
} }
static inline void debug_dma_mapping_error(struct device *dev,
dma_addr_t dma_addr)
{
}
static inline void debug_dma_unmap_page(struct device *dev, dma_addr_t addr, static inline void debug_dma_unmap_page(struct device *dev, dma_addr_t addr,
size_t size, int direction) size_t size, int direction)
{ {
@ -150,11 +118,5 @@ static inline void debug_dma_sync_sg_for_device(struct device *dev,
int nelems, int direction) int nelems, int direction)
{ {
} }
static inline void debug_dma_dump_mappings(struct device *dev)
{
}
#endif /* CONFIG_DMA_API_DEBUG */ #endif /* CONFIG_DMA_API_DEBUG */
#endif /* _KERNEL_DMA_DEBUG_H */
#endif /* __DMA_DEBUG_H */

View File

@ -14,6 +14,7 @@
#include <linux/of_device.h> #include <linux/of_device.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
#include "debug.h"
/* /*
* Managed DMA API * Managed DMA API

View File

@ -65,7 +65,6 @@
#include <linux/gfp.h> #include <linux/gfp.h>
#include <linux/migrate.h> #include <linux/migrate.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/dma-debug.h>
#include <linux/debugfs.h> #include <linux/debugfs.h>
#include <linux/userfaultfd_k.h> #include <linux/userfaultfd_k.h>
#include <linux/dax.h> #include <linux/dax.h>