diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h | 11 | 
1 files changed, 11 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h index 0ae0a2715b0d..ca17ffb01301 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h @@ -76,11 +76,15 @@ struct kiq_pm4_funcs {  					struct amdgpu_ring *ring,  					u64 addr,  					u64 seq); +	void (*kiq_invalidate_tlbs)(struct amdgpu_ring *kiq_ring, +				uint16_t pasid, uint32_t flush_type, +				bool all_hub);  	/* Packet sizes */  	int set_resources_size;  	int map_queues_size;  	int unmap_queues_size;  	int query_status_size; +	int invalidate_tlbs_size;  };  struct amdgpu_kiq { @@ -90,6 +94,7 @@ struct amdgpu_kiq {  	struct amdgpu_ring	ring;  	struct amdgpu_irq_src	irq;  	const struct kiq_pm4_funcs *pmf; +	uint32_t			reg_val_offs;  };  /* @@ -269,8 +274,12 @@ struct amdgpu_gfx {  	bool				me_fw_write_wait;  	bool				cp_fw_write_wait;  	struct amdgpu_ring		gfx_ring[AMDGPU_MAX_GFX_RINGS]; +	struct drm_gpu_scheduler	*gfx_sched[AMDGPU_MAX_GFX_RINGS]; +	uint32_t			num_gfx_sched;  	unsigned			num_gfx_rings;  	struct amdgpu_ring		compute_ring[AMDGPU_MAX_COMPUTE_RINGS]; +	struct drm_gpu_scheduler	*compute_sched[AMDGPU_MAX_COMPUTE_RINGS]; +	uint32_t			num_compute_sched;  	unsigned			num_compute_rings;  	struct amdgpu_irq_src		eop_irq;  	struct amdgpu_irq_src		priv_reg_irq; @@ -367,4 +376,6 @@ int amdgpu_gfx_process_ras_data_cb(struct amdgpu_device *adev,  int amdgpu_gfx_cp_ecc_error_irq(struct amdgpu_device *adev,  				  struct amdgpu_irq_src *source,  				  struct amdgpu_iv_entry *entry); +uint32_t amdgpu_kiq_rreg(struct amdgpu_device *adev, uint32_t reg); +void amdgpu_kiq_wreg(struct amdgpu_device *adev, uint32_t reg, uint32_t v);  #endif |