diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h | 20 | 
1 files changed, 16 insertions, 4 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h index 23a696d38390..832b3807f1d6 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h @@ -304,6 +304,10 @@ struct amdgpu_gfx {  	uint32_t			rlc_srlg_feature_version;  	uint32_t			rlc_srls_fw_version;  	uint32_t			rlc_srls_feature_version; +	uint32_t			rlcp_ucode_version; +	uint32_t			rlcp_ucode_feature_version; +	uint32_t			rlcv_ucode_version; +	uint32_t			rlcv_ucode_feature_version;  	uint32_t			mec_feature_version;  	uint32_t			mec2_feature_version;  	bool				mec_fw_write_wait; @@ -332,10 +336,12 @@ struct amdgpu_gfx {  	uint32_t                        srbm_soft_reset;  	/* gfx off */ -	bool                            gfx_off_state; /* true: enabled, false: disabled */ -	struct mutex                    gfx_off_mutex; -	uint32_t                        gfx_off_req_count; /* default 1, enable gfx off: dec 1, disable gfx off: add 1 */ -	struct delayed_work             gfx_off_delay_work; +	bool                            gfx_off_state;      /* true: enabled, false: disabled */ +	struct mutex                    gfx_off_mutex;      /* mutex to change gfxoff state */ +	uint32_t                        gfx_off_req_count;  /* default 1, enable gfx off: dec 1, disable gfx off: add 1 */ +	struct delayed_work             gfx_off_delay_work; /* async work to set gfx block off */ +	uint32_t                        gfx_off_residency;  /* last logged residency */ +	uint64_t                        gfx_off_entrycount; /* count of times GPU has get into GFXOFF state */  	/* pipe reservation */  	struct mutex			pipe_reserve_mutex; @@ -407,6 +413,10 @@ bool amdgpu_gfx_is_me_queue_enabled(struct amdgpu_device *adev, int me,  void amdgpu_gfx_off_ctrl(struct amdgpu_device *adev, bool enable);  int amdgpu_get_gfx_off_status(struct amdgpu_device *adev, uint32_t *value);  int amdgpu_gfx_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block); +void amdgpu_gfx_ras_fini(struct amdgpu_device *adev); +int amdgpu_get_gfx_off_entrycount(struct amdgpu_device *adev, u64 *value); +int amdgpu_get_gfx_off_residency(struct amdgpu_device *adev, u32 *residency); +int amdgpu_set_gfx_off_residency(struct amdgpu_device *adev, bool value);  int amdgpu_gfx_process_ras_data_cb(struct amdgpu_device *adev,  		void *err_data,  		struct amdgpu_iv_entry *entry); @@ -416,4 +426,6 @@ int amdgpu_gfx_cp_ecc_error_irq(struct amdgpu_device *adev,  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);  int amdgpu_gfx_get_num_kcq(struct amdgpu_device *adev); +void amdgpu_gfx_cp_init_microcode(struct amdgpu_device *adev, uint32_t ucode_id); +  #endif | 
