Skip to content

Commit

Permalink
drm/ttm: Enable the dma page pool also for intel IOMMUs
Browse files Browse the repository at this point in the history
Used by the vmwgfx driver

Signed-off-by: Thomas Hellstrom <[email protected]>
Reviewed-by: Jakob Bornecrantz <[email protected]>
Reviewed-by: Konrad Rzeszutek Wilk <[email protected]>
  • Loading branch information
thomashvmw committed Nov 6, 2013
1 parent 4695b03 commit 7aeb744
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 6 deletions.
6 changes: 1 addition & 5 deletions drivers/gpu/drm/ttm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@ ccflags-y := -Iinclude/drm
ttm-y := ttm_agp_backend.o ttm_memory.o ttm_tt.o ttm_bo.o \
ttm_bo_util.o ttm_bo_vm.o ttm_module.o \
ttm_object.o ttm_lock.o ttm_execbuf_util.o ttm_page_alloc.o \
ttm_bo_manager.o

ifeq ($(CONFIG_SWIOTLB),y)
ttm-y += ttm_page_alloc_dma.o
endif
ttm_bo_manager.o ttm_page_alloc_dma.o

obj-$(CONFIG_DRM_TTM) += ttm.o
3 changes: 3 additions & 0 deletions drivers/gpu/drm/ttm/ttm_page_alloc_dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
* when freed).
*/

#if defined(CONFIG_SWIOTLB) || defined(CONFIG_INTEL_IOMMU)
#define pr_fmt(fmt) "[TTM] " fmt

#include <linux/dma-mapping.h>
Expand Down Expand Up @@ -1142,3 +1143,5 @@ int ttm_dma_page_alloc_debugfs(struct seq_file *m, void *data)
return 0;
}
EXPORT_SYMBOL_GPL(ttm_dma_page_alloc_debugfs);

#endif
11 changes: 10 additions & 1 deletion include/drm/ttm/ttm_page_alloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ extern void ttm_pool_unpopulate(struct ttm_tt *ttm);
extern int ttm_page_alloc_debugfs(struct seq_file *m, void *data);


#ifdef CONFIG_SWIOTLB
#if defined(CONFIG_SWIOTLB) || defined(CONFIG_INTEL_IOMMU)
/**
* Initialize pool allocator.
*/
Expand Down Expand Up @@ -94,6 +94,15 @@ static inline int ttm_dma_page_alloc_debugfs(struct seq_file *m, void *data)
{
return 0;
}
static inline int ttm_dma_populate(struct ttm_dma_tt *ttm_dma,
struct device *dev)
{
return -ENOMEM;
}
static inline void ttm_dma_unpopulate(struct ttm_dma_tt *ttm_dma,
struct device *dev)
{
}
#endif

#endif

0 comments on commit 7aeb744

Please sign in to comment.