mirror of https://gitee.com/openkylin/linux.git
drm/ttm, drm/vmwgfx: Use a configuration option for the TTM dma page pool
Drivers like vmwgfx may want to test whether the dma page pool is present or not. Since it's activated by default by TTM if compiled-in, define a hidden configuration option that the driver can test for. Cc: Christian König <christian.koenig@amd.com> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
parent
3ca3a9eab7
commit
e2e966636a
|
@ -179,6 +179,13 @@ config DRM_TTM
|
|||
GPU memory types. Will be enabled automatically if a device driver
|
||||
uses it.
|
||||
|
||||
config DRM_TTM_DMA_PAGE_POOL
|
||||
bool
|
||||
depends on DRM_TTM && (SWIOTLB || INTEL_IOMMU)
|
||||
default y
|
||||
help
|
||||
Choose this if you need the TTM dma page pool
|
||||
|
||||
config DRM_VRAM_HELPER
|
||||
tristate
|
||||
depends on DRM
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
ttm-y := ttm_memory.o ttm_tt.o ttm_bo.o \
|
||||
ttm_bo_util.o ttm_bo_vm.o ttm_module.o \
|
||||
ttm_execbuf_util.o ttm_page_alloc.o ttm_bo_manager.o \
|
||||
ttm_page_alloc_dma.o
|
||||
ttm_execbuf_util.o ttm_page_alloc.o ttm_bo_manager.o
|
||||
ttm-$(CONFIG_AGP) += ttm_agp_backend.o
|
||||
ttm-$(CONFIG_DRM_TTM_DMA_PAGE_POOL) += ttm_page_alloc_dma.o
|
||||
|
||||
obj-$(CONFIG_DRM_TTM) += ttm.o
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
* when freed).
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_SWIOTLB) || defined(CONFIG_INTEL_IOMMU)
|
||||
#define pr_fmt(fmt) "[TTM] " fmt
|
||||
|
||||
#include <linux/dma-mapping.h>
|
||||
|
@ -1238,5 +1237,3 @@ int ttm_dma_page_alloc_debugfs(struct seq_file *m, void *data)
|
|||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ttm_dma_page_alloc_debugfs);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -576,8 +576,7 @@ static int vmw_dma_select_mode(struct vmw_private *dev_priv)
|
|||
else
|
||||
dev_priv->map_mode = vmw_dma_map_populate;
|
||||
|
||||
/* No TTM coherent page pool? FIXME: Ask TTM instead! */
|
||||
if (!(IS_ENABLED(CONFIG_SWIOTLB) || IS_ENABLED(CONFIG_INTEL_IOMMU)) &&
|
||||
if (!IS_ENABLED(CONFIG_DRM_TTM_DMA_PAGE_POOL) &&
|
||||
(dev_priv->map_mode == vmw_dma_alloc_coherent))
|
||||
return -EINVAL;
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@ void ttm_unmap_and_unpopulate_pages(struct device *dev, struct ttm_dma_tt *tt);
|
|||
*/
|
||||
int ttm_page_alloc_debugfs(struct seq_file *m, void *data);
|
||||
|
||||
#if defined(CONFIG_SWIOTLB) || defined(CONFIG_INTEL_IOMMU)
|
||||
#if defined(CONFIG_DRM_TTM_DMA_PAGE_POOL)
|
||||
/**
|
||||
* Initialize pool allocator.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue