[PATCH] drm/amdgpu: consider user preference when pinning for SG display

Michel Dänzer michel at daenzer.net
Fri May 18 08:21:52 UTC 2018


On 2018-05-17 06:55 PM, Alex Deucher wrote:
> If the pin domain is set to GTT | VRAM, look at the preferred domains
> for the bo and respect that if it's been set explicitly.
> 
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> index 6a9e46ae7f0a..16192f17653e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> @@ -704,9 +704,14 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain,
>  	 * See function amdgpu_display_supported_domains()
>  	 */
>  	if (domain == (AMDGPU_GEM_DOMAIN_VRAM | AMDGPU_GEM_DOMAIN_GTT)) {
> -		domain = AMDGPU_GEM_DOMAIN_VRAM;
> -		if (adev->gmc.real_vram_size <= AMDGPU_SG_THRESHOLD)
> +		if (bo->preferred_domains == AMDGPU_GEM_DOMAIN_VRAM)
> +			domain = AMDGPU_GEM_DOMAIN_VRAM; /* if user really wants vram, respect it */
> +		else if (bo->preferred_domains == AMDGPU_GEM_DOMAIN_GTT)
> +			domain = AMDGPU_GEM_DOMAIN_GTT; /* if user really wants gtt, respect it */

I'd spell VRAM and GTT in capital letters in the comments.


> +		else if (adev->gmc.real_vram_size <= AMDGPU_SG_THRESHOLD)
>  			domain = AMDGPU_GEM_DOMAIN_GTT;
> +		else
> +			domain = AMDGPU_GEM_DOMAIN_VRAM;
>  	}

Is everything in place to deal with any issues that might occur when
flipping between buffers in VRAM and GTT?


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the amd-gfx mailing list