drm/amdgpu: add shadow flag V2
authorChunming Zhou <David1.Zhou@amd.com>
Thu, 4 Aug 2016 07:47:50 +0000 (15:47 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 16 Aug 2016 14:43:14 +0000 (10:43 -0400)
Indicate if need to sync between bo and shadow, where sync to where.
V2:
Rename to backup_shadow

Signed-off-by: Chunming Zhou <David1.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h

index 26f6028bb72b2e6927b5ec1724aaddddf2793464..d18ae01bd339eacd0021a8c963e3b173293a7042 100644 (file)
@@ -480,6 +480,12 @@ struct amdgpu_bo_va {
 
 #define AMDGPU_GEM_DOMAIN_MAX          0x3
 
+enum amdgpu_bo_shadow {
+       AMDGPU_BO_SHADOW_TO_NONE = 0,
+       AMDGPU_BO_SHADOW_TO_PARENT,
+       AMDGPU_BO_SHADOW_TO_SHADOW,
+};
+
 struct amdgpu_bo {
        /* Protected by gem.mutex */
        struct list_head                list;
@@ -506,6 +512,8 @@ struct amdgpu_bo {
        struct drm_gem_object           gem_base;
        struct amdgpu_bo                *parent;
        struct amdgpu_bo                *shadow;
+       /* indicate if need to sync between bo and shadow */
+       enum amdgpu_bo_shadow           backup_shadow;
 
        struct ttm_bo_kmap_obj          dma_buf_vmap;
        struct amdgpu_mn                *mn;