diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0291-drm-amd-powerplay-get-real-display-device-num-by-cgs.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0291-drm-amd-powerplay-get-real-display-device-num-by-cgs.patch | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/common/recipes-kernel/linux/files/0291-drm-amd-powerplay-get-real-display-device-num-by-cgs.patch b/common/recipes-kernel/linux/files/0291-drm-amd-powerplay-get-real-display-device-num-by-cgs.patch deleted file mode 100644 index 5ec1e816..00000000 --- a/common/recipes-kernel/linux/files/0291-drm-amd-powerplay-get-real-display-device-num-by-cgs.patch +++ /dev/null @@ -1,91 +0,0 @@ -From c035e7e780257fc8093c38f8fe372aaffc729928 Mon Sep 17 00:00:00 2001 -From: Rex Zhu <Rex.Zhu@amd.com> -Date: Mon, 14 Dec 2015 18:14:57 +0800 -Subject: [PATCH 0291/1110] drm/amd/powerplay: get real display device num by - cgs interface - -Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> - -Reviewed-by: Jammy Zhou <Jammy.Zhou@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/cz_hwmgr.c | 25 ++++++++++++++++--------- - 1 file changed, 16 insertions(+), 9 deletions(-) - -diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c -index fa85d8a..1e79f84 100644 ---- a/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c -+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c -@@ -1128,9 +1128,10 @@ static int cz_apply_state_adjust_rules(struct pp_hwmgr *hwmgr, - cast_const_PhwCzPowerState(&pcurrent_ps->hardware); - - struct cz_hwmgr *cz_hwmgr = (struct cz_hwmgr *)(hwmgr->backend); -- struct PP_Clocks clocks; -+ struct PP_Clocks clocks = {0, 0, 0, 0}; - bool force_high; -- unsigned long num_of_active_displays = 4; -+ uint32_t num_of_active_displays = 0; -+ struct cgs_display_info info = {0}; - - cz_ps->evclk = hwmgr->vce_arbiter.evclk; - cz_ps->ecclk = hwmgr->vce_arbiter.ecclk; -@@ -1142,12 +1143,15 @@ static int cz_apply_state_adjust_rules(struct pp_hwmgr *hwmgr, - - cz_hwmgr->battery_state = (PP_StateUILabel_Battery == prequest_ps->classification.ui_label); - -- /* to do PECI_GetMinClockSettings(pHwMgr->pPECI, &clocks); */ -- /* PECI_GetNumberOfActiveDisplays(pHwMgr->pPECI, &numOfActiveDisplays); */ -+ clocks.memoryClock = hwmgr->display_config.min_core_set_clock != 0 ? -+ hwmgr->display_config.min_core_set_clock : -+ cz_hwmgr->sys_info.nbp_memory_clock[1]; -+ -+ cgs_get_active_displays_info(hwmgr->device, &info); -+ num_of_active_displays = info.display_count; -+ - if (phm_cap_enabled(hwmgr->platform_descriptor.platformCaps, PHM_PlatformCaps_StablePState)) - clocks.memoryClock = hwmgr->dyn_state.max_clock_voltage_on_ac.mclk; -- else -- clocks.memoryClock = 0; - - if (clocks.memoryClock < hwmgr->gfx_arbiter.mclk) - clocks.memoryClock = hwmgr->gfx_arbiter.mclk; -@@ -1217,6 +1221,7 @@ static int cz_hwmgr_backend_init(struct pp_hwmgr *hwmgr) - printk(KERN_ERR "[ powerplay ] Fail to construct set_power_state\n"); - return result; - } -+ hwmgr->platform_descriptor.hardwareActivityPerformanceLevels = CZ_MAX_HARDWARE_POWERLEVELS; - - result = phm_construct_table(hwmgr, &cz_phm_enable_clock_power_gatings_master, &(hwmgr->enable_clock_power_gatings)); - if (result != 0) { -@@ -1779,9 +1784,11 @@ static int cz_get_performance_level(struct pp_hwmgr *hwmgr, const struct pp_hw_p - - data = (struct cz_hwmgr *)(hwmgr->backend); - ps = cast_const_PhwCzPowerState(state); -- level->coreClock = ps->levels[index].engineClock; -+ - level_index = index > ps->level - 1 ? ps->level - 1 : index; - -+ level->coreClock = ps->levels[level_index].engineClock; -+ - if (designation == PHM_PerformanceLevelDesignation_PowerContainment) { - for (i = 1; i < ps->level; i++) { - if (ps->levels[i].engineClock > data->dce_slow_sclk_threshold) { -@@ -1791,12 +1798,12 @@ static int cz_get_performance_level(struct pp_hwmgr *hwmgr, const struct pp_hw_p - } - } - -- if (index == 0) -+ if (level_index == 0) - level->memory_clock = data->sys_info.nbp_memory_clock[CZ_NUM_NBPMEMORYCLOCK - 1]; - else - level->memory_clock = data->sys_info.nbp_memory_clock[0]; - -- level->vddc = (cz_convert_8Bit_index_to_voltage(hwmgr, ps->levels[index].vddcIndex) + 2) / 4; -+ level->vddc = (cz_convert_8Bit_index_to_voltage(hwmgr, ps->levels[level_index].vddcIndex) + 2) / 4; - level->nonLocalMemoryFreq = 0; - level->nonLocalMemoryWidth = 0; - --- -2.7.4 - |