Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

drm/amd/powerplay: get raven max/min gfx clocks (v2)



v2: squash in rebase fix (Tom)

Signed-off-by: default avatarEvan Quan <evan.quan@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Reviewed-by: default avatarJunwei Zhang <Jerry.Zhang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d0d9db88
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -421,6 +421,26 @@ static int rv_populate_clock_table(struct pp_hwmgr *hwmgr)
	rv_get_clock_voltage_dependency_table(hwmgr, &pinfo->vdd_dep_on_phyclk,
					ARRAY_SIZE(VddPhyClk), &VddPhyClk[0]);

	PP_ASSERT_WITH_CODE(!smum_send_msg_to_smc(hwmgr,
			PPSMC_MSG_GetMinGfxclkFrequency),
			"Attempt to get min GFXCLK Failed!",
			return -1);
	PP_ASSERT_WITH_CODE(!rv_read_arg_from_smc(hwmgr,
			&result),
			"Attempt to get min GFXCLK Failed!",
			return -1);
	rv_data->gfx_min_freq_limit = result * 100;

	PP_ASSERT_WITH_CODE(!smum_send_msg_to_smc(hwmgr,
			PPSMC_MSG_GetMaxGfxclkFrequency),
			"Attempt to get max GFXCLK Failed!",
			return -1);
	PP_ASSERT_WITH_CODE(!rv_read_arg_from_smc(hwmgr,
			&result),
			"Attempt to get max GFXCLK Failed!",
			return -1);
	rv_data->gfx_max_freq_limit = result * 100;

	return 0;
}

+2 −0
Original line number Diff line number Diff line
@@ -283,6 +283,8 @@ struct rv_hwmgr {
	uint32_t                        vclk_soft_min;
	uint32_t                        dclk_soft_min;
	uint32_t                        gfx_actual_soft_min_freq;
	uint32_t                        gfx_min_freq_limit;
	uint32_t                        gfx_max_freq_limit;

	bool                           vcn_power_gated;
	bool                           vcn_dpg_mode;