|
@@ -4522,15 +4522,13 @@ static int vega10_get_sclk_od(struct pp_hwmgr *hwmgr)
|
|
|
struct vega10_single_dpm_table *sclk_table = &(data->dpm_table.gfx_table);
|
|
|
struct vega10_single_dpm_table *golden_sclk_table =
|
|
|
&(data->golden_dpm_table.gfx_table);
|
|
|
- int value;
|
|
|
-
|
|
|
- value = (sclk_table->dpm_levels[sclk_table->count - 1].value -
|
|
|
- golden_sclk_table->dpm_levels
|
|
|
- [golden_sclk_table->count - 1].value) *
|
|
|
- 100 /
|
|
|
- golden_sclk_table->dpm_levels
|
|
|
+ int value = sclk_table->dpm_levels[sclk_table->count - 1].value;
|
|
|
+ int golden_value = golden_sclk_table->dpm_levels
|
|
|
[golden_sclk_table->count - 1].value;
|
|
|
|
|
|
+ value -= golden_value;
|
|
|
+ value = DIV_ROUND_UP(value * 100, golden_value);
|
|
|
+
|
|
|
return value;
|
|
|
}
|
|
|
|
|
@@ -4575,16 +4573,13 @@ static int vega10_get_mclk_od(struct pp_hwmgr *hwmgr)
|
|
|
struct vega10_single_dpm_table *mclk_table = &(data->dpm_table.mem_table);
|
|
|
struct vega10_single_dpm_table *golden_mclk_table =
|
|
|
&(data->golden_dpm_table.mem_table);
|
|
|
- int value;
|
|
|
-
|
|
|
- value = (mclk_table->dpm_levels
|
|
|
- [mclk_table->count - 1].value -
|
|
|
- golden_mclk_table->dpm_levels
|
|
|
- [golden_mclk_table->count - 1].value) *
|
|
|
- 100 /
|
|
|
- golden_mclk_table->dpm_levels
|
|
|
+ int value = mclk_table->dpm_levels[mclk_table->count - 1].value;
|
|
|
+ int golden_value = golden_mclk_table->dpm_levels
|
|
|
[golden_mclk_table->count - 1].value;
|
|
|
|
|
|
+ value -= golden_value;
|
|
|
+ value = DIV_ROUND_UP(value * 100, golden_value);
|
|
|
+
|
|
|
return value;
|
|
|
}
|
|
|
|