diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 20 | 
1 files changed, 13 insertions, 7 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c index cf0f186c6092..dd11b7313ca0 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c @@ -113,12 +113,17 @@ int amdgpu_gart_table_vram_alloc(struct amdgpu_device *adev)  	int r;  	if (adev->gart.robj == NULL) { -		r = amdgpu_bo_create(adev, adev->gart.table_size, PAGE_SIZE, -				     AMDGPU_GEM_DOMAIN_VRAM, -				     AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED | -				     AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS, -				     ttm_bo_type_kernel, NULL, -				     &adev->gart.robj); +		struct amdgpu_bo_param bp; + +		memset(&bp, 0, sizeof(bp)); +		bp.size = adev->gart.table_size; +		bp.byte_align = PAGE_SIZE; +		bp.domain = AMDGPU_GEM_DOMAIN_VRAM; +		bp.flags = AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED | +			AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS; +		bp.type = ttm_bo_type_kernel; +		bp.resv = NULL; +		r = amdgpu_bo_create(adev, &bp, &adev->gart.robj);  		if (r) {  			return r;  		} @@ -364,7 +369,8 @@ int amdgpu_gart_init(struct amdgpu_device *adev)  #ifdef CONFIG_DRM_AMDGPU_GART_DEBUGFS  	/* Allocate pages table */ -	adev->gart.pages = vzalloc(sizeof(void *) * adev->gart.num_cpu_pages); +	adev->gart.pages = vzalloc(array_size(sizeof(void *), +					      adev->gart.num_cpu_pages));  	if (adev->gart.pages == NULL)  		return -ENOMEM;  #endif  |