drm/amd/powerplay: re-define smu interface version for smu v11
[why] navi14 share same defination of smu interface version with navi10, anyone of them update the version may break the other one's version checking. [how] create different version defination, so that they can update their version separately. Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: tiancyin <tianci.yin@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
此提交包含在:
@@ -27,7 +27,9 @@
|
||||
// *** IMPORTANT ***
|
||||
// SMU TEAM: Always increment the interface version if
|
||||
// any structure is changed in this file
|
||||
#define SMU11_DRIVER_IF_VERSION 0x13
|
||||
// Be aware of that the version should be updated in
|
||||
// smu_v11_0.h, rename is also needed.
|
||||
// #define SMU11_DRIVER_IF_VERSION 0x13
|
||||
|
||||
#define PPTABLE_V20_SMU_VERSION 3
|
||||
|
||||
|
@@ -26,7 +26,9 @@
|
||||
// *** IMPORTANT ***
|
||||
// SMU TEAM: Always increment the interface version if
|
||||
// any structure is changed in this file
|
||||
#define SMU11_DRIVER_IF_VERSION 0x33
|
||||
// Be aware of that the version should be updated in
|
||||
// smu_v11_0.h, maybe rename is also needed.
|
||||
// #define SMU11_DRIVER_IF_VERSION 0x33
|
||||
|
||||
#define PPTABLE_NV10_SMU_VERSION 8
|
||||
|
||||
|
@@ -25,6 +25,11 @@
|
||||
|
||||
#include "amdgpu_smu.h"
|
||||
|
||||
#define SMU11_DRIVER_IF_VERSION_INV 0xFFFFFFFF
|
||||
#define SMU11_DRIVER_IF_VERSION_VG20 0x13
|
||||
#define SMU11_DRIVER_IF_VERSION_NV10 0x33
|
||||
#define SMU11_DRIVER_IF_VERSION_NV14 0x33
|
||||
|
||||
/* MP Apertures */
|
||||
#define MP0_Public 0x03800000
|
||||
#define MP0_SRAM 0x03900000
|
||||
|
@@ -1631,6 +1631,5 @@ void navi10_set_ppt_funcs(struct smu_context *smu)
|
||||
struct smu_table_context *smu_table = &smu->smu_table;
|
||||
|
||||
smu->ppt_funcs = &navi10_ppt_funcs;
|
||||
smu->smc_if_version = SMU11_DRIVER_IF_VERSION;
|
||||
smu_table->table_count = TABLE_COUNT;
|
||||
}
|
||||
|
@@ -274,6 +274,22 @@ static int smu_v11_0_check_fw_version(struct smu_context *smu)
|
||||
smu_minor = (smu_version >> 8) & 0xff;
|
||||
smu_debug = (smu_version >> 0) & 0xff;
|
||||
|
||||
switch (smu->adev->asic_type) {
|
||||
case CHIP_VEGA20:
|
||||
smu->smc_if_version = SMU11_DRIVER_IF_VERSION_VG20;
|
||||
break;
|
||||
case CHIP_NAVI10:
|
||||
smu->smc_if_version = SMU11_DRIVER_IF_VERSION_NV10;
|
||||
break;
|
||||
case CHIP_NAVI14:
|
||||
smu->smc_if_version = SMU11_DRIVER_IF_VERSION_NV14;
|
||||
break;
|
||||
default:
|
||||
pr_err("smu unsuported asic type:%d.\n",smu->adev->asic_type);
|
||||
smu->smc_if_version = SMU11_DRIVER_IF_VERSION_INV;
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
* 1. if_version mismatch is not critical as our fw is designed
|
||||
* to be backward compatible.
|
||||
|
@@ -3173,6 +3173,5 @@ void vega20_set_ppt_funcs(struct smu_context *smu)
|
||||
struct smu_table_context *smu_table = &smu->smu_table;
|
||||
|
||||
smu->ppt_funcs = &vega20_ppt_funcs;
|
||||
smu->smc_if_version = SMU11_DRIVER_IF_VERSION;
|
||||
smu_table->table_count = TABLE_COUNT;
|
||||
}
|
||||
|
新增問題並參考
封鎖使用者