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

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

 




On 2018-05-18 04:21 AM, Michel Dänzer wrote:
> 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?
> 
Besides this question, I am also wondering how to deal with the first display buffer created in kernel at amdgpufb_create_pinned_object()?

Sam


> 


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

  Powered by Linux