FAILED: patch "[PATCH] drm/amd/pm: enable GPO dynamic control support for SMU13.0.0" failed to apply to 6.1-stable tree
[email protected]
maintainerThe patch below does not apply to the 6.1-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
Possible dependencies:
1794f6a9535b ("drm/amd/pm: enable GPO dynamic control support for SMU13.0.0") 48aa62f07467 ("drm/amd/pm: Enable bad memory page/channel recording support for smu v13_0_0") 8ae5a38c8cb3 ("drm/amd/pm: enable runpm support over BACO for SMU13.0.0") 60cfad329ab8 ("drm/amd/pm: enable mode1 reset on smu_v13_0_10")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 1794f6a9535bb5234c2b747d1bc6dad03249245a Mon Sep 17 00:00:00 2001
From: Evan Quan <[email protected]>
Date: Fri, 2 Dec 2022 13:56:35 +0800
Subject: [PATCH] drm/amd/pm: enable GPO dynamic control support for SMU13.0.0
To better support UMD pstate profilings, the GPO feature needs to be switched on/off accordingly.
drivers/gpu/drm/amd/pm/swsmu/inc/smu_types.h +2 -1
@@ -241,7 +241,8 @@__SMU_DUMMY_MAP (GetGfxOffEntryCount), \__SMU_DUMMY_MAP (LogGfxOffResidency), \__SMU_DUMMY_MAP (SetNumBadMemoryPagesRetired), \ -__SMU_DUMMY_MAP (SetBadMemoryPagesRetiredFlagsPerChannel), +__SMU_DUMMY_MAP (SetBadMemoryPagesRetiredFlagsPerChannel), \ +__SMU_DUMMY_MAP (AllowGpo), #undef __SMU_DUMMY_MAP#define __SMU_DUMMY_MAP (type) SMU_MSG_##type
drivers/gpu/drm/amd/pm/swsmu/inc/smu_v13_0.h +3 -0
@@ -272,6 +272,9 @@ int smu_v13_0_init_pptable_microcode(struct smu_context *smu);int smu_v13_0_run_btc (struct smu_context *smu); +int smu_v13_0_gpo_control (struct smu_context *smu, +bool enablement); +int smu_v13_0_deep_sleep_control (struct smu_context *smu,bool enablement);
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c +15 -0
@@ -2180,6 +2180,21 @@ int smu_v13_0_run_btc(struct smu_context *smu)return res; } +int smu_v13_0_gpo_control (struct smu_context *smu, +bool enablement) +{ +int res; + + res =smu_cmn_send_smc_msg_with_param (smu, + SMU_MSG_AllowGpo, + enablement ?1 :0 , +NULL ); +if (res) +dev_err (smu->adev->dev,"SetGpoAllow %d failed!\n" , enablement); + +return res; +} +int smu_v13_0_deep_sleep_control (struct smu_context *smu,bool enablement) {
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c +2 -0
@@ -144,6 +144,7 @@ static struct cmn2asic_msg_mapping smu_v13_0_0_message_map[SMU_MSG_MAX_COUNT] =MSG_MAP (SetNumBadMemoryPagesRetired, PPSMC_MSG_SetNumBadMemoryPagesRetired,0 ),MSG_MAP (SetBadMemoryPagesRetiredFlagsPerChannel, PPSMC_MSG_SetBadMemoryPagesRetiredFlagsPerChannel,0 ), + MSG_MAP(AllowGpo, PPSMC_MSG_SetGpoAllow, 0), }; static struct cmn2asic_mapping smu_v13_0_0_clk_map[SMU_CLK_COUNT] = {
@@ -1949,6 +1950,7 @@ static const struct pptable_funcs smu_v13_0_0_ppt_funcs = { .set_df_cstate = smu_v13_0_0_set_df_cstate, .send_hbm_bad_pages_num = smu_v13_0_0_smu_send_bad_mem_page_num, .send_hbm_bad_channel_flag = smu_v13_0_0_send_bad_mem_channel_flag, + .gpo_control = smu_v13_0_gpo_control, };void smu_v13_0_0_set_ppt_funcs (struct smu_context *smu)