[PATCH v2 00/18] drm/ttm: make ttm bo a gem bo subclass

Daniel Vetter daniel at ffwll.ch
Thu Jun 27 07:32:39 UTC 2019


On Fri, Jun 21, 2019 at 01:57:37PM +0200, Gerd Hoffmann wrote:
> v2:
>  - build fixes.
>  - also drop ttm_buffer_object->resv
> 
> Gerd Hoffmann (18):
>   drm/ttm: add gem base object
>   drm/vram: use embedded gem object
>   drm/qxl: use embedded gem object
>   drm/radeon: use embedded gem object
>   drm/amdgpu: use embedded gem object
>   drm/nouveau: use embedded gem object
>   drm/ttm: use gem reservation object
>   drm/ttm: use gem vma_node
>   drm/vram: drop drm_gem_vram_driver_gem_prime_mmap
>   drm/ttm: set both resv and base.resv pointers
>   drm/ttm: switch ttm core from bo->resv to bo->base.resv
>   drm/radeon: switch driver from bo->resv to bo->base.resv
>   drm/vmwgfx: switch driver from bo->resv to bo->base.resv
>   drm/amdgpu: switch driver from bo->resv to bo->base.resv
>   drm/nouveau: switch driver from bo->resv to bo->base.resv
>   drm/qxl: switch driver from bo->resv to bo->base.resv
>   drm/virtio: switch driver from bo->resv to bo->base.resv
>   drm/ttm: drop ttm_buffer_object->resv

Imo get maybe another ttm+gem stakeholder to review this (Thomas for vram
helpers or Ben for nouveau) and then this can land. I think Thomas
Hellstrom tuned down his categorical "nak" to "we'll see where this goes,
I might need to jump in and help course-correct".

btw I also resubmitted my prime resv_obj cleanup series:

https://patchwork.freedesktop.org/series/62735/

I think the only conflicts with your series here is that the setting of
gem_bo.resv that I add in radeon/amdgpu/nouveau can be removed again when
your stuff lands.
-Daniel

> 
>  drivers/gpu/drm/amd/amdgpu/amdgpu_gem.h       |   2 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_object.h    |   3 +-
>  drivers/gpu/drm/nouveau/nouveau_bo.h          |   5 -
>  drivers/gpu/drm/nouveau/nouveau_gem.h         |   2 +-
>  drivers/gpu/drm/qxl/qxl_drv.h                 |   6 +-
>  drivers/gpu/drm/qxl/qxl_object.h              |   6 +-
>  drivers/gpu/drm/radeon/radeon.h               |   3 +-
>  drivers/gpu/drm/radeon/radeon_object.h        |   2 +-
>  drivers/gpu/drm/virtio/virtgpu_drv.h          |   2 +-
>  include/drm/drm_gem_vram_helper.h             |   7 +-
>  include/drm/ttm/ttm_bo_api.h                  |  25 +++-
>  include/drm/ttm/ttm_bo_driver.h               |  12 +-
>  .../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c  |   6 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c        |   6 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_display.c   |   2 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c   |   6 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c       |  14 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c       |   2 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c        |   2 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_object.c    |  28 ++--
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c       |   8 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c       |   4 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c        |  30 ++--
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c   |   2 +-
>  .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |   2 +-
>  drivers/gpu/drm/ast/ast_main.c                |   2 +-
>  drivers/gpu/drm/drm_gem_vram_helper.c         |  36 ++---
>  drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c   |   2 +-
>  drivers/gpu/drm/mgag200/mgag200_main.c        |   2 +-
>  drivers/gpu/drm/nouveau/dispnv50/wndw.c       |   2 +-
>  drivers/gpu/drm/nouveau/nouveau_abi16.c       |   4 +-
>  drivers/gpu/drm/nouveau/nouveau_bo.c          |   8 +-
>  drivers/gpu/drm/nouveau/nouveau_display.c     |  10 +-
>  drivers/gpu/drm/nouveau/nouveau_fence.c       |   2 +-
>  drivers/gpu/drm/nouveau/nouveau_gem.c         |  19 +--
>  drivers/gpu/drm/nouveau/nouveau_prime.c       |   6 +-
>  drivers/gpu/drm/qxl/qxl_cmd.c                 |   4 +-
>  drivers/gpu/drm/qxl/qxl_debugfs.c             |   4 +-
>  drivers/gpu/drm/qxl/qxl_display.c             |   8 +-
>  drivers/gpu/drm/qxl/qxl_gem.c                 |   2 +-
>  drivers/gpu/drm/qxl/qxl_object.c              |  20 +--
>  drivers/gpu/drm/qxl/qxl_release.c             |   8 +-
>  drivers/gpu/drm/qxl/qxl_ttm.c                 |   4 +-
>  drivers/gpu/drm/radeon/radeon_benchmark.c     |   4 +-
>  drivers/gpu/drm/radeon/radeon_cs.c            |   4 +-
>  drivers/gpu/drm/radeon/radeon_display.c       |   6 +-
>  drivers/gpu/drm/radeon/radeon_gem.c           |   8 +-
>  drivers/gpu/drm/radeon/radeon_mn.c            |   2 +-
>  drivers/gpu/drm/radeon/radeon_object.c        |  22 +--
>  drivers/gpu/drm/radeon/radeon_prime.c         |   4 +-
>  drivers/gpu/drm/radeon/radeon_test.c          |   8 +-
>  drivers/gpu/drm/radeon/radeon_ttm.c           |   4 +-
>  drivers/gpu/drm/radeon/radeon_uvd.c           |   2 +-
>  drivers/gpu/drm/radeon/radeon_vm.c            |   6 +-
>  drivers/gpu/drm/ttm/ttm_bo.c                  | 136 +++++++++---------
>  drivers/gpu/drm/ttm/ttm_bo_util.c             |  18 +--
>  drivers/gpu/drm/ttm/ttm_bo_vm.c               |  15 +-
>  drivers/gpu/drm/ttm/ttm_execbuf_util.c        |  20 +--
>  drivers/gpu/drm/ttm/ttm_tt.c                  |   2 +-
>  drivers/gpu/drm/vboxvideo/vbox_main.c         |   2 +-
>  drivers/gpu/drm/virtio/virtgpu_ioctl.c        |   4 +-
>  drivers/gpu/drm/virtio/virtgpu_plane.c        |   2 +-
>  drivers/gpu/drm/virtio/virtgpu_prime.c        |   3 -
>  drivers/gpu/drm/vmwgfx/vmwgfx_blit.c          |   4 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_bo.c            |  12 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c       |   4 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_resource.c      |   6 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_surface.c       |   4 +-
>  68 files changed, 311 insertions(+), 321 deletions(-)
> 
> -- 
> 2.18.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list