[PATCH] drm/amdgpu: fix gtt_mgr bo's offset

Christian König deathsimple at vodafone.de
Tue Sep 20 11:40:55 UTC 2016


Am 20.09.2016 um 13:16 schrieb Flora Cui:
> Does this change make sense?

Yes, exactly. Patch is Reviewed-by: Christian König 
<christian.koenig at amd.com>.

But please be aware that there is at least one other bug I'm currently 
investigating.

Regards,
Christian.

>
> On Tue, Sep 20, 2016 at 01:02:20PM +0200, Christian König wrote:
>> 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
>>
>> _______________________________________________
>> 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