[PATCH 3/8] drm/amdgpu: move some defines around
Deucher, Alexander
Alexander.Deucher at amd.com
Thu Jul 27 17:37:22 UTC 2017
> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf
> Of Christian König
> Sent: Thursday, July 27, 2017 11:44 AM
> To: amd-gfx at lists.freedesktop.org
> Subject: [PATCH 3/8] drm/amdgpu: move some defines around
>
> From: Christian König <christian.koenig at amd.com>
>
> Move amdgpu_bo and related structures into amdgpu_object.h.
>
> Move amdgpu_bo_list structures to the amdgpu_bo_list functions.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu.h | 77 ++++-------------------------
> -
> drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 58
> ++++++++++++++++++++++
> 2 files changed, 67 insertions(+), 68 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> index c539bdd..3c59d7b 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> @@ -375,77 +375,10 @@ struct amdgpu_clock {
> };
>
> /*
> - * BO.
> + * GEM.
> */
> -struct amdgpu_bo_list_entry {
> - struct amdgpu_bo *robj;
> - struct ttm_validate_buffer tv;
> - struct amdgpu_bo_va *bo_va;
> - uint32_t priority;
> - struct page **user_pages;
> - int user_invalidated;
> -};
> -
> -struct amdgpu_bo_va_mapping {
> - struct list_head list;
> - struct rb_node rb;
> - uint64_t start;
> - uint64_t last;
> - uint64_t __subtree_last;
> - uint64_t offset;
> - uint64_t flags;
> -};
> -
> -/* bo virtual addresses in a specific vm */
> -struct amdgpu_bo_va {
> - /* protected by bo being reserved */
> - struct list_head bo_list;
> - struct dma_fence *last_pt_update;
> - unsigned ref_count;
> -
> - /* protected by vm mutex and spinlock */
> - struct list_head vm_status;
> -
> - /* mappings for this bo_va */
> - struct list_head invalids;
> - struct list_head valids;
> -
> - /* constant after initialization */
> - struct amdgpu_vm *vm;
> - struct amdgpu_bo *bo;
> -};
>
> #define AMDGPU_GEM_DOMAIN_MAX 0x3
> -
> -struct amdgpu_bo {
> - /* Protected by tbo.reserved */
> - u32 prefered_domains;
> - u32 allowed_domains;
> - struct ttm_place
> placements[AMDGPU_GEM_DOMAIN_MAX + 1];
> - struct ttm_placement placement;
> - struct ttm_buffer_object tbo;
> - struct ttm_bo_kmap_obj kmap;
> - u64 flags;
> - unsigned pin_count;
> - u64 tiling_flags;
> - u64 metadata_flags;
> - void *metadata;
> - u32 metadata_size;
> - unsigned prime_shared_count;
> - /* list of all virtual address to which this bo
> - * is associated to
> - */
> - struct list_head va;
> - /* Constant after initialization */
> - struct drm_gem_object gem_base;
> - struct amdgpu_bo *parent;
> - struct amdgpu_bo *shadow;
> -
> - struct ttm_bo_kmap_obj dma_buf_vmap;
> - struct amdgpu_mn *mn;
> - struct list_head mn_list;
> - struct list_head shadow_list;
> -};
> #define gem_to_amdgpu_bo(gobj) container_of((gobj), struct amdgpu_bo,
> gem_base)
>
> void amdgpu_gem_object_free(struct drm_gem_object *obj);
> @@ -826,6 +759,14 @@ struct amdgpu_fpriv {
> /*
> * residency list
> */
> +struct amdgpu_bo_list_entry {
> + struct amdgpu_bo *robj;
> + struct ttm_validate_buffer tv;
> + struct amdgpu_bo_va *bo_va;
> + uint32_t priority;
> + struct page **user_pages;
> + int user_invalidated;
> +};
>
> struct amdgpu_bo_list {
> struct mutex lock;
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
> index f53d53d..a401fe3 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
> @@ -33,6 +33,64 @@
>
> #define AMDGPU_BO_INVALID_OFFSET LONG_MAX
>
> +struct amdgpu_bo_va_mapping {
> + struct list_head list;
> + struct rb_node rb;
> + uint64_t start;
> + uint64_t last;
> + uint64_t __subtree_last;
> + uint64_t offset;
> + uint64_t flags;
> +};
> +
> +/* bo virtual addresses in a specific vm */
> +struct amdgpu_bo_va {
> + /* protected by bo being reserved */
> + struct list_head bo_list;
> + struct dma_fence *last_pt_update;
> + unsigned ref_count;
> +
> + /* protected by vm mutex and spinlock */
> + struct list_head vm_status;
> +
> + /* mappings for this bo_va */
> + struct list_head invalids;
> + struct list_head valids;
> +
> + /* constant after initialization */
> + struct amdgpu_vm *vm;
> + struct amdgpu_bo *bo;
> +};
> +
> +
> +struct amdgpu_bo {
> + /* Protected by tbo.reserved */
> + u32 prefered_domains;
> + u32 allowed_domains;
> + struct ttm_place
> placements[AMDGPU_GEM_DOMAIN_MAX + 1];
> + struct ttm_placement placement;
> + struct ttm_buffer_object tbo;
> + struct ttm_bo_kmap_obj kmap;
> + u64 flags;
> + unsigned pin_count;
> + u64 tiling_flags;
> + u64 metadata_flags;
> + void *metadata;
> + u32 metadata_size;
> + unsigned prime_shared_count;
> + /* list of all virtual address to which this bo is associated to */
> + struct list_head va;
> + /* Constant after initialization */
> + struct drm_gem_object gem_base;
> + struct amdgpu_bo *parent;
> + struct amdgpu_bo *shadow;
> +
> + struct ttm_bo_kmap_obj dma_buf_vmap;
> + struct amdgpu_mn *mn;
> + struct list_head mn_list;
> + struct list_head shadow_list;
> +};
> +
> /**
> * amdgpu_mem_type_to_domain - return domain corresponding to
> mem_type
> * @mem_type: ttm memory type
> --
> 2.7.4
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list