0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #ifndef __AMDGPU_ATOMFIRMWARE_H__
0025 #define __AMDGPU_ATOMFIRMWARE_H__
0026
0027 #define get_index_into_master_table(master_table, table_name) (offsetof(struct master_table, table_name) / sizeof(uint16_t))
0028
0029 uint32_t amdgpu_atomfirmware_query_firmware_capability(struct amdgpu_device *adev);
0030 bool amdgpu_atomfirmware_gpu_virtualization_supported(struct amdgpu_device *adev);
0031 void amdgpu_atomfirmware_scratch_regs_init(struct amdgpu_device *adev);
0032 int amdgpu_atomfirmware_allocate_fb_scratch(struct amdgpu_device *adev);
0033 int amdgpu_atomfirmware_get_vram_info(struct amdgpu_device *adev,
0034 int *vram_width, int *vram_type, int *vram_vendor);
0035 int amdgpu_atomfirmware_get_clock_info(struct amdgpu_device *adev);
0036 int amdgpu_atomfirmware_get_gfx_info(struct amdgpu_device *adev);
0037 bool amdgpu_atomfirmware_mem_ecc_supported(struct amdgpu_device *adev);
0038 bool amdgpu_atomfirmware_sram_ecc_supported(struct amdgpu_device *adev);
0039 bool amdgpu_atomfirmware_ras_rom_addr(struct amdgpu_device *adev, uint8_t* i2c_address);
0040 bool amdgpu_atomfirmware_mem_training_supported(struct amdgpu_device *adev);
0041 bool amdgpu_atomfirmware_dynamic_boot_config_supported(struct amdgpu_device *adev);
0042 int amdgpu_atomfirmware_get_fw_reserved_fb_size(struct amdgpu_device *adev);
0043 int amdgpu_atomfirmware_asic_init(struct amdgpu_device *adev, bool fb_reset);
0044
0045 #endif