mirror of https://github.com/torvalds/linux.git
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>
This commit is contained in:
parent
2605172032
commit
1b41b769e1
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue