diff --git a/sys/dev/drm/amd/powerplay/smumgr/tonga_smumgr.c b/sys/dev/drm/amd/powerplay/smumgr/tonga_smumgr.c --- a/sys/dev/drm/amd/powerplay/smumgr/tonga_smumgr.c +++ b/sys/dev/drm/amd/powerplay/smumgr/tonga_smumgr.c @@ -582,7 +582,8 @@ pp_atomctrl_internal_ss_info ss_info; uint32_t vcoFreq = engine_clock * dividers.uc_pll_post_div; - if (0 == atomctrl_get_engine_clock_spread_spectrum(hwmgr, vcoFreq, &ss_info)) { + if (0 == atomctrl_get_engine_clock_spread_spectrum(hwmgr, vcoFreq, &ss_info) && + ss_info.speed_spectrum_rate != 0) { /* * ss_info.speed_spectrum_percentage -- in unit of 0.01% * ss_info.speed_spectrum_rate -- in unit of khz @@ -875,7 +876,8 @@ tmp = (freq_nom / reference_clock); tmp = tmp * tmp; - if (0 == atomctrl_get_memory_clock_spread_spectrum(hwmgr, freq_nom, &ss_info)) { + if (0 == atomctrl_get_memory_clock_spread_spectrum(hwmgr, freq_nom, &ss_info) && + ss_info.speed_spectrum_rate != 0) { /* ss_info.speed_spectrum_percentage -- in unit of 0.01% */ /* ss.Info.speed_spectrum_rate -- in unit of khz */ /* CLKS = reference_clock / (2 * speed_spectrum_rate * reference_divider) * 10 */