mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
dma-mapping: move all DMA mapping code to kernel/dma
Currently the code is split over various files with dma- prefixes in the lib/ and drives/base directories, and the number of files keeps growing. Move them into a single directory to keep the code together and remove the file name prefixes. To match the irq infrastructure this directory is placed under the kernel/ directory. Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
e37460c1ca
commit
cf65a0f6f6
@ -49,10 +49,10 @@ Device Drivers Base
|
|||||||
Device Drivers DMA Management
|
Device Drivers DMA Management
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
.. kernel-doc:: drivers/base/dma-coherent.c
|
.. kernel-doc:: kernel/dma/coherent.c
|
||||||
:export:
|
:export:
|
||||||
|
|
||||||
.. kernel-doc:: drivers/base/dma-mapping.c
|
.. kernel-doc:: kernel/dma/mapping.c
|
||||||
:export:
|
:export:
|
||||||
|
|
||||||
Device drivers PnP support
|
Device drivers PnP support
|
||||||
|
@ -4359,12 +4359,7 @@ L: iommu@lists.linux-foundation.org
|
|||||||
T: git git://git.infradead.org/users/hch/dma-mapping.git
|
T: git git://git.infradead.org/users/hch/dma-mapping.git
|
||||||
W: http://git.infradead.org/users/hch/dma-mapping.git
|
W: http://git.infradead.org/users/hch/dma-mapping.git
|
||||||
S: Supported
|
S: Supported
|
||||||
F: lib/dma-debug.c
|
F: kernel/dma/
|
||||||
F: lib/dma-direct.c
|
|
||||||
F: lib/dma-noncoherent.c
|
|
||||||
F: lib/dma-virt.c
|
|
||||||
F: drivers/base/dma-mapping.c
|
|
||||||
F: drivers/base/dma-coherent.c
|
|
||||||
F: include/asm-generic/dma-mapping.h
|
F: include/asm-generic/dma-mapping.h
|
||||||
F: include/linux/dma-direct.h
|
F: include/linux/dma-direct.h
|
||||||
F: include/linux/dma-mapping.h
|
F: include/linux/dma-mapping.h
|
||||||
@ -13642,7 +13637,7 @@ M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
|||||||
L: iommu@lists.linux-foundation.org
|
L: iommu@lists.linux-foundation.org
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb.git
|
||||||
S: Supported
|
S: Supported
|
||||||
F: lib/swiotlb.c
|
F: kernel/dma/swiotlb.c
|
||||||
F: arch/*/kernel/pci-swiotlb.c
|
F: arch/*/kernel/pci-swiotlb.c
|
||||||
F: include/linux/swiotlb.h
|
F: include/linux/swiotlb.h
|
||||||
|
|
||||||
|
@ -8,10 +8,7 @@ obj-y := component.o core.o bus.o dd.o syscore.o \
|
|||||||
topology.o container.o property.o cacheinfo.o \
|
topology.o container.o property.o cacheinfo.o \
|
||||||
devcon.o
|
devcon.o
|
||||||
obj-$(CONFIG_DEVTMPFS) += devtmpfs.o
|
obj-$(CONFIG_DEVTMPFS) += devtmpfs.o
|
||||||
obj-$(CONFIG_DMA_CMA) += dma-contiguous.o
|
|
||||||
obj-y += power/
|
obj-y += power/
|
||||||
obj-$(CONFIG_HAS_DMA) += dma-mapping.o
|
|
||||||
obj-$(CONFIG_HAVE_GENERIC_DMA_COHERENT) += dma-coherent.o
|
|
||||||
obj-$(CONFIG_ISA_BUS_API) += isa.o
|
obj-$(CONFIG_ISA_BUS_API) += isa.o
|
||||||
obj-y += firmware_loader/
|
obj-y += firmware_loader/
|
||||||
obj-$(CONFIG_NUMA) += node.o
|
obj-$(CONFIG_NUMA) += node.o
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
* CMA should not be used by the device drivers directly. It is
|
* CMA should not be used by the device drivers directly. It is
|
||||||
* only a helper framework for dma-mapping subsystem.
|
* only a helper framework for dma-mapping subsystem.
|
||||||
*
|
*
|
||||||
* For more information, see kernel-docs in drivers/base/dma-contiguous.c
|
* For more information, see kernel-docs in kernel/dma/contiguous.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
|
@ -1719,10 +1719,6 @@ source "arch/Kconfig"
|
|||||||
|
|
||||||
endmenu # General setup
|
endmenu # General setup
|
||||||
|
|
||||||
config HAVE_GENERIC_DMA_COHERENT
|
|
||||||
bool
|
|
||||||
default n
|
|
||||||
|
|
||||||
config RT_MUTEXES
|
config RT_MUTEXES
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
@ -41,6 +41,7 @@ obj-y += printk/
|
|||||||
obj-y += irq/
|
obj-y += irq/
|
||||||
obj-y += rcu/
|
obj-y += rcu/
|
||||||
obj-y += livepatch/
|
obj-y += livepatch/
|
||||||
|
obj-y += dma/
|
||||||
|
|
||||||
obj-$(CONFIG_CHECKPOINT_RESTORE) += kcmp.o
|
obj-$(CONFIG_CHECKPOINT_RESTORE) += kcmp.o
|
||||||
obj-$(CONFIG_FREEZER) += freezer.o
|
obj-$(CONFIG_FREEZER) += freezer.o
|
||||||
|
50
kernel/dma/Kconfig
Normal file
50
kernel/dma/Kconfig
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
|
||||||
|
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 HAVE_GENERIC_DMA_COHERENT
|
||||||
|
bool
|
||||||
|
|
||||||
|
config ARCH_HAS_SYNC_DMA_FOR_DEVICE
|
||||||
|
bool
|
||||||
|
|
||||||
|
config ARCH_HAS_SYNC_DMA_FOR_CPU
|
||||||
|
bool
|
||||||
|
select NEED_DMA_MAP_STATE
|
||||||
|
|
||||||
|
config DMA_DIRECT_OPS
|
||||||
|
bool
|
||||||
|
depends on HAS_DMA
|
||||||
|
|
||||||
|
config DMA_NONCOHERENT_OPS
|
||||||
|
bool
|
||||||
|
depends on HAS_DMA
|
||||||
|
select DMA_DIRECT_OPS
|
||||||
|
|
||||||
|
config DMA_NONCOHERENT_MMAP
|
||||||
|
bool
|
||||||
|
depends on DMA_NONCOHERENT_OPS
|
||||||
|
|
||||||
|
config DMA_NONCOHERENT_CACHE_SYNC
|
||||||
|
bool
|
||||||
|
depends on DMA_NONCOHERENT_OPS
|
||||||
|
|
||||||
|
config DMA_VIRT_OPS
|
||||||
|
bool
|
||||||
|
depends on HAS_DMA
|
||||||
|
|
||||||
|
config SWIOTLB
|
||||||
|
bool
|
||||||
|
select DMA_DIRECT_OPS
|
||||||
|
select NEED_DMA_MAP_STATE
|
11
kernel/dma/Makefile
Normal file
11
kernel/dma/Makefile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
obj-$(CONFIG_HAS_DMA) += mapping.o
|
||||||
|
obj-$(CONFIG_DMA_CMA) += contiguous.o
|
||||||
|
obj-$(CONFIG_HAVE_GENERIC_DMA_COHERENT) += coherent.o
|
||||||
|
obj-$(CONFIG_DMA_DIRECT_OPS) += direct.o
|
||||||
|
obj-$(CONFIG_DMA_NONCOHERENT_OPS) += noncoherent.o
|
||||||
|
obj-$(CONFIG_DMA_VIRT_OPS) += virt.o
|
||||||
|
obj-$(CONFIG_DMA_API_DEBUG) += debug.o
|
||||||
|
obj-$(CONFIG_SWIOTLB) += swiotlb.o
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
/*
|
/*
|
||||||
* drivers/base/dma-mapping.c - arch-independent dma-mapping routines
|
* arch-independent dma-mapping routines
|
||||||
*
|
*
|
||||||
* Copyright (c) 2006 SUSE Linux Products GmbH
|
* Copyright (c) 2006 SUSE Linux Products GmbH
|
||||||
* Copyright (c) 2006 Tejun Heo <teheo@suse.de>
|
* Copyright (c) 2006 Tejun Heo <teheo@suse.de>
|
@ -1,7 +1,5 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
/*
|
/*
|
||||||
* lib/dma-virt.c
|
|
||||||
*
|
|
||||||
* DMA operations that map to virtual addresses without flushing memory.
|
* DMA operations that map to virtual addresses without flushing memory.
|
||||||
*/
|
*/
|
||||||
#include <linux/export.h>
|
#include <linux/export.h>
|
47
lib/Kconfig
47
lib/Kconfig
@ -420,60 +420,15 @@ config HAS_IOPORT_MAP
|
|||||||
depends on HAS_IOMEM && !NO_IOPORT_MAP
|
depends on HAS_IOMEM && !NO_IOPORT_MAP
|
||||||
default y
|
default y
|
||||||
|
|
||||||
config HAS_DMA
|
source "kernel/dma/Kconfig"
|
||||||
bool
|
|
||||||
depends on !NO_DMA
|
|
||||||
default y
|
|
||||||
|
|
||||||
config SGL_ALLOC
|
config SGL_ALLOC
|
||||||
bool
|
bool
|
||||||
default n
|
default n
|
||||||
|
|
||||||
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 IOMMU_HELPER
|
config IOMMU_HELPER
|
||||||
bool
|
bool
|
||||||
|
|
||||||
config ARCH_HAS_SYNC_DMA_FOR_DEVICE
|
|
||||||
bool
|
|
||||||
|
|
||||||
config ARCH_HAS_SYNC_DMA_FOR_CPU
|
|
||||||
bool
|
|
||||||
select NEED_DMA_MAP_STATE
|
|
||||||
|
|
||||||
config DMA_DIRECT_OPS
|
|
||||||
bool
|
|
||||||
depends on HAS_DMA
|
|
||||||
|
|
||||||
config DMA_NONCOHERENT_OPS
|
|
||||||
bool
|
|
||||||
depends on HAS_DMA
|
|
||||||
select DMA_DIRECT_OPS
|
|
||||||
|
|
||||||
config DMA_NONCOHERENT_MMAP
|
|
||||||
bool
|
|
||||||
depends on DMA_NONCOHERENT_OPS
|
|
||||||
|
|
||||||
config DMA_NONCOHERENT_CACHE_SYNC
|
|
||||||
bool
|
|
||||||
depends on DMA_NONCOHERENT_OPS
|
|
||||||
|
|
||||||
config DMA_VIRT_OPS
|
|
||||||
bool
|
|
||||||
depends on HAS_DMA
|
|
||||||
|
|
||||||
config SWIOTLB
|
|
||||||
bool
|
|
||||||
select DMA_DIRECT_OPS
|
|
||||||
select NEED_DMA_MAP_STATE
|
|
||||||
|
|
||||||
config CHECK_SIGNATURE
|
config CHECK_SIGNATURE
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
@ -29,9 +29,6 @@ lib-y := ctype.o string.o vsprintf.o cmdline.o \
|
|||||||
lib-$(CONFIG_PRINTK) += dump_stack.o
|
lib-$(CONFIG_PRINTK) += dump_stack.o
|
||||||
lib-$(CONFIG_MMU) += ioremap.o
|
lib-$(CONFIG_MMU) += ioremap.o
|
||||||
lib-$(CONFIG_SMP) += cpumask.o
|
lib-$(CONFIG_SMP) += cpumask.o
|
||||||
obj-$(CONFIG_DMA_DIRECT_OPS) += dma-direct.o
|
|
||||||
obj-$(CONFIG_DMA_NONCOHERENT_OPS) += dma-noncoherent.o
|
|
||||||
obj-$(CONFIG_DMA_VIRT_OPS) += dma-virt.o
|
|
||||||
|
|
||||||
lib-y += kobject.o klist.o
|
lib-y += kobject.o klist.o
|
||||||
obj-y += lockref.o
|
obj-y += lockref.o
|
||||||
@ -148,7 +145,6 @@ obj-$(CONFIG_SMP) += percpu_counter.o
|
|||||||
obj-$(CONFIG_AUDIT_GENERIC) += audit.o
|
obj-$(CONFIG_AUDIT_GENERIC) += audit.o
|
||||||
obj-$(CONFIG_AUDIT_COMPAT_GENERIC) += compat_audit.o
|
obj-$(CONFIG_AUDIT_COMPAT_GENERIC) += compat_audit.o
|
||||||
|
|
||||||
obj-$(CONFIG_SWIOTLB) += swiotlb.o
|
|
||||||
obj-$(CONFIG_IOMMU_HELPER) += iommu-helper.o
|
obj-$(CONFIG_IOMMU_HELPER) += iommu-helper.o
|
||||||
obj-$(CONFIG_FAULT_INJECTION) += fault-inject.o
|
obj-$(CONFIG_FAULT_INJECTION) += fault-inject.o
|
||||||
obj-$(CONFIG_NOTIFIER_ERROR_INJECTION) += notifier-error-inject.o
|
obj-$(CONFIG_NOTIFIER_ERROR_INJECTION) += notifier-error-inject.o
|
||||||
@ -169,8 +165,6 @@ obj-$(CONFIG_NLATTR) += nlattr.o
|
|||||||
|
|
||||||
obj-$(CONFIG_LRU_CACHE) += lru_cache.o
|
obj-$(CONFIG_LRU_CACHE) += lru_cache.o
|
||||||
|
|
||||||
obj-$(CONFIG_DMA_API_DEBUG) += dma-debug.o
|
|
||||||
|
|
||||||
obj-$(CONFIG_GENERIC_CSUM) += checksum.o
|
obj-$(CONFIG_GENERIC_CSUM) += checksum.o
|
||||||
|
|
||||||
obj-$(CONFIG_GENERIC_ATOMIC64) += atomic64.o
|
obj-$(CONFIG_GENERIC_ATOMIC64) += atomic64.o
|
||||||
|
Loading…
Reference in New Issue
Block a user