diff options
| author | Mark Brown <broonie@kernel.org> | 2016-11-04 21:16:38 +0300 | 
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2016-11-04 21:16:38 +0300 | 
| commit | cc9b94029e9ef51787af908e9856b1eed314bc00 (patch) | |
| tree | 9675310b89d0f6fb1f7bd9423f0638c4ee5226fd /drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | |
| parent | 13bed58ce8748d430a26e353a09b89f9d613a71f (diff) | |
| parent | 1b5b42216469b05ef4b5916cb40b127dfab1da88 (diff) | |
| download | linux-cc9b94029e9ef51787af908e9856b1eed314bc00.tar.xz | |
Merge branch 'topic/error' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-fixed
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.h')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 36 | 
1 files changed, 21 insertions, 15 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h index bdb01d932548..8255034d73eb 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h @@ -31,6 +31,8 @@  #include <drm/amdgpu_drm.h>  #include "amdgpu.h" +#define AMDGPU_BO_INVALID_OFFSET	LONG_MAX +  /**   * amdgpu_mem_type_to_domain - return domain corresponding to mem_type   * @mem_type:	ttm memory type @@ -85,21 +87,6 @@ static inline void amdgpu_bo_unreserve(struct amdgpu_bo *bo)  	ttm_bo_unreserve(&bo->tbo);  } -/** - * amdgpu_bo_gpu_offset - return GPU offset of bo - * @bo:	amdgpu object for which we query the offset - * - * Returns current GPU offset of the object. - * - * Note: object should either be pinned or reserved when calling this - * function, it might be useful to add check for this for debugging. - */ -static inline u64 amdgpu_bo_gpu_offset(struct amdgpu_bo *bo) -{ -	WARN_ON_ONCE(bo->tbo.mem.mem_type == TTM_PL_SYSTEM); -	return bo->tbo.offset; -} -  static inline unsigned long amdgpu_bo_size(struct amdgpu_bo *bo)  {  	return bo->tbo.num_pages << PAGE_SHIFT; @@ -139,6 +126,12 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev,  				struct ttm_placement *placement,  			        struct reservation_object *resv,  				struct amdgpu_bo **bo_ptr); +int amdgpu_bo_create_kernel(struct amdgpu_device *adev, +			    unsigned long size, int align, +			    u32 domain, struct amdgpu_bo **bo_ptr, +			    u64 *gpu_addr, void **cpu_addr); +void amdgpu_bo_free_kernel(struct amdgpu_bo **bo, u64 *gpu_addr, +			   void **cpu_addr);  int amdgpu_bo_kmap(struct amdgpu_bo *bo, void **ptr);  void amdgpu_bo_kunmap(struct amdgpu_bo *bo);  struct amdgpu_bo *amdgpu_bo_ref(struct amdgpu_bo *bo); @@ -165,6 +158,19 @@ void amdgpu_bo_move_notify(struct ttm_buffer_object *bo,  int amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo);  void amdgpu_bo_fence(struct amdgpu_bo *bo, struct fence *fence,  		     bool shared); +u64 amdgpu_bo_gpu_offset(struct amdgpu_bo *bo); +int amdgpu_bo_backup_to_shadow(struct amdgpu_device *adev, +			       struct amdgpu_ring *ring, +			       struct amdgpu_bo *bo, +			       struct reservation_object *resv, +			       struct fence **fence, bool direct); +int amdgpu_bo_restore_from_shadow(struct amdgpu_device *adev, +				  struct amdgpu_ring *ring, +				  struct amdgpu_bo *bo, +				  struct reservation_object *resv, +				  struct fence **fence, +				  bool direct); +  /*   * sub allocation  | 
