aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRex Zhu <Rex.Zhu@amd.com>2018-06-20 01:36:58 -0400
committerAlex Deucher <alexander.deucher@amd.com>2018-07-05 17:39:57 -0400
commit860c15e903327f9af269d2ee7011454624dfcb90 (patch)
treed7506a5e476f63b7b20198299e4709a4439094ce
parent99c5e27d3368eb92476f47530355a6f25bf486e8 (diff)
drm/amd/pp: Remove duplicate code in vega12_hwmgr.c
use smu_helper function smu_set_watermarks_for_clocks_ranges in vega12_set_watermarks_for_clocks_ranges. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c43
1 files changed, 1 insertions, 42 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c
index 448014b173d5..0a090755545d 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c
@@ -1786,52 +1786,11 @@ static int vega12_set_watermarks_for_clocks_ranges(struct pp_hwmgr *hwmgr,
1786 struct vega12_hwmgr *data = (struct vega12_hwmgr *)(hwmgr->backend); 1786 struct vega12_hwmgr *data = (struct vega12_hwmgr *)(hwmgr->backend);
1787 Watermarks_t *table = &(data->smc_state_table.water_marks_table); 1787 Watermarks_t *table = &(data->smc_state_table.water_marks_table);
1788 struct pp_wm_sets_with_clock_ranges_soc15 *wm_with_clock_ranges = clock_ranges; 1788 struct pp_wm_sets_with_clock_ranges_soc15 *wm_with_clock_ranges = clock_ranges;
1789 uint32_t i;
1790 1789
1791 if (!data->registry_data.disable_water_mark && 1790 if (!data->registry_data.disable_water_mark &&
1792 data->smu_features[GNLD_DPM_DCEFCLK].supported && 1791 data->smu_features[GNLD_DPM_DCEFCLK].supported &&
1793 data->smu_features[GNLD_DPM_SOCCLK].supported) { 1792 data->smu_features[GNLD_DPM_SOCCLK].supported) {
1794 for (i = 0; i < wm_with_clock_ranges->num_wm_sets_dmif; i++) { 1793 smu_set_watermarks_for_clocks_ranges(table, wm_with_clock_ranges);
1795 table->WatermarkRow[WM_DCEFCLK][i].MinClock =
1796 cpu_to_le16((uint16_t)
1797 (wm_with_clock_ranges->wm_sets_dmif[i].wm_min_dcefclk_in_khz) /
1798 100);
1799 table->WatermarkRow[WM_DCEFCLK][i].MaxClock =
1800 cpu_to_le16((uint16_t)
1801 (wm_with_clock_ranges->wm_sets_dmif[i].wm_max_dcefclk_in_khz) /
1802 100);
1803 table->WatermarkRow[WM_DCEFCLK][i].MinUclk =
1804 cpu_to_le16((uint16_t)
1805 (wm_with_clock_ranges->wm_sets_dmif[i].wm_min_memclk_in_khz) /
1806 100);
1807 table->WatermarkRow[WM_DCEFCLK][i].MaxUclk =
1808 cpu_to_le16((uint16_t)
1809 (wm_with_clock_ranges->wm_sets_dmif[i].wm_max_memclk_in_khz) /
1810 100);
1811 table->WatermarkRow[WM_DCEFCLK][i].WmSetting = (uint8_t)
1812 wm_with_clock_ranges->wm_sets_dmif[i].wm_set_id;
1813 }
1814
1815 for (i = 0; i < wm_with_clock_ranges->num_wm_sets_mcif; i++) {
1816 table->WatermarkRow[WM_SOCCLK][i].MinClock =
1817 cpu_to_le16((uint16_t)
1818 (wm_with_clock_ranges->wm_sets_mcif[i].wm_min_socclk_in_khz) /
1819 100);
1820 table->WatermarkRow[WM_SOCCLK][i].MaxClock =
1821 cpu_to_le16((uint16_t)
1822 (wm_with_clock_ranges->wm_sets_mcif[i].wm_max_socclk_in_khz) /
1823 100);
1824 table->WatermarkRow[WM_SOCCLK][i].MinUclk =
1825 cpu_to_le16((uint16_t)
1826 (wm_with_clock_ranges->wm_sets_mcif[i].wm_min_memclk_in_khz) /
1827 100);
1828 table->WatermarkRow[WM_SOCCLK][i].MaxUclk =
1829 cpu_to_le16((uint16_t)
1830 (wm_with_clock_ranges->wm_sets_mcif[i].wm_max_memclk_in_khz) /
1831 100);
1832 table->WatermarkRow[WM_SOCCLK][i].WmSetting = (uint8_t)
1833 wm_with_clock_ranges->wm_sets_mcif[i].wm_set_id;
1834 }
1835 data->water_marks_bitmap |= WaterMarksExist; 1794 data->water_marks_bitmap |= WaterMarksExist;
1836 data->water_marks_bitmap &= ~WaterMarksLoaded; 1795 data->water_marks_bitmap &= ~WaterMarksLoaded;
1837 } 1796 }