Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

tiancyin and committed by
Alex Deucher
1b41b769 26051720

+27 -4
+3 -1
drivers/gpu/drm/amd/powerplay/inc/smu11_driver_if.h
··· 27 27 // *** IMPORTANT *** 28 28 // SMU TEAM: Always increment the interface version if 29 29 // any structure is changed in this file 30 - #define SMU11_DRIVER_IF_VERSION 0x13 30 + // Be aware of that the version should be updated in 31 + // smu_v11_0.h, rename is also needed. 32 + // #define SMU11_DRIVER_IF_VERSION 0x13 31 33 32 34 #define PPTABLE_V20_SMU_VERSION 3 33 35
+3 -1
drivers/gpu/drm/amd/powerplay/inc/smu11_driver_if_navi10.h
··· 26 26 // *** IMPORTANT *** 27 27 // SMU TEAM: Always increment the interface version if 28 28 // any structure is changed in this file 29 - #define SMU11_DRIVER_IF_VERSION 0x33 29 + // Be aware of that the version should be updated in 30 + // smu_v11_0.h, maybe rename is also needed. 31 + // #define SMU11_DRIVER_IF_VERSION 0x33 30 32 31 33 #define PPTABLE_NV10_SMU_VERSION 8 32 34
+5
drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h
··· 25 25 26 26 #include "amdgpu_smu.h" 27 27 28 + #define SMU11_DRIVER_IF_VERSION_INV 0xFFFFFFFF 29 + #define SMU11_DRIVER_IF_VERSION_VG20 0x13 30 + #define SMU11_DRIVER_IF_VERSION_NV10 0x33 31 + #define SMU11_DRIVER_IF_VERSION_NV14 0x33 32 + 28 33 /* MP Apertures */ 29 34 #define MP0_Public 0x03800000 30 35 #define MP0_SRAM 0x03900000
-1
drivers/gpu/drm/amd/powerplay/navi10_ppt.c
··· 1631 1631 struct smu_table_context *smu_table = &smu->smu_table; 1632 1632 1633 1633 smu->ppt_funcs = &navi10_ppt_funcs; 1634 - smu->smc_if_version = SMU11_DRIVER_IF_VERSION; 1635 1634 smu_table->table_count = TABLE_COUNT; 1636 1635 }
+16
drivers/gpu/drm/amd/powerplay/smu_v11_0.c
··· 274 274 smu_minor = (smu_version >> 8) & 0xff; 275 275 smu_debug = (smu_version >> 0) & 0xff; 276 276 277 + switch (smu->adev->asic_type) { 278 + case CHIP_VEGA20: 279 + smu->smc_if_version = SMU11_DRIVER_IF_VERSION_VG20; 280 + break; 281 + case CHIP_NAVI10: 282 + smu->smc_if_version = SMU11_DRIVER_IF_VERSION_NV10; 283 + break; 284 + case CHIP_NAVI14: 285 + smu->smc_if_version = SMU11_DRIVER_IF_VERSION_NV14; 286 + break; 287 + default: 288 + pr_err("smu unsuported asic type:%d.\n",smu->adev->asic_type); 289 + smu->smc_if_version = SMU11_DRIVER_IF_VERSION_INV; 290 + break; 291 + } 292 + 277 293 /* 278 294 * 1. if_version mismatch is not critical as our fw is designed 279 295 * to be backward compatible.
-1
drivers/gpu/drm/amd/powerplay/vega20_ppt.c
··· 3173 3173 struct smu_table_context *smu_table = &smu->smu_table; 3174 3174 3175 3175 smu->ppt_funcs = &vega20_ppt_funcs; 3176 - smu->smc_if_version = SMU11_DRIVER_IF_VERSION; 3177 3176 smu_table->table_count = TABLE_COUNT; 3178 3177 }