[PATCH 1/6] drm/amdgpu: add AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS flag v3
Christian König
christian.koenig at amd.com
Tue Oct 11 09:35:55 UTC 2016
Am 07.10.2016 um 23:19 schrieb Felix Kuehling:
> On 16-09-27 05:49 AM, Christian König wrote:
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
>> @@ -1195,6 +1195,15 @@ int amdgpu_cs_sysvm_access_required(struct amdgpu_cs_parser *parser)
>> r = amdgpu_ttm_bind(&bo->tbo, &bo->tbo.mem);
>> if (unlikely(r))
>> return r;
>> +
>> + if (bo->flags & AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS)
>> + continue;
> Should you also continue if the BO is not VRAM?
No, the placement of the BO at this point isn't final. For older UVD
blocks this can still be shuffled around to fulfill the placement
restrictions.
So the BO could still move into VRAM even after this.
Regards,
Christian.
>
> Regards,
> Felix
>
>> +
>> + bo->flags |= AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS;
>> + amdgpu_ttm_placement_from_domain(bo, bo->allowed_domains);
>> + r = ttm_bo_validate(&bo->tbo, &bo->placement, false, false);
>> + if (unlikely(r))
>> + return r;
>> }
>>
>> return 0;
More information about the amd-gfx
mailing list