[1/2] drm/amd/pm: update SMU IP v13.0.4 driver interface version
Huang, Tim
Tim.Huang at amd.com
Fri Oct 14 04:53:44 UTC 2022
[Public]
Hi Mario,
Comments inline. Thanks.
Best Regards,
Tim Huang
-----Original Message-----
From: Limonciello, Mario <Mario.Limonciello at amd.com>
Sent: Friday, October 14, 2022 5:35 AM
To: Huang, Tim <Tim.Huang at amd.com>; amd-gfx at lists.freedesktop.org
Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Zhang, Yifan <Yifan1.Zhang at amd.com>; Du, Xiaojian <Xiaojian.Du at amd.com>; Gong, Richard <Richard.Gong at amd.com>
Subject: Re: [1/2] drm/amd/pm: update SMU IP v13.0.4 driver interface version
On 10/13/2022 00:46, Tim Huang wrote:
> Update the SMU driver interface version to V7.
>
> Signed-off-by: Tim Huang <tim.huang at amd.com>
> ---
> .../swsmu/inc/pmfw_if/smu13_driver_if_v13_0_4.h | 17 +++++++++++++++--
> 1 file changed, 15 insertions(+), 2 deletions(-)
>
> diff --git
> a/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu13_driver_if_v13_0_4.h
> b/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu13_driver_if_v13_0_4.h
> index ae2d337158f3..f77401709d83 100644
> ---
> a/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu13_driver_if_v13_0_4.h
> +++ b/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu13_driver_if_v13_0_4
> +++ .h
> @@ -27,7 +27,7 @@
> // *** IMPORTANT ***
> // SMU TEAM: Always increment the interface version if
> // any structure is changed in this file -#define
> PMFW_DRIVER_IF_VERSION 5
> +#define PMFW_DRIVER_IF_VERSION 7
>
> typedef struct {
> int32_t value;
> @@ -163,8 +163,8 @@ typedef struct {
> uint16_t DclkFrequency; //[MHz]
> uint16_t MemclkFrequency; //[MHz]
> uint16_t spare; //[centi]
> - uint16_t UvdActivity; //[centi]
> uint16_t GfxActivity; //[centi]
> + uint16_t UvdActivity; //[centi]
This is unfortunate, it means that these two flipped based on PMFW driver interface version!
With 13.0.4 in 6.0, this should probably come back.
>> This flipping already happened in the PMFW driver interface version V6. So, should notice this compatible issue from V6.
Cc: stable at vger.kernel.org #6.0
Reviewed-by: Mario Limonciello <mario.limonciello at amd.com>
>
> uint16_t Voltage[2]; //[mV] indices: VDDCR_VDD, VDDCR_SOC
> uint16_t Current[2]; //[mA] indices: VDDCR_VDD, VDDCR_SOC
> @@ -199,6 +199,19 @@ typedef struct {
> uint16_t DeviceState;
> uint16_t CurTemp; //[centi-Celsius]
> uint16_t spare2;
> +
> + uint16_t AverageGfxclkFrequency;
> + uint16_t AverageFclkFrequency;
> + uint16_t AverageGfxActivity;
> + uint16_t AverageSocclkFrequency;
> + uint16_t AverageVclkFrequency;
> + uint16_t AverageVcnActivity;
> + uint16_t AverageDRAMReads; //Filtered DF Bandwidth::DRAM Reads
> + uint16_t AverageDRAMWrites; //Filtered DF Bandwidth::DRAM Writes
> + uint16_t AverageSocketPower; //Filtered value of CurrentSocketPower
> + uint16_t AverageCorePower; //Filtered of [sum of CorePower[8]])
> + uint16_t AverageCoreC0Residency[8]; //Filtered of [average C0 residency % per core]
> + uint32_t MetricsCounter; //Counts the # of metrics table parameter reads per update to the metrics table, i.e. if the metrics table update happens every 1 second, this value could be up to 1000 if the smu collected metrics data every cycle, or as low as 0 if the smu was asleep the whole time. Reset to 0 after writing.
> } SmuMetrics_t;
>
> typedef struct {
More information about the amd-gfx
mailing list