diff options
Diffstat (limited to 'drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h')
-rw-r--r-- | drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h b/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h index 46e34ed8a3c8..a6a7b6c33683 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h +++ b/drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h @@ -27,6 +27,7 @@ #include "dm_pp_interface.h" #include "dm_pp_smu.h" #include "smu_types.h" +#include "linux/firmware.h" #define SMU_THERMAL_MINIMUM_ALERT_TEMP 0 #define SMU_THERMAL_MAXIMUM_ALERT_TEMP 255 @@ -320,6 +321,7 @@ enum smu_table_id SMU_TABLE_I2C_COMMANDS, SMU_TABLE_PACE, SMU_TABLE_ECCINFO, + SMU_TABLE_COMBO_PPTABLE, SMU_TABLE_COUNT, }; @@ -335,7 +337,8 @@ struct smu_table_context void *max_sustainable_clocks; struct smu_bios_boot_up_values boot_values; - void *driver_pptable; + void *driver_pptable; + void *combo_pptable; void *ecc_table; void *driver_smu_config_table; struct smu_table tables[SMU_TABLE_COUNT]; @@ -451,6 +454,7 @@ struct smu_umd_pstate_table { struct pstates_clk_freq uclk_pstate; struct pstates_clk_freq vclk_pstate; struct pstates_clk_freq dclk_pstate; + struct pstates_clk_freq fclk_pstate; }; struct cmn2asic_msg_mapping { @@ -557,6 +561,8 @@ struct smu_context struct smu_user_dpm_profile user_dpm_profile; struct stb_context stb_context; + + struct firmware pptable_firmware; }; struct i2c_adapter; @@ -1298,6 +1304,11 @@ struct pptable_funcs { * of SMUBUS table. */ int (*send_hbm_bad_channel_flag)(struct smu_context *smu, uint32_t size); + + /** + * @init_pptable_microcode: Prepare the pptable microcode to upload via PSP + */ + int (*init_pptable_microcode)(struct smu_context *smu); }; typedef enum { @@ -1317,6 +1328,8 @@ typedef enum { METRICS_AVERAGE_UCLK, METRICS_AVERAGE_VCLK, METRICS_AVERAGE_DCLK, + METRICS_AVERAGE_VCLK1, + METRICS_AVERAGE_DCLK1, METRICS_AVERAGE_GFXACTIVITY, METRICS_AVERAGE_MEMACTIVITY, METRICS_AVERAGE_VCNACTIVITY, @@ -1335,6 +1348,9 @@ typedef enum { METRICS_SS_DGPU_SHARE, METRICS_UNIQUE_ID_UPPER32, METRICS_UNIQUE_ID_LOWER32, + METRICS_PCIE_RATE, + METRICS_PCIE_WIDTH, + METRICS_CURR_FANPWM, } MetricsMember_t; enum smu_cmn2asic_mapping_type { |