gart table is stored in one bo which must be ready before gart init, but the 
shadow bo must be created after gart is ready, so they cannot be created at a 
same time. shado bo itself aslo is included in gart table, So shadow bo needs a 
synchronization after device init. After sync, the contents of bo and shadwo bo 
will be same, and be updated at a same time. Then we will be able to recover 
gart table from shadow bo when gpu full reset.

patch10 is a fix for memory leak.

Chunming Zhou (10):
  drm/amdgpu: make need_backup generic
  drm/amdgpu: implement gart late_init/fini
  drm/amdgpu: add gart_late_init/fini to gmc V7/8
  drm/amdgpu: abstract amdgpu_bo_create_shadow
  drm/amdgpu: shadow gart table support
  drm/amdgpu: make recover_bo_from_shadow be generic
  drm/amdgpu: implement gart recovery
  drm/amdgpu: recover gart table first when full reset
  drm/amdgpu: sync gart table before initialization completed
  drm/amdgpu: fix memory leak of sched fence

 drivers/gpu/drm/amd/amdgpu/amdgpu.h        |   9 ++
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c |   2 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c   | 139 +++++++++++++++++++++++++++++
 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c    |   2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c |  80 ++++++++++++++---
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h |   9 ++
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c     |  50 ++---------
 drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c      |  39 +++++++-
 drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c      |  40 ++++++++-
 9 files changed, 304 insertions(+), 66 deletions(-)

-- 
1.9.1

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to