|
@@ -709,6 +709,19 @@ static int cz_start_smu(struct pp_hwmgr *hwmgr)
|
|
|
{
|
|
|
int ret = 0;
|
|
|
uint32_t fw_to_check = 0;
|
|
|
+ struct cgs_firmware_info info = {0};
|
|
|
+ uint32_t index = SMN_MP1_SRAM_START_ADDR +
|
|
|
+ SMU8_FIRMWARE_HEADER_LOCATION +
|
|
|
+ offsetof(struct SMU8_Firmware_Header, Version);
|
|
|
+
|
|
|
+
|
|
|
+ if (hwmgr == NULL || hwmgr->device == NULL)
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
+ cgs_write_register(hwmgr->device, mmMP0PUB_IND_INDEX, index);
|
|
|
+ hwmgr->smu_version = cgs_read_register(hwmgr->device, mmMP0PUB_IND_DATA);
|
|
|
+ info.version = hwmgr->smu_version >> 8;
|
|
|
+ cgs_get_firmware_info(hwmgr->device, CGS_UCODE_ID_SMU, &info);
|
|
|
|
|
|
fw_to_check = UCODE_ID_RLC_G_MASK |
|
|
|
UCODE_ID_SDMA0_MASK |
|