Commit fe6cd915 authored by Kenneth Feng's avatar Kenneth Feng Committed by Alex Deucher
Browse files

drm/amd/swsmu: add smu14 ip support



Add initial swSMU support for smu 14 series ASIC.

v2: squash in build fixes and updates (Li Ma)
    fix warnings (Alex)
v3: squash in updates (Alex)
v4: squash in updates (Alex)
v5: squash in avg/current power updates (Alex)

Signed-off-by: default avatarLi Ma <li.ma@amd.com>
Signed-off-by: default avatarKenneth Feng <kenneth.feng@amd.com>
Signed-off-by: default avatarLikun Gao <Likun.Gao@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent cd6d69dd
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ subdir-ccflags-y += \
		-I$(FULL_AMD_PATH)/pm/swsmu/smu11 \
		-I$(FULL_AMD_PATH)/pm/swsmu/smu12 \
		-I$(FULL_AMD_PATH)/pm/swsmu/smu13 \
		-I$(FULL_AMD_PATH)/pm/swsmu/smu14 \
		-I$(FULL_AMD_PATH)/pm/powerplay/inc \
		-I$(FULL_AMD_PATH)/pm/powerplay/smumgr\
		-I$(FULL_AMD_PATH)/pm/powerplay/hwmgr \
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@

AMD_SWSMU_PATH = ../pm/swsmu

SWSMU_LIBS = smu11 smu12 smu13
SWSMU_LIBS = smu11 smu12 smu13 smu14

AMD_SWSMU = $(addsuffix /Makefile,$(addprefix $(FULL_AMD_PATH)/pm/swsmu/,$(SWSMU_LIBS)))

+4 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@
#include "smu_v13_0_5_ppt.h"
#include "smu_v13_0_6_ppt.h"
#include "smu_v13_0_7_ppt.h"
#include "smu_v14_0_0_ppt.h"
#include "amd_pcie.h"

/*
@@ -660,6 +661,9 @@ static int smu_set_funcs(struct amdgpu_device *adev)
	case IP_VERSION(13, 0, 7):
		smu_v13_0_7_set_ppt_funcs(smu);
		break;
	case IP_VERSION(14, 0, 0):
		smu_v14_0_0_set_ppt_funcs(smu);
		break;
	default:
		return -EINVAL;
	}
+6 −0
Original line number Diff line number Diff line
@@ -1343,6 +1343,12 @@ struct pptable_funcs {
	 * @init_pptable_microcode: Prepare the pptable microcode to upload via PSP
	 */
	int (*init_pptable_microcode)(struct smu_context *smu);

	/**
	 * @dpm_set_vpe_enable: Enable/disable VPE engine dynamic power
	 *                       management.
	 */
	int (*dpm_set_vpe_enable)(struct smu_context *smu, bool enable);
};

typedef enum {
+5 −2
Original line number Diff line number Diff line
@@ -253,7 +253,9 @@
	__SMU_DUMMY_MAP(QueryValidMcaCeCount),	\
	__SMU_DUMMY_MAP(McaBankDumpDW),		\
	__SMU_DUMMY_MAP(McaBankCeDumpDW),	\
	__SMU_DUMMY_MAP(SelectPLPDMode),
	__SMU_DUMMY_MAP(SelectPLPDMode),	\
	__SMU_DUMMY_MAP(PowerUpVpe),	\
	__SMU_DUMMY_MAP(PowerDownVpe),

#undef __SMU_DUMMY_MAP
#define __SMU_DUMMY_MAP(type)	SMU_MSG_##type
@@ -415,7 +417,8 @@ enum smu_clk_type {
       __SMU_DUMMY_MAP(MEM_TEMP_READ),			\
       __SMU_DUMMY_MAP(ATHUB_MMHUB_PG),			\
       __SMU_DUMMY_MAP(BACO_CG),			\
       __SMU_DUMMY_MAP(SOC_CG),
       __SMU_DUMMY_MAP(SOC_CG),    \
       __SMU_DUMMY_MAP(LOW_POWER_DCNCLKS),

#undef __SMU_DUMMY_MAP
#define __SMU_DUMMY_MAP(feature)	SMU_FEATURE_##feature##_BIT
Loading