Thanks for finding this

I'll have access to my machine on Monday and will close those issues off
once I've tested things

Cheers

Mike

On Sat, 11 Jun 2022, 09:19 Christian König, <
ckoenig.leichtzumer...@gmail.com> wrote:

> Am 10.06.22 um 15:54 schrieb Michel Dänzer:
> > From: Michel Dänzer <mdaen...@redhat.com>
> >
> > The commit below changed the TTM manager size unit from pages to
> > bytes, but failed to adjust the corresponding calculations in
> > amdgpu_ioctl.
> >
> > Fixes: dfa714b88eb0 ("drm/amdgpu: remove GTT accounting v2")
> > Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1930
> > Bug: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6642
> > Signed-off-by: Michel Dänzer <mdaen...@redhat.com>
>
> Ah, WTF! You won't believe how long I have been searching for this one.
>
> Reviewed-by: Christian König <christian.koe...@amd.com>
>
> > ---
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 --
> >   1 file changed, 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> > index 801f6fa692e9..6de63ea6687e 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> > @@ -642,7 +642,6 @@ int amdgpu_info_ioctl(struct drm_device *dev, void
> *data, struct drm_file *filp)
> >                           atomic64_read(&adev->visible_pin_size),
> >                           vram_gtt.vram_size);
> >               vram_gtt.gtt_size = ttm_manager_type(&adev->mman.bdev,
> TTM_PL_TT)->size;
> > -             vram_gtt.gtt_size *= PAGE_SIZE;
> >               vram_gtt.gtt_size -= atomic64_read(&adev->gart_pin_size);
> >               return copy_to_user(out, &vram_gtt,
> >                                   min((size_t)size, sizeof(vram_gtt))) ?
> -EFAULT : 0;
> > @@ -675,7 +674,6 @@ int amdgpu_info_ioctl(struct drm_device *dev, void
> *data, struct drm_file *filp)
> >                       mem.cpu_accessible_vram.usable_heap_size * 3 / 4;
> >
> >               mem.gtt.total_heap_size = gtt_man->size;
> > -             mem.gtt.total_heap_size *= PAGE_SIZE;
> >               mem.gtt.usable_heap_size = mem.gtt.total_heap_size -
> >                       atomic64_read(&adev->gart_pin_size);
> >               mem.gtt.heap_usage = ttm_resource_manager_usage(gtt_man);
>
>

Reply via email to