[PATCH 5/5] drm/amdgpu: enable GTT PD/PT for raven v2
Alex Deucher
alexdeucher at gmail.com
Fri Aug 24 16:08:21 UTC 2018
On Fri, Aug 24, 2018 at 10:21 AM Christian König
<ckoenig.leichtzumerken at gmail.com> 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 c951ebeac5fd..c80555efbfac 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)
Maybe change this to (asic_type >= VEGA10 and flags & IS_APU) so we
get it automatically on newer APUs. Either way:
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Alex
> + 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
> --
> 2.17.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list