> -----Original Message-----
> From: amd-gfx [mailto:[email protected]] On Behalf
> Of Christian König
> Sent: Thursday, July 27, 2017 11:44 AM
> To: [email protected]
> Subject: [PATCH 3/8] drm/amdgpu: move some defines around
> 
> From: Christian König <[email protected]>
> 
> 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 <[email protected]>

Reviewed-by: Alex Deucher <[email protected]>

> ---
>  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
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to