> >> -int ttm_dma_populate(struct ttm_tt *ttm, struct device *dev); > >> -extern void ttm_dma_unpopulate(struct ttm_tt *ttm, struct device *dev); > >> +int ttm_dma_populate(struct ttm_dma_tt *ttm_dma, struct device *dev); > >> +extern void ttm_dma_unpopulate(struct ttm_dma_tt *ttm_dma, struct device > >> *dev); > >> > >> #else > >> static inline int ttm_dma_page_alloc_init(struct ttm_mem_global *glob, > > > > You are missing changes to the static implementations in case > > CONFIG_SWIOTLB is not set. > > > > Actually i don't think i miss anything > ttm_dma_populate/ttm_dma_unpopulate is conditional on CONFIG_SWIOTLB > in both radeon and nouveau. So i should be fine. Or did i miss > something else ?
You are completlty right. Somehow I had in my mind that this was present: diff --git a/include/drm/ttm/ttm_page_alloc.h b/include/drm/ttm/ttm_page_alloc.h index 5fe2740..bb006c7 100644 --- a/include/drm/ttm/ttm_page_alloc.h +++ b/include/drm/ttm/ttm_page_alloc.h @@ -94,6 +94,16 @@ static inline int ttm_dma_page_alloc_debugfs(struct seq_file *m, void *data) { return 0; } +static inline int ttm_dma_populate(struct ttm_tt *ttm, + struct device *dev) +{ + return -ENODEV; +} +static inline void ttm_dma_unpopulate(struct ttm_tt *ttm, + struct device *dev) +{ + return; +} #endif #endif But that does not make sense as the nouveau and radeon are both guarded by the #ifdef CONFIG_SWIOTLB. So if "# CONFIG_SWIOTLB is not set" is present, well, nobody will be referencing the ttm_dma_[un|]populate calls. _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel