drm/amd/powerplay: using MinFClock/MaxFclock to report Min/Max memory clock limits
authorHawking Zhang <Hawking.Zhang@amd.com>
Tue, 23 May 2017 10:26:14 +0000 (18:26 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 25 May 2017 20:11:58 +0000 (16:11 -0400)
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c

index 75cede8bd8d574d090b9b583ec3079726db31caa..8bbccd49290b0b27eadd9386c9eb646bc069c26c 100644 (file)
@@ -782,6 +782,7 @@ static int rv_get_performance_level(struct pp_hwmgr *hwmgr, const struct pp_hw_p
        struct rv_hwmgr *data;
        uint32_t level_index;
        uint32_t i;
+       uint32_t vol_dep_record_index = 0;
 
        if (level == NULL || hwmgr == NULL || state == NULL)
                return -EINVAL;
@@ -801,6 +802,13 @@ static int rv_get_performance_level(struct pp_hwmgr *hwmgr, const struct pp_hw_p
                }
        }
 
+       if (level_index == 0) {
+               vol_dep_record_index = data->clock_vol_info.vdd_dep_on_fclk->count - 1;
+               level->memory_clock =
+                       data->clock_vol_info.vdd_dep_on_fclk->entries[vol_dep_record_index].clk;
+       } else
+               level->memory_clock = data->clock_vol_info.vdd_dep_on_fclk->entries[0].clk;
+
        level->nonLocalMemoryFreq = 0;
        level->nonLocalMemoryWidth = 0;