[PATCH V3] drm/amdgpu: PRT support for gfx9 (v3)

Christian König deathsimple at vodafone.de
Thu Apr 20 09:16:28 UTC 2017


Am 20.04.2017 um 08:55 schrieb Junwei Zhang:
> From: "Zhang, Jerry" <Jerry.Zhang at amd.com>
>
> v2: unify PRT bit for all ASICs
> v3: move PRT flag checking in amdgpu_vm_bo_split_mapping()
>
> Signed-off-by: Junwei Zhang <Jerry.Zhang at amd.com>
> Acked-by: David Zhou <david1.zhou at amd.com>

Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 6 ++++++
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 3 ++-
>   2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index 30754ef..d363a9e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -1143,6 +1143,12 @@ static int amdgpu_vm_bo_split_mapping(struct amdgpu_device *adev,
>   	flags &= ~AMDGPU_PTE_MTYPE_MASK;
>   	flags |= (mapping->flags & AMDGPU_PTE_MTYPE_MASK);
>   
> +	if ((mapping->flags & AMDGPU_PTE_PRT) &&
> +	    (adev->asic_type >= CHIP_VEGA10)) {
> +		flags |= AMDGPU_PTE_PRT;
> +		flags &= ~AMDGPU_PTE_VALID;
> +	}
> +
>   	trace_amdgpu_vm_bo_update(mapping);
>   
>   	pfn = mapping->offset >> PAGE_SHIFT;
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
> index 4904740..6c670d5 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
> @@ -65,7 +65,8 @@
>   
>   #define AMDGPU_PTE_FRAG(x)	((x & 0x1fULL) << 7)
>   
> -#define AMDGPU_PTE_PRT		(1ULL << 63)
> +/* TILED for VEGA10, reserved for older ASICs  */
> +#define AMDGPU_PTE_PRT		(1ULL << 51)
>   
>   /* VEGA10 only */
>   #define AMDGPU_PTE_MTYPE(a)    ((uint64_t)a << 57)




More information about the amd-gfx mailing list