[PATCH] drm/amdgpu: enable GTT PD/PT for raven v2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Acked-by: Andrey Grodzovsky <andrey.grodzovsky at amd.com>

Andrey


On 08/23/2018 08:33 AM, Christian König wrote:
> Should work on Vega10 as well, but with an obvious performance hit.
>
> Older APUs can be enabled as well, but will probably be more work.
>
> v2: fix error checking
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 13 ++++++++++++-
>   1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index 928fdae0dab4..9ec56f59b03a 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -308,6 +308,9 @@ int amdgpu_vm_validate_pt_bos(struct amdgpu_device *adev, struct amdgpu_vm *vm,
>   			list_move(&bo_base->vm_status, &vm->moved);
>   			spin_unlock(&vm->moved_lock);
>   		} else {
> +			r = amdgpu_ttm_alloc_gart(&bo->tbo);
> +			if (r)
> +				break;
>   			list_move(&bo_base->vm_status, &vm->relocated);
>   		}
>   	}
> @@ -396,6 +399,10 @@ static int amdgpu_vm_clear_bo(struct amdgpu_device *adev,
>   	if (r)
>   		goto error;
>   
> +	r = amdgpu_ttm_alloc_gart(&bo->tbo);
> +	if (r)
> +		return r;
> +
>   	r = amdgpu_job_alloc_with_ib(adev, 64, &job);
>   	if (r)
>   		goto error;
> @@ -461,7 +468,11 @@ static void amdgpu_vm_bo_param(struct amdgpu_device *adev, struct amdgpu_vm *vm,
>   	bp->size = amdgpu_vm_bo_size(adev, level);
>   	bp->byte_align = AMDGPU_GPU_PAGE_SIZE;
>   	bp->domain = AMDGPU_GEM_DOMAIN_VRAM;
> -	bp->flags = AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS;
> +	if (bp->size <= PAGE_SIZE && adev->asic_type == CHIP_RAVEN)
> +		bp->domain |= AMDGPU_GEM_DOMAIN_GTT;
> +	bp->domain = amdgpu_bo_get_preferred_pin_domain(adev, bp->domain);
> +	bp->flags = AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS |
> +		AMDGPU_GEM_CREATE_CPU_GTT_USWC;
>   	if (vm->use_cpu_for_update)
>   		bp->flags |= AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED;
>   	else



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux