[PATCH 1/2] md/powerplay: re-define smu interface version for smu v11

Alex Deucher alexdeucher at gmail.com
Thu Aug 8 05:33:28 UTC 2019


The a in amd got cut off in your patch title.

Alex

On Thu, Aug 8, 2019 at 1:27 AM Tianci Yin <tianci.yin at amd.com> wrote:
>
> From: tiancyin <tianci.yin at amd.com>
>
> [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.
>
> Signed-off-by: tiancyin <tianci.yin at amd.com>
> ---
>  drivers/gpu/drm/amd/powerplay/inc/smu11_driver_if.h      |  4 +++-
>  .../gpu/drm/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 755d51f..fdc6b7a 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 adbbfeb..6d9e79e 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 fcb5801..97605e9 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 be88c5d..fdc7db0 100644
> --- a/drivers/gpu/drm/amd/powerplay/navi10_ppt.c
> +++ b/drivers/gpu/drm/amd/powerplay/navi10_ppt.c
> @@ -1630,6 +1630,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 c078bf4..91dfae1 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 52c8fc9..e28c004 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.7.4
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list