diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3350-drm-amd-powerplay-re-define-smu-interface-version-fo.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3350-drm-amd-powerplay-re-define-smu-interface-version-fo.patch | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3350-drm-amd-powerplay-re-define-smu-interface-version-fo.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3350-drm-amd-powerplay-re-define-smu-interface-version-fo.patch new file mode 100644 index 00000000..71dced06 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3350-drm-amd-powerplay-re-define-smu-interface-version-fo.patch @@ -0,0 +1,124 @@ +From d21d6e2265879bd1db86620bbf3d9298c5ad7d9e Mon Sep 17 00:00:00 2001 +From: tiancyin <tianci.yin@amd.com> +Date: Thu, 8 Aug 2019 11:57:28 +0800 +Subject: [PATCH 3350/4256] 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> +--- + .../gpu/drm/amd/powerplay/inc/smu11_driver_if.h | 4 +++- + .../amd/powerplay/inc/smu11_driver_if_navi10.h | 4 +++- + drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h | 5 +++++ + drivers/gpu/drm/amd/powerplay/navi10_ppt.c | 1 - + drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 16 ++++++++++++++++ + drivers/gpu/drm/amd/powerplay/vega20_ppt.c | 1 - + 6 files changed, 27 insertions(+), 4 deletions(-) + +diff --git a/drivers/gpu/drm/amd/powerplay/inc/smu11_driver_if.h b/drivers/gpu/drm/amd/powerplay/inc/smu11_driver_if.h +index 755d51f9c6a9..fdc6b7a57bc9 100644 +--- a/drivers/gpu/drm/amd/powerplay/inc/smu11_driver_if.h ++++ b/drivers/gpu/drm/amd/powerplay/inc/smu11_driver_if.h +@@ -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 + +diff --git a/drivers/gpu/drm/amd/powerplay/inc/smu11_driver_if_navi10.h b/drivers/gpu/drm/amd/powerplay/inc/smu11_driver_if_navi10.h +index adbbfebbb1e5..6d9e79e5bf9d 100644 +--- a/drivers/gpu/drm/amd/powerplay/inc/smu11_driver_if_navi10.h ++++ b/drivers/gpu/drm/amd/powerplay/inc/smu11_driver_if_navi10.h +@@ -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 + +diff --git a/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h b/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h +index fcb58012170f..97605e963c2b 100644 +--- a/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h ++++ b/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0.h +@@ -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 +diff --git a/drivers/gpu/drm/amd/powerplay/navi10_ppt.c b/drivers/gpu/drm/amd/powerplay/navi10_ppt.c +index 96cc2f95d078..7398b281cbb0 100644 +--- a/drivers/gpu/drm/amd/powerplay/navi10_ppt.c ++++ b/drivers/gpu/drm/amd/powerplay/navi10_ppt.c +@@ -1610,6 +1610,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; + } +diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c +index c078bf4d522e..91dfae1a2b16 100644 +--- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c ++++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c +@@ -271,6 +271,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. +diff --git a/drivers/gpu/drm/amd/powerplay/vega20_ppt.c b/drivers/gpu/drm/amd/powerplay/vega20_ppt.c +index 52c8fc9f1ff4..e28c004e0036 100644 +--- a/drivers/gpu/drm/amd/powerplay/vega20_ppt.c ++++ b/drivers/gpu/drm/amd/powerplay/vega20_ppt.c +@@ -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; + } +-- +2.17.1 + |