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) >