diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2953-drm-amd-pp-implement-dpm_get_sclk-mclk-for-RV.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2953-drm-amd-pp-implement-dpm_get_sclk-mclk-for-RV.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2953-drm-amd-pp-implement-dpm_get_sclk-mclk-for-RV.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2953-drm-amd-pp-implement-dpm_get_sclk-mclk-for-RV.patch new file mode 100644 index 00000000..67e03807 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2953-drm-amd-pp-implement-dpm_get_sclk-mclk-for-RV.patch @@ -0,0 +1,56 @@ +From 2df9c01efac5feef80b89c68eba27289ea0077b4 Mon Sep 17 00:00:00 2001 +From: Rex Zhu <Rex.Zhu@amd.com> +Date: Tue, 12 Dec 2017 15:06:10 +0800 +Subject: [PATCH 2953/4131] drm/amd/pp: implement dpm_get_sclk/mclk for RV + +Change-Id: Ia2a7bd1aba039fd7d1034a910dc14a530ef9e6e9 +Reviewed-by: Alex Deucher <alexander.deucher@amd.com> +Reviewed-by: Evan Quan <evan.quan@amd.com> +Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> +--- + drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c | 25 +++++++++++++++++++++++-- + 1 file changed, 23 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c +index 9703ffc..527576e 100644 +--- a/drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c ++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/rv_hwmgr.c +@@ -524,12 +524,33 @@ static int rv_dpm_force_dpm_level(struct pp_hwmgr *hwmgr, + + static uint32_t rv_dpm_get_mclk(struct pp_hwmgr *hwmgr, bool low) + { +- return 0; ++ struct rv_hwmgr *data; ++ ++ if (hwmgr == NULL) ++ return -EINVAL; ++ ++ data = (struct rv_hwmgr *)(hwmgr->backend); ++ ++ if (low) ++ return data->clock_vol_info.vdd_dep_on_fclk->entries[0].clk; ++ else ++ return data->clock_vol_info.vdd_dep_on_fclk->entries[ ++ data->clock_vol_info.vdd_dep_on_fclk->count - 1].clk; + } + + static uint32_t rv_dpm_get_sclk(struct pp_hwmgr *hwmgr, bool low) + { +- return 0; ++ struct rv_hwmgr *data; ++ ++ if (hwmgr == NULL) ++ return -EINVAL; ++ ++ data = (struct rv_hwmgr *)(hwmgr->backend); ++ ++ if (low) ++ return data->gfx_min_freq_limit; ++ else ++ return data->gfx_max_freq_limit; + } + + static int rv_dpm_patch_boot_state(struct pp_hwmgr *hwmgr, +-- +2.7.4 + |