Commit e988026f authored by Evan Quan's avatar Evan Quan Committed by Alex Deucher
Browse files

drm/amd/pm: add SMU11 common gfx ulv control interface



Considering the same logic can be applied to Arcturus, Navi1X
and Sienna Cichlid.

Signed-off-by: default avatarEvan Quan <evan.quan@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 588a4d5c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -274,5 +274,8 @@ int smu_v11_0_get_current_pcie_link_speed(struct smu_context *smu);

void smu_v11_0_init_gpu_metrics_v1_0(struct gpu_metrics_v1_0 *gpu_metrics);

int smu_v11_0_gfx_ulv_control(struct smu_context *smu,
			      bool enablement);

#endif
#endif
+1 −0
Original line number Diff line number Diff line
@@ -2391,6 +2391,7 @@ static const struct pptable_funcs arcturus_ppt_funcs = {
	.get_pp_feature_mask = smu_cmn_get_pp_feature_mask,
	.set_pp_feature_mask = smu_cmn_set_pp_feature_mask,
	.get_gpu_metrics = arcturus_get_gpu_metrics,
	.gfx_ulv_control = smu_v11_0_gfx_ulv_control,
};

void arcturus_set_ppt_funcs(struct smu_context *smu)
+1 −0
Original line number Diff line number Diff line
@@ -2660,6 +2660,7 @@ static const struct pptable_funcs navi10_ppt_funcs = {
	.set_pp_feature_mask = smu_cmn_set_pp_feature_mask,
	.get_gpu_metrics = navi10_get_gpu_metrics,
	.enable_mgpu_fan_boost = navi10_enable_mgpu_fan_boost,
	.gfx_ulv_control = smu_v11_0_gfx_ulv_control,
};

void navi10_set_ppt_funcs(struct smu_context *smu)
+1 −0
Original line number Diff line number Diff line
@@ -2796,6 +2796,7 @@ static const struct pptable_funcs sienna_cichlid_ppt_funcs = {
	.set_pp_feature_mask = smu_cmn_set_pp_feature_mask,
	.get_gpu_metrics = sienna_cichlid_get_gpu_metrics,
	.enable_mgpu_fan_boost = sienna_cichlid_enable_mgpu_fan_boost,
	.gfx_ulv_control = smu_v11_0_gfx_ulv_control,
};

void sienna_cichlid_set_ppt_funcs(struct smu_context *smu)
+11 −0
Original line number Diff line number Diff line
@@ -1985,3 +1985,14 @@ void smu_v11_0_init_gpu_metrics_v1_0(struct gpu_metrics_v1_0 *gpu_metrics)

	gpu_metrics->system_clock_counter = ktime_get_boottime_ns();
}

int smu_v11_0_gfx_ulv_control(struct smu_context *smu,
			      bool enablement)
{
	int ret = 0;

	if (smu_cmn_feature_is_supported(smu, SMU_FEATURE_GFX_ULV_BIT))
		ret = smu_cmn_feature_set_enabled(smu, SMU_FEATURE_GFX_ULV_BIT, enablement);

	return ret;
}