diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 9 | 
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index 2e8f6cd7a729..919bbea2e3ac 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c @@ -542,6 +542,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev,  		/* GWS and OA don't need any alignment. */  		page_align = bp->byte_align;  		size <<= PAGE_SHIFT; +  	} else if (bp->domain & AMDGPU_GEM_DOMAIN_GDS) {  		/* Both size and alignment must be a multiple of 4. */  		page_align = ALIGN(bp->byte_align, 4); @@ -580,11 +581,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev,  		bo->flags |= AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE;  	bo->tbo.bdev = &adev->mman.bdev; -	if (bp->domain & (AMDGPU_GEM_DOMAIN_GWS | AMDGPU_GEM_DOMAIN_OA | -			  AMDGPU_GEM_DOMAIN_GDS)) -		amdgpu_bo_placement_from_domain(bo, AMDGPU_GEM_DOMAIN_CPU); -	else -		amdgpu_bo_placement_from_domain(bo, bp->domain); +	amdgpu_bo_placement_from_domain(bo, bp->domain);  	if (bp->type == ttm_bo_type_kernel)  		bo->tbo.priority = 1; @@ -776,7 +773,7 @@ int amdgpu_bo_kmap(struct amdgpu_bo *bo, void **ptr)  		return 0;  	} -	r = ttm_bo_kmap(&bo->tbo, 0, bo->tbo.resource->num_pages, &bo->kmap); +	r = ttm_bo_kmap(&bo->tbo, 0, PFN_UP(bo->tbo.base.size), &bo->kmap);  	if (r)  		return r;  |