diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h | 25 | 
1 files changed, 25 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h index 7d4f93fea937..df9f0404d842 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h @@ -52,6 +52,7 @@ enum amdgpu_mes_priority_level {  #define AMDGPU_MES_PROC_CTX_SIZE 0x1000 /* one page area */  #define AMDGPU_MES_GANG_CTX_SIZE 0x1000 /* one page area */ +#define AMDGPU_MES_LOG_BUFFER_SIZE 0x4000 /* Maximu log buffer size for MES */  struct amdgpu_mes_funcs; @@ -140,6 +141,12 @@ struct amdgpu_mes {  	/* ip specific functions */  	const struct amdgpu_mes_funcs   *funcs; + +	/* mes resource_1 bo*/ +	struct amdgpu_bo    *resource_1; +	uint64_t            resource_1_gpu_addr; +	void                *resource_1_addr; +  };  struct amdgpu_mes_process { @@ -241,6 +248,15 @@ struct mes_remove_queue_input {  	uint64_t	gang_context_addr;  }; +struct mes_map_legacy_queue_input { +	uint32_t                           queue_type; +	uint32_t                           doorbell_offset; +	uint32_t                           pipe_id; +	uint32_t                           queue_id; +	uint64_t                           mqd_addr; +	uint64_t                           wptr_addr; +}; +  struct mes_unmap_legacy_queue_input {  	enum amdgpu_unmap_queues_action    action;  	uint32_t                           queue_type; @@ -317,6 +333,9 @@ struct amdgpu_mes_funcs {  	int (*remove_hw_queue)(struct amdgpu_mes *mes,  			       struct mes_remove_queue_input *input); +	int (*map_legacy_queue)(struct amdgpu_mes *mes, +				struct mes_map_legacy_queue_input *input); +  	int (*unmap_legacy_queue)(struct amdgpu_mes *mes,  				  struct mes_unmap_legacy_queue_input *input); @@ -333,6 +352,10 @@ struct amdgpu_mes_funcs {  #define amdgpu_mes_kiq_hw_init(adev) (adev)->mes.kiq_hw_init((adev))  #define amdgpu_mes_kiq_hw_fini(adev) (adev)->mes.kiq_hw_fini((adev)) +signed long amdgpu_mes_fence_wait_polling(u64 *fence, +					  u64 wait_seq, +					  signed long timeout); +  int amdgpu_mes_ctx_get_offs(struct amdgpu_ring *ring, unsigned int id_offs);  int amdgpu_mes_init_microcode(struct amdgpu_device *adev, int pipe); @@ -356,6 +379,8 @@ int amdgpu_mes_add_hw_queue(struct amdgpu_device *adev, int gang_id,  			    int *queue_id);  int amdgpu_mes_remove_hw_queue(struct amdgpu_device *adev, int queue_id); +int amdgpu_mes_map_legacy_queue(struct amdgpu_device *adev, +				struct amdgpu_ring *ring);  int amdgpu_mes_unmap_legacy_queue(struct amdgpu_device *adev,  				  struct amdgpu_ring *ring,  				  enum amdgpu_unmap_queues_action action, |