From: Huang Rui <ray.huang-5C7GfCeVMHo@public.gmane.org>
To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Cc: Likun Gao <Likun.Gao-5C7GfCeVMHo@public.gmane.org>,
Kevin Wang <Kevin1.Wang-5C7GfCeVMHo@public.gmane.org>,
Huang Rui <ray.huang-5C7GfCeVMHo@public.gmane.org>,
Chengming Gui <Jack.Gui-5C7GfCeVMHo@public.gmane.org>
Subject: [PATCH 013/138] drm/amd/powerplay: add interface to populate smc pptable (v2)
Date: Fri, 25 Jan 2019 18:23:40 +0800 [thread overview]
Message-ID: <1548411945-12396-14-git-send-email-ray.huang@amd.com> (raw)
In-Reply-To: <1548411945-12396-1-git-send-email-ray.huang-5C7GfCeVMHo@public.gmane.org>
This patch adds interface to populate smc pptable for smu.
It's to set initialized values (get from vbios) to dpm tables context such as
gfxclk, memclk, dcefclk, and etc. And enable the DPM feature for each type of
clks.
v2: add detailed info to describe this function
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 9 +++++++++
drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h | 3 +++
2 files changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
index 323db7d..b40a3c1 100644
--- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
@@ -175,6 +175,15 @@ static int smu_smc_table_hw_init(struct smu_context *smu)
if (ret)
return ret;
+ /*
+ * Set initialized values (get from vbios) to dpm tables context such as
+ * gfxclk, memclk, dcefclk, and etc. And enable the DPM feature for each
+ * type of clks.
+ */
+ ret = smu_populate_smc_pptable(smu);
+ if (ret)
+ return ret;
+
return 0;
}
diff --git a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
index fcdbade4..da79777 100644
--- a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
+++ b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
@@ -43,6 +43,7 @@ struct smu_funcs
int (*get_vbios_bootup_values)(struct smu_context *smu);
int (*check_pptable)(struct smu_context *smu);
int (*parse_pptable)(struct smu_context *smu);
+ int (*populate_smc_pptable)(struct smu_context *smu);
};
#define smu_init_microcode(smu) \
@@ -63,6 +64,8 @@ struct smu_funcs
((smu)->funcs->check_pptable ? (smu)->funcs->check_pptable((smu)) : 0)
#define smu_parse_pptable(smu) \
((smu)->funcs->parse_pptable ? (smu)->funcs->parse_pptable((smu)) : 0)
+#define smu_populate_smc_pptable(smu) \
+ ((smu)->funcs->populate_smc_pptable ? (smu)->funcs->populate_smc_pptable((smu)) : 0)
extern const struct amd_ip_funcs smu_ip_funcs;
--
2.7.4
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
next prev parent reply other threads:[~2019-01-25 10:23 UTC|newest]
Thread overview: 141+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-25 10:23 [PATCH 000/138] The new SW SMU driver of amdgpu Huang Rui
[not found] ` <1548411945-12396-1-git-send-email-ray.huang-5C7GfCeVMHo@public.gmane.org>
2019-01-25 10:23 ` [PATCH 001/138] drm/amd/powerplay: add new smu ip block Huang Rui
2019-01-25 10:23 ` [PATCH 002/138] drm/amd/powerplay: add smu11 sub block for SMU IP Huang Rui
2019-01-25 10:23 ` [PATCH 003/138] drm/amd/powerplay: add firmware loading interface Huang Rui
2019-01-25 10:23 ` [PATCH 004/138] drm/amd/powerplay: add fw load checking interface Huang Rui
2019-01-25 10:23 ` [PATCH 005/138] drm/amd/powerplay: add interface to read pptable from vbios Huang Rui
2019-01-25 10:23 ` [PATCH 006/138] drm/amd/powerplay: add placeholder of smu_initialize_pptable Huang Rui
2019-01-25 10:23 ` [PATCH 007/138] drm/amd/powerplay: add interface to init smc tables (v2) Huang Rui
2019-01-25 10:23 ` [PATCH 008/138] drm/amd/powerplay: add interface to init power (v2) Huang Rui
2019-01-25 10:23 ` [PATCH 009/138] drm/amd/powerplay: add interface to get vbios bootup values (v2) Huang Rui
2019-01-25 10:23 ` [PATCH 010/138] drm/amd/powerplay: add interface to check pptable (v2) Huang Rui
2019-01-25 10:23 ` [PATCH 011/138] drm/amd/powerplay: add interface to init fb allocations (v2) Huang Rui
2019-01-25 10:23 ` [PATCH 012/138] drm/amd/powerplay: add interface to parse pptable (v2) Huang Rui
2019-01-25 10:23 ` Huang Rui [this message]
2019-01-25 10:23 ` [PATCH 014/138] drm/amd/powerplay: add interface to check fw version (v2) Huang Rui
2019-01-25 10:23 ` [PATCH 015/138] drm/amd/powerplay: add interface to write pptable (v2) Huang Rui
2019-01-25 10:23 ` [PATCH 016/138] drm/amd/powerplay: add interface to set min dcef deep sleep (v2) Huang Rui
2019-01-25 10:23 ` [PATCH 017/138] drm/amd/powerplay: add interface to set tool table location (v2) Huang Rui
2019-01-25 10:23 ` [PATCH 018/138] drm/amd/powerplay: add interface to allocate memory pool (v2) Huang Rui
2019-01-25 10:23 ` [PATCH 019/138] drm/amd/powerplay: add interface to notify memory pool location (v2) Huang Rui
2019-01-25 10:23 ` [PATCH 020/138] drm/amd/powerplay: add interfaces for smu resume Huang Rui
2019-01-25 10:23 ` [PATCH 021/138] drm/amd/powerplay: add resume sequence placeholder for smu ip block Huang Rui
2019-01-25 10:23 ` [PATCH 022/138] drm/amdgpu: enable new smu ip block for vega20 Huang Rui
2019-01-25 10:23 ` [PATCH 023/138] drm/amd/powerplay: init microcode for smu11 Huang Rui
2019-01-25 10:23 ` [PATCH 024/138] drm/amd/powerplay: add new ppsmc header for smu11 (v2) Huang Rui
2019-01-25 10:23 ` [PATCH 025/138] drm/amd/powerplay: implement smu send message functions for smu11 (v3) Huang Rui
2019-01-25 10:23 ` [PATCH 026/138] drm/amd/powerplay: implement check_fw_status function for smu11 Huang Rui
2019-01-25 10:23 ` [PATCH 027/138] drm/amd/powerplay: implement check_fw_version " Huang Rui
2019-01-25 10:23 ` [PATCH 028/138] drm/amd/powerplay: add pptable header " Huang Rui
2019-01-25 10:23 ` [PATCH 029/138] drm/amdgpu: update atomfirmware " Huang Rui
2019-01-25 10:23 ` [PATCH 030/138] drm/amdgpu: update new members in atomfirmware Huang Rui
2019-01-25 10:23 ` [PATCH 031/138] drm/amd/powerplay: add smu table context structure Huang Rui
2019-01-25 10:23 ` [PATCH 032/138] drm/amd/powerplay: add get atom data table helper Huang Rui
2019-01-25 10:24 ` [PATCH 033/138] drm/amdgpu: move get_index_into_master_table macro into atomfirmware header Huang Rui
2019-01-25 10:24 ` [PATCH 034/138] drm/amd/powerplay: implement read_pptable_from_vbios function for smu11 Huang Rui
2019-01-25 10:24 ` [PATCH 035/138] drm/amd/powerplay: implement smu_init[fini]_smc_tables " Huang Rui
2019-01-25 10:24 ` [PATCH 036/138] drm/amd/powerplay: implement smu dpm context functions " Huang Rui
2019-01-25 10:24 ` [PATCH 037/138] drm/amd/powerplay: implement smu_init[fini]_power function " Huang Rui
2019-01-25 10:24 ` [PATCH 038/138] drm/amd/powerplay: implement smu_init(fini)_fb_allocations function Huang Rui
2019-01-25 10:24 ` [PATCH 039/138] drm/amd/powerplay: remove header of smu_v11_0_pptable Huang Rui
2019-01-25 10:24 ` [PATCH 040/138] drm/amd/powerplay: update pptable header for smu11 Huang Rui
2019-01-25 10:24 ` [PATCH 041/138] drm/amd/powerplay: add data structure of bootup values Huang Rui
2019-01-25 10:24 ` [PATCH 042/138] drm/amd/powerplay: implement get_vbios_bootup_values function for smu11 (v2) Huang Rui
2019-01-25 10:24 ` [PATCH 043/138] drm/amd/powerplay: implement get_clk_info_from_vbios " Huang Rui
2019-01-25 10:24 ` [PATCH 044/138] drm/amd/powerplay: implement smu_alloc[free]_memory pool function Huang Rui
2019-01-25 10:24 ` [PATCH 045/138] drm/amd/powerplay: implement notify_memory_pool_location function for smu11 Huang Rui
2019-01-25 10:24 ` [PATCH 046/138] drm/amd/powerplay: add vega20 pptable function file Huang Rui
2019-01-25 10:24 ` [PATCH 047/138] drm/amd/powerplay: add function to parse pptable for smu11 Huang Rui
2019-01-25 10:24 ` [PATCH 048/138] drm/amd/powerplay: add function to check " Huang Rui
2019-01-25 10:24 ` [PATCH 049/138] drm/amd/powerplay: update hw fini function to relase some memory Huang Rui
2019-01-25 10:24 ` [PATCH 050/138] drm/amd/powerplay: add function to populate smc pptable for smu11 Huang Rui
2019-01-25 10:24 ` [PATCH 051/138] drm/amd/powerplay: add function to write pptable for smu11 (v2) Huang Rui
2019-01-25 10:24 ` [PATCH 052/138] drm/amd/powerplay: add function to set min dcef deep sleep " Huang Rui
2019-01-25 10:24 ` [PATCH 053/138] drm/amd/powerplay: add function to set tool table location " Huang Rui
2019-01-25 10:24 ` [PATCH 054/138] drm/amd/powerplay: add enum smu_msg_type to header Huang Rui
2019-01-25 10:24 ` [PATCH 055/138] drm/amd/powerplay: implement smu vega20_message_map for vega20 Huang Rui
2019-01-25 10:24 ` [PATCH 056/138] drm/amd/powerplay: use virtual msg index to replace asic-related msg index Huang Rui
2019-01-25 10:24 ` [PATCH 057/138] drm/amd/powerplay: replace SMU_MSG_XXX with PPSMC_MSG_XXX message index for smu11 (v2) Huang Rui
2019-01-25 10:24 ` [PATCH 058/138] drm/amd/powerplay: add append_powerplay_table function Huang Rui
2019-01-25 10:24 ` [PATCH 059/138] drm/amd/powerplay: expose the function of smu read argument Huang Rui
2019-01-25 10:24 ` [PATCH 060/138] drm/amd/powerplay: Change the allocate method of dpm context for smu11 Huang Rui
2019-01-25 10:24 ` [PATCH 061/138] drm/amd/powerplay: implement smu_init_display " Huang Rui
2019-01-25 10:24 ` [PATCH 062/138] drm/amd/powerplay: implement smu_run_afll_btc function Huang Rui
2019-01-25 10:24 ` [PATCH 063/138] drm/amd/powerplay: implement smu feature functions Huang Rui
2019-01-25 10:24 ` [PATCH 064/138] drm/amd/powerplay: implement feature get&set functions Huang Rui
2019-01-25 10:24 ` [PATCH 065/138] drm/amd/powerplay: implement smu_notify_display_change function for smu11 Huang Rui
2019-01-25 10:24 ` [PATCH 066/138] drm/amd/powerplay: set defalut dpm table for smu Huang Rui
2019-01-25 10:24 ` [PATCH 067/138] drm/amd/powerplay: add function to populate umd state clk Huang Rui
2019-01-25 10:24 ` [PATCH 068/138] drm/amd/powerplay: add function to get power limit for smu11 (v2) Huang Rui
2019-01-25 10:24 ` [PATCH 069/138] drm/amd/powerplay: implement get_current_clk_freq for smu11 Huang Rui
2019-01-25 10:24 ` [PATCH 070/138] drm/amd/powerplay: print clock levels for smu11 (v2) Huang Rui
2019-01-25 10:24 ` [PATCH 071/138] drm/amd/powerplay: add get_max_sustainable_clock function Huang Rui
2019-01-25 10:24 ` [PATCH 072/138] drm/amd/powerplay: add function to get thermal range Huang Rui
2019-01-25 10:24 ` [PATCH 073/138] drm/amd/powerplay: add function to set " Huang Rui
2019-01-25 10:24 ` [PATCH 074/138] drm/amd/powerplay: add function to enable thermal alert Huang Rui
2019-01-25 10:24 ` [PATCH 075/138] drm/amd/powerplay: add function to set fan table to control thermal Huang Rui
2019-01-25 10:24 ` [PATCH 076/138] drm/amd/powerplay: add function to start thermal control Huang Rui
2019-01-25 10:24 ` [PATCH 077/138] drm/amd/powerplay: implement smu update table function Huang Rui
2019-01-25 10:24 ` [PATCH 078/138] drm/amd/powerplay: implement is_support_sw_smu function for new smu Huang Rui
2019-01-25 10:24 ` [PATCH 079/138] drm/amd/powerplay: implement sysfs of amdgpu_get_busy_percent for smu11 Huang Rui
2019-01-25 10:24 ` [PATCH 080/138] drm/amd/powerplay: implement sysfs of pp_table " Huang Rui
2019-01-25 10:24 ` [PATCH 081/138] drm/amd/powerplay: upload dpm level " Huang Rui
2019-01-25 10:24 ` [PATCH 082/138] drm/amd/powerplay: force clock levels " Huang Rui
2019-01-25 10:24 ` [PATCH 083/138] drm/amd/powerplay: implement sensor of SCLK and MCLK " Huang Rui
2019-01-25 10:24 ` [PATCH 084/138] drm/amd/powerplay: implement sensor of thermal_get_temperature " Huang Rui
2019-01-25 10:24 ` [PATCH 085/138] drm/amd/powerplay: implement sensor of get_gpu_power " Huang Rui
2019-01-25 10:24 ` [PATCH 086/138] drm/amd/powerplay: implement sensor of get_gfx_vdd " Huang Rui
2019-01-25 10:24 ` [PATCH 087/138] drm/amd/powerplay: implement sensor of get feature mask Huang Rui
2019-01-25 10:24 ` [PATCH 088/138] drm/amd/powerplay: implement sysfs of get num states function Huang Rui
2019-01-25 10:24 ` [PATCH 089/138] drm/amd/powerplay: implement sysfs of pp_cur_state function Huang Rui
2019-01-25 10:24 ` [PATCH 090/138] drm/amd/powerplay: implement sysfs of pp_force_state for sw-smu Huang Rui
2019-01-25 10:24 ` [PATCH 091/138] drm/amd/powerplay: add the function to set deep sleep dcefclk Huang Rui
2019-01-25 10:24 ` [PATCH 092/138] drm/amd/powerplay: add two interfaces to set_active_display_count and store_cc6_data Huang Rui
2019-01-25 10:25 ` [PATCH 093/138] drm/amd/powerplay: add smu display configuration change function Huang Rui
2019-01-25 10:25 ` [PATCH 094/138] drm/amd/powerplay: add get_clock_by_type interface for display Huang Rui
2019-01-25 10:25 ` [PATCH 095/138] drm/amd/powerplay: add interface to get max high clocks " Huang Rui
2019-01-25 10:25 ` [PATCH 096/138] drm/amd/powerplay: add interface to get clock by type with latency for display (v2) Huang Rui
2019-01-25 10:25 ` [PATCH 097/138] drm/amd/powerplay: add interface to get clock by type with voltage for display Huang Rui
2019-01-25 10:25 ` [PATCH 098/138] drm/amd/powerplay: add interface to request display clock voltage Huang Rui
2019-01-25 10:25 ` [PATCH 099/138] drm/amd/powerplay: add interface to get dal power level Huang Rui
2019-01-25 10:25 ` [PATCH 100/138] drm/amd/powerplay: add interface to get performance level Huang Rui
2019-01-25 10:25 ` [PATCH 101/138] drm/amd/powerplay: add interface to get current shallow sleep clocks Huang Rui
2019-01-25 10:25 ` [PATCH 102/138] drm/amd/powerplay: add interface to get current clocks for display Huang Rui
2019-01-25 10:25 ` [PATCH 103/138] drm/amd/powerplay: add interface to notify smu enable pme restore register Huang Rui
2019-01-25 10:25 ` [PATCH 104/138] drm/amd/powerplay: implement interface to set watermarks for clock ranges Huang Rui
2019-01-25 10:25 ` [PATCH 105/138] drm/amd/powerplay: add function to store overdrive information for smu11 Huang Rui
2019-01-25 10:25 ` [PATCH 106/138] drm/amd/powerplay: add function to set default overdrive settings Huang Rui
2019-01-25 10:25 ` [PATCH 107/138] drm/amd/powerplay: add golden dpm table to backup default DPM table Huang Rui
2019-01-25 10:25 ` [PATCH 108/138] drm/amd/powerplay: print overdrive percentage information for smu11 Huang Rui
2019-01-25 10:25 ` [PATCH 109/138] drm/amd/powerplay: get overdrive clock and voltage information Huang Rui
2019-01-25 10:25 ` [PATCH 110/138] drm/amd/powerplay: remove unnecessary checking in smu_hw_fini Huang Rui
2019-01-25 10:25 ` [PATCH 111/138] drm/amd/powerplay: don't check hwmgr while using the sw smu Huang Rui
2019-01-25 10:25 ` [PATCH 112/138] drm/amd/powerplay: implement power_dpm_state sys interface for SMU11 Huang Rui
2019-01-25 10:25 ` [PATCH 113/138] drm/amd/powerplay: add watermarks related data structs and function " Huang Rui
2019-01-25 10:25 ` [PATCH 114/138] drm/amd/powerplay: implement pp_power_profile_mode sys inerface " Huang Rui
2019-01-25 10:25 ` [PATCH 115/138] drm/amd/powerplay: add display_config to handle display config " Huang Rui
2019-01-25 10:25 ` [PATCH 116/138] drm/amd/powerplay: add mclk_latency_table struct and smu_clocks struct " Huang Rui
2019-01-25 10:25 ` [PATCH 117/138] drm/amd/powerplay: add enable_umd_pstate functions " Huang Rui
2019-01-25 10:25 ` [PATCH 118/138] drm/amd/powerplay: add get_profiling_clk_mask " Huang Rui
2019-01-25 10:25 ` [PATCH 119/138] drm/amd/powerplay: add set_uclk_to_highest_level " Huang Rui
2019-01-25 10:25 ` [PATCH 120/138] drm/amd/powerplay: add display_config_changed " Huang Rui
2019-01-25 10:25 ` [PATCH 121/138] drm/amd/powerplay: add apply_clock_adjust_rules " Huang Rui
2019-01-25 10:25 ` [PATCH 122/138] drm/amd/powerplay: add vega20_notify_smc_display_config functions " Huang Rui
2019-01-25 10:25 ` [PATCH 123/138] drm/amd/powerplay: add vega20_find/force_higest/lowest_dpm " Huang Rui
2019-01-25 10:25 ` [PATCH 124/138] drm/amd/powerplay: add vega20_unforce_dpm_levels " Huang Rui
2019-01-25 10:25 ` [PATCH 125/138] drm/amd/powerplay: implement power_dpm_force_performance_level " Huang Rui
2019-01-25 10:25 ` [PATCH 126/138] drm/amd/powerplay: add sys interface for pcie for smu Huang Rui
2019-01-25 10:25 ` [PATCH 127/138] drm/amd/powerplay: add function to update overdrive settings Huang Rui
2019-01-25 10:25 ` [PATCH 128/138] drm/amd/powerplay: add sys interface for set sclk_od/mclk_od for smu Huang Rui
2019-01-25 10:25 ` [PATCH 129/138] drm/amd/powerplay: add sys interface to set pp_od_clk_voltage " Huang Rui
2019-01-25 10:25 ` [PATCH 130/138] drm/amd/powerplay: adjust power state when set od_clk Huang Rui
2019-01-25 10:25 ` [PATCH 131/138] drm/amd/powerplay: dpm clk can be set only when performance level is manual Huang Rui
2019-01-25 10:25 ` [PATCH 132/138] drm/amd/powerplay: implement update enabled feature state to smc for smu11 Huang Rui
2019-01-25 10:25 ` [PATCH 133/138] drm/amd/powerplay: hwmon don't check powerplay when sw smu is enabled Huang Rui
2019-01-25 10:25 ` [PATCH 134/138] drm/amd/powerplay: implement uvd & vce dpm enable functions Huang Rui
2019-01-25 10:25 ` [PATCH 135/138] drm/amd/powerplay: implement sensor of uvd & vce power state for smu11 Huang Rui
2019-01-25 10:25 ` [PATCH 136/138] drm/amd/powerplay: implement dpm enable functions of uvd & vce for smu Huang Rui
2019-01-25 10:25 ` [PATCH 137/138] drm/amd/powerplay: Unify smu handle task function Huang Rui
2019-01-25 10:25 ` [PATCH 138/138] drm/amd/powerplay: enable amdgpu dpm for smu Huang Rui
2019-02-20 12:51 ` [PATCH 000/138] The new SW SMU driver of amdgpu Huang, Ray
[not found] ` <MN2PR12MB330957C48B4613D0D35B1AE4EC7D0-rweVpJHSKTpWdvXm18W95QdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2019-02-20 14:30 ` Deucher, Alexander
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1548411945-12396-14-git-send-email-ray.huang@amd.com \
--to=ray.huang-5c7gfcevmho@public.gmane.org \
--cc=Jack.Gui-5C7GfCeVMHo@public.gmane.org \
--cc=Kevin1.Wang-5C7GfCeVMHo@public.gmane.org \
--cc=Likun.Gao-5C7GfCeVMHo@public.gmane.org \
--cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox