aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c9
-rw-r--r--drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.h2
-rw-r--r--drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c6
3 files changed, 9 insertions, 8 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c b/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c
index 0adaf36b6d68..c97b0e5ba43b 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.c
@@ -488,7 +488,7 @@ int pp_atomfwctrl_get_gpio_information(struct pp_hwmgr *hwmgr,
488 return 0; 488 return 0;
489} 489}
490 490
491int pp_atomfwctrl__get_clk_information_by_clkid(struct pp_hwmgr *hwmgr, BIOS_CLKID id, uint32_t *frequency) 491int pp_atomfwctrl_get_clk_information_by_clkid(struct pp_hwmgr *hwmgr, BIOS_CLKID id, uint32_t *frequency)
492{ 492{
493 struct amdgpu_device *adev = hwmgr->adev; 493 struct amdgpu_device *adev = hwmgr->adev;
494 struct atom_get_smu_clock_info_parameters_v3_1 parameters; 494 struct atom_get_smu_clock_info_parameters_v3_1 parameters;
@@ -515,7 +515,6 @@ int pp_atomfwctrl_get_vbios_bootup_values(struct pp_hwmgr *hwmgr,
515{ 515{
516 struct atom_firmware_info_v3_1 *info = NULL; 516 struct atom_firmware_info_v3_1 *info = NULL;
517 uint16_t ix; 517 uint16_t ix;
518 uint32_t frequency = 0;
519 518
520 ix = GetIndexIntoMasterDataTable(firmwareinfo); 519 ix = GetIndexIntoMasterDataTable(firmwareinfo);
521 info = (struct atom_firmware_info_v3_1 *) 520 info = (struct atom_firmware_info_v3_1 *)
@@ -538,12 +537,6 @@ int pp_atomfwctrl_get_vbios_bootup_values(struct pp_hwmgr *hwmgr,
538 boot_values->ulSocClk = 0; 537 boot_values->ulSocClk = 0;
539 boot_values->ulDCEFClk = 0; 538 boot_values->ulDCEFClk = 0;
540 539
541 if (!pp_atomfwctrl__get_clk_information_by_clkid(hwmgr, SMU9_SYSPLL0_SOCCLK_ID, &frequency))
542 boot_values->ulSocClk = frequency;
543
544 if (!pp_atomfwctrl__get_clk_information_by_clkid(hwmgr, SMU9_SYSPLL0_DCEFCLK_ID, &frequency))
545 boot_values->ulDCEFClk = frequency;
546
547 return 0; 540 return 0;
548} 541}
549 542
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.h b/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.h
index 8df1e84f27c9..fe10aa4db5e6 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.h
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/ppatomfwctrl.h
@@ -230,6 +230,8 @@ int pp_atomfwctrl_get_vbios_bootup_values(struct pp_hwmgr *hwmgr,
230 struct pp_atomfwctrl_bios_boot_up_values *boot_values); 230 struct pp_atomfwctrl_bios_boot_up_values *boot_values);
231int pp_atomfwctrl_get_smc_dpm_information(struct pp_hwmgr *hwmgr, 231int pp_atomfwctrl_get_smc_dpm_information(struct pp_hwmgr *hwmgr,
232 struct pp_atomfwctrl_smc_dpm_parameters *param); 232 struct pp_atomfwctrl_smc_dpm_parameters *param);
233int pp_atomfwctrl_get_clk_information_by_clkid(struct pp_hwmgr *hwmgr,
234 BIOS_CLKID id, uint32_t *frequency);
233 235
234#endif 236#endif
235 237
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
index c9fb4b2cf5c6..ba299424f8f6 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
@@ -2481,6 +2481,12 @@ static int vega10_init_smc_table(struct pp_hwmgr *hwmgr)
2481 data->vbios_boot_state.mvddc = boot_up_values.usMvddc; 2481 data->vbios_boot_state.mvddc = boot_up_values.usMvddc;
2482 data->vbios_boot_state.gfx_clock = boot_up_values.ulGfxClk; 2482 data->vbios_boot_state.gfx_clock = boot_up_values.ulGfxClk;
2483 data->vbios_boot_state.mem_clock = boot_up_values.ulUClk; 2483 data->vbios_boot_state.mem_clock = boot_up_values.ulUClk;
2484 pp_atomfwctrl_get_clk_information_by_clkid(hwmgr,
2485 SMU9_SYSPLL0_SOCCLK_ID, &boot_up_values.ulSocClk);
2486
2487 pp_atomfwctrl_get_clk_information_by_clkid(hwmgr,
2488 SMU9_SYSPLL0_DCEFCLK_ID, &boot_up_values.ulDCEFClk);
2489
2484 data->vbios_boot_state.soc_clock = boot_up_values.ulSocClk; 2490 data->vbios_boot_state.soc_clock = boot_up_values.ulSocClk;
2485 data->vbios_boot_state.dcef_clock = boot_up_values.ulDCEFClk; 2491 data->vbios_boot_state.dcef_clock = boot_up_values.ulDCEFClk;
2486 if (0 != boot_up_values.usVddc) { 2492 if (0 != boot_up_values.usVddc) {