diff --git a/sys/dev/drm/radeon/r600_dma.c b/sys/dev/drm/radeon/r600_dma.c --- a/sys/dev/drm/radeon/r600_dma.c +++ b/sys/dev/drm/radeon/r600_dma.c @@ -454,7 +454,7 @@ radeon_sync_create(&sync); - size_in_dw = (num_gpu_pages << RADEON_GPU_PAGE_SHIFT) / 4; + size_in_dw = ((u64)num_gpu_pages << RADEON_GPU_PAGE_SHIFT) / 4; num_loops = DIV_ROUND_UP(size_in_dw, 0xFFFE); r = radeon_ring_lock(rdev, ring, num_loops * 4 + 8); if (r) {