diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 18 | 
1 files changed, 12 insertions, 6 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h index cb50ba445f8c..46a5328e00e0 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h @@ -37,7 +37,7 @@  #define PSP_XGMI_SHARED_MEM_SIZE 0x4000  #define PSP_RAS_SHARED_MEM_SIZE 0x4000  #define PSP_1_MEG		0x100000 -#define PSP_TMR_SIZE	0x400000 +#define PSP_TMR_SIZE(adev)	((adev)->asic_type == CHIP_ALDEBARAN ? 0x800000 : 0x400000)  #define PSP_HDCP_SHARED_MEM_SIZE	0x4000  #define PSP_DTM_SHARED_MEM_SIZE	0x4000  #define PSP_RAP_SHARED_MEM_SIZE	0x4000 @@ -248,11 +248,13 @@ struct psp_context  	uint32_t			toc_bin_size;  	uint32_t			kdb_bin_size;  	uint32_t			spl_bin_size; +	uint32_t			rl_bin_size;  	uint8_t				*sys_start_addr;  	uint8_t				*sos_start_addr;  	uint8_t				*toc_start_addr;  	uint8_t				*kdb_start_addr;  	uint8_t				*spl_start_addr; +	uint8_t				*rl_start_addr;  	/* tmr buffer */  	struct amdgpu_bo		*tmr_bo; @@ -365,11 +367,13 @@ struct amdgpu_psp_funcs {  extern const struct amd_ip_funcs psp_ip_funcs;  extern const struct amdgpu_ip_block_version psp_v3_1_ip_block; -extern int psp_wait_for(struct psp_context *psp, uint32_t reg_index, -			uint32_t field_val, uint32_t mask, bool check_changed); -  extern const struct amdgpu_ip_block_version psp_v10_0_ip_block; +extern const struct amdgpu_ip_block_version psp_v11_0_ip_block;  extern const struct amdgpu_ip_block_version psp_v12_0_ip_block; +extern const struct amdgpu_ip_block_version psp_v13_0_ip_block; + +extern int psp_wait_for(struct psp_context *psp, uint32_t reg_index, +			uint32_t field_val, uint32_t mask, bool check_changed);  int psp_gpu_reset(struct amdgpu_device *adev);  int psp_update_vcn_sram(struct amdgpu_device *adev, int inst_idx, @@ -395,12 +399,11 @@ int psp_ras_trigger_error(struct psp_context *psp,  int psp_hdcp_invoke(struct psp_context *psp, uint32_t ta_cmd_id);  int psp_dtm_invoke(struct psp_context *psp, uint32_t ta_cmd_id); -int psp_rap_invoke(struct psp_context *psp, uint32_t ta_cmd_id); +int psp_rap_invoke(struct psp_context *psp, uint32_t ta_cmd_id, enum ta_rap_status *status);  int psp_securedisplay_invoke(struct psp_context *psp, uint32_t ta_cmd_id);  int psp_rlc_autoload_start(struct psp_context *psp); -extern const struct amdgpu_ip_block_version psp_v11_0_ip_block;  int psp_reg_program(struct psp_context *psp, enum psp_reg_prog_id reg,  		uint32_t value);  int psp_ring_cmd_submit(struct psp_context *psp, @@ -417,4 +420,7 @@ int psp_init_ta_microcode(struct psp_context *psp,  			  const char *chip_name);  int psp_get_fw_attestation_records_addr(struct psp_context *psp,  					uint64_t *output_ptr); + +int psp_load_fw_list(struct psp_context *psp, +		     struct amdgpu_firmware_info **ucode_list, int ucode_count);  #endif | 
