@ -224,6 +224,9 @@ static int ttm_bo_add_ttm(struct ttm_buffer_object *bo, bool zero_alloc)
TTM_ASSERT_LOCKED ( & bo - > mutex ) ;
bo - > ttm = NULL ;
if ( bdev - > need_dma32 )
page_flags | = TTM_PAGE_FLAG_DMA32 ;
switch ( bo - > type ) {
case ttm_bo_type_device :
if ( zero_alloc )
@ -1332,7 +1335,8 @@ EXPORT_SYMBOL(ttm_bo_device_release);
int ttm_bo_device_init ( struct ttm_bo_device * bdev ,
struct ttm_mem_global * mem_glob ,
struct ttm_bo_driver * driver , uint64_t file_page_offset )
struct ttm_bo_driver * driver , uint64_t file_page_offset ,
bool need_dma32 )
{
int ret = - EINVAL ;
@ -1369,6 +1373,7 @@ int ttm_bo_device_init(struct ttm_bo_device *bdev,
INIT_LIST_HEAD ( & bdev - > ddestroy ) ;
INIT_LIST_HEAD ( & bdev - > swap_lru ) ;
bdev - > dev_mapping = NULL ;
bdev - > need_dma32 = need_dma32 ;
ttm_mem_init_shrink ( & bdev - > shrink , ttm_bo_swapout ) ;
ret = ttm_mem_register_shrink ( mem_glob , & bdev - > shrink ) ;
if ( unlikely ( ret ! = 0 ) ) {