Message ID | 1383573459-3522-2-git-send-email-thellstrom@vmware.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Nov 04, 2013 at 05:57:38AM -0800, Thomas Hellstrom wrote: > Used by the vmwgfx driver That looks OK to me. And baremetal should not be affected as the Intel VT-d driver turns of the SWIOTLB driver - so it will still use the classic ttm pool code. Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > > Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> > Reviewed-by: Jakob Bornecrantz <jakob@vmware.com> > --- > drivers/gpu/drm/ttm/Makefile | 6 +----- > drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 3 +++ > include/drm/ttm/ttm_page_alloc.h | 11 ++++++++++- > 3 files changed, 14 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/ttm/Makefile b/drivers/gpu/drm/ttm/Makefile > index b2b33dd..b433b9f 100644 > --- a/drivers/gpu/drm/ttm/Makefile > +++ b/drivers/gpu/drm/ttm/Makefile > @@ -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 > diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c b/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c > index 7957bee..fb8259f 100644 > --- a/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c > +++ b/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c > @@ -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> > @@ -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 > diff --git a/include/drm/ttm/ttm_page_alloc.h b/include/drm/ttm/ttm_page_alloc.h > index 706b962..d1f61bf 100644 > --- a/include/drm/ttm/ttm_page_alloc.h > +++ b/include/drm/ttm/ttm_page_alloc.h > @@ -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. > */ > @@ -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 > -- > 1.7.10.4 ------------------------------------------------------------------------------ November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk --
On 11/04/2013 05:34 PM, Konrad Rzeszutek Wilk wrote: > On Mon, Nov 04, 2013 at 05:57:38AM -0800, Thomas Hellstrom wrote: >> Used by the vmwgfx driver > That looks OK to me. And baremetal should not be > affected as the Intel VT-d driver turns of the SWIOTLB > driver - so it will still use the classic ttm pool code. > > Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > > Thanks for reviewing, Konrad. /Thomas ------------------------------------------------------------------------------ Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk --
diff --git a/drivers/gpu/drm/ttm/Makefile b/drivers/gpu/drm/ttm/Makefile index b2b33dd..b433b9f 100644 --- a/drivers/gpu/drm/ttm/Makefile +++ b/drivers/gpu/drm/ttm/Makefile @@ -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 diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c b/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c index 7957bee..fb8259f 100644 --- a/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c +++ b/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c @@ -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> @@ -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 diff --git a/include/drm/ttm/ttm_page_alloc.h b/include/drm/ttm/ttm_page_alloc.h index 706b962..d1f61bf 100644 --- a/include/drm/ttm/ttm_page_alloc.h +++ b/include/drm/ttm/ttm_page_alloc.h @@ -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. */ @@ -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