@@ -395,11 +395,11 @@ static int amdgpu_vram_mgr_new(struct ttm_resource_manager *man,
395395 unsigned long pages_per_block ;
396396 int r ;
397397
398- lpfn = place -> lpfn << PAGE_SHIFT ;
398+ lpfn = ( u64 ) place -> lpfn << PAGE_SHIFT ;
399399 if (!lpfn )
400400 lpfn = man -> size ;
401401
402- fpfn = place -> fpfn << PAGE_SHIFT ;
402+ fpfn = ( u64 ) place -> fpfn << PAGE_SHIFT ;
403403
404404 max_bytes = adev -> gmc .mc_vram_size ;
405405 if (tbo -> type != ttm_bo_type_kernel )
@@ -439,12 +439,12 @@ static int amdgpu_vram_mgr_new(struct ttm_resource_manager *man,
439439 /* Allocate blocks in desired range */
440440 vres -> flags |= DRM_BUDDY_RANGE_ALLOCATION ;
441441
442- remaining_size = vres -> base .num_pages << PAGE_SHIFT ;
442+ remaining_size = ( u64 ) vres -> base .num_pages << PAGE_SHIFT ;
443443
444444 mutex_lock (& mgr -> lock );
445445 while (remaining_size ) {
446446 if (tbo -> page_alignment )
447- min_block_size = tbo -> page_alignment << PAGE_SHIFT ;
447+ min_block_size = ( u64 ) tbo -> page_alignment << PAGE_SHIFT ;
448448 else
449449 min_block_size = mgr -> default_page_size ;
450450
@@ -453,12 +453,12 @@ static int amdgpu_vram_mgr_new(struct ttm_resource_manager *man,
453453 /* Limit maximum size to 2GiB due to SG table limitations */
454454 size = min (remaining_size , 2ULL << 30 );
455455
456- if (size >= pages_per_block << PAGE_SHIFT )
457- min_block_size = pages_per_block << PAGE_SHIFT ;
456+ if (size >= ( u64 ) pages_per_block << PAGE_SHIFT )
457+ min_block_size = ( u64 ) pages_per_block << PAGE_SHIFT ;
458458
459459 cur_size = size ;
460460
461- if (fpfn + size != place -> lpfn << PAGE_SHIFT ) {
461+ if (fpfn + size != ( u64 ) place -> lpfn << PAGE_SHIFT ) {
462462 /*
463463 * Except for actual range allocation, modify the size and
464464 * min_block_size conforming to continuous flag enablement
@@ -498,7 +498,7 @@ static int amdgpu_vram_mgr_new(struct ttm_resource_manager *man,
498498 LIST_HEAD (temp );
499499
500500 trim_list = & vres -> blocks ;
501- original_size = vres -> base .num_pages << PAGE_SHIFT ;
501+ original_size = ( u64 ) vres -> base .num_pages << PAGE_SHIFT ;
502502
503503 /*
504504 * If size value is rounded up to min_block_size, trim the last
0 commit comments