[PATCH] drm/amdgpu: refuse to reserve io mem for split VRAM buffers
Christian König
deathsimple at vodafone.de
Mon Feb 20 17:29:09 UTC 2017
Sorry, patch is Reviewed-by: Christian König <christian.koenig at amd.com>.
Christian.
Am 20.02.2017 um 18:23 schrieb Nicolai Hähnle:
> Ping? People seem to agree, but I haven't seen an explicit R-b...
>
> On 16.02.2017 23:55, Nicolai Hähnle wrote:
>> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
>>
>> When the fast blit path fails while attempting to move a buffer from RAM
>> to VRAM, we fall back to a CPU-based memcpy that cannot handle split
>> VRAM
>> buffers. Instead of crashing, simply fail the buffer move.
>>
>> Ideally, we would teach TTM about split buffers so that the fallback
>> still
>> works in this case, but that is quite involved. So for now, apply the
>> simplest possible fix.
>>
>> Fixes: 40361bb1704b ("drm/amdgpu: add VRAM manager v2")
>> Signed-off-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
>> --
>> I ran into this bug during testing. Unfortunately it does not fix the
>> memory corruption bug that I mentioned elsewhere... oh well.
>> ---
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
>> index 8d6a68f..f8b578d 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
>> @@ -529,6 +529,9 @@ static int amdgpu_ttm_io_mem_reserve(struct
>> ttm_bo_device *bdev, struct ttm_mem_
>> case TTM_PL_TT:
>> break;
>> case TTM_PL_VRAM:
>> + if (mem->start == AMDGPU_BO_INVALID_OFFSET)
>> + return -EINVAL;
>> +
>> mem->bus.offset = mem->start << PAGE_SHIFT;
>> /* check if it's visible */
>> if ((mem->bus.offset + mem->bus.size) >
>> adev->mc.visible_vram_size)
>>
>
> _______________________________________________
> 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