[PATCH] drm/amdgpu: fix gtt_mgr bo's offset
Christian König
deathsimple at vodafone.de
Tue Sep 20 11:02:20 UTC 2016
Am 20.09.2016 um 12:41 schrieb Flora Cui:
> On Tue, Sep 20, 2016 at 06:19:33PM +0800, zhoucm1 wrote:
>>
>> On 2016年09月20日 17:09, Flora Cui wrote:
>>> Change-Id: I89e9be3d5c96d46655f3a977fb557b20b4d87609
>>> Signed-off-by: Flora Cui <Flora.Cui at amd.com>
>>> ---
>>> drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
>>> index 262e872..b266cf7 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
>>> @@ -128,8 +128,8 @@ int amdgpu_gtt_mgr_alloc(struct ttm_mem_type_manager *man,
>>> if (!r) {
>>> mem->start = node->start;
>>> - tbo->offset = (tbo->mem.start << PAGE_SHIFT) +
>>> - tbo->bdev->man[tbo->mem.mem_type].gpu_offset;
>>> + tbo->offset = (mem->start << PAGE_SHIFT) +
>>> + tbo->bdev->man[mem->mem_type].gpu_offset;
>> mem->mem_type seems not set yet as well if I am correct.
>> IIRC, I feel it's better that tbo->offset is set out of this function after
>> get_node successfully.
>>
> how about change to tbo->bdev->man[TTM_PL_TT].gpu_offset? since
> gtt_mgr is for GTT only.
Not 100% correct either.
The problem is that sometimes a GTT MM node will be bound for a BO which
is still in VRAM (e.g. on eviction for example).
So you need to check if (&tbo->mem == mem) and only then update the
tbo's offset.
Regards,
Christian.
>
>> Regards,
>> David Zhou
>>
>>> }
>>> return r;
> _______________________________________________
> 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