From: "Timur Kristóf" <timur.kristof@gmail.com>
To: amd-gfx@lists.freedesktop.org, alexander.deucher@amd.com,
Alex Hung <alex.hung@amd.com>,
Harry Wentland <Harry.Wentland@amd.com>,
Roman Li <Roman.Li@amd.com>, Leo Li <sunpeng.li@amd.com>,
David Airlie <airlied@gmail.com>,
Mario Limonciello <mario.limonciello@amd.com>,
Ivan Lipski <ivan.lipski@amd.com>, Melissa Wen <mwen@igalia.com>
Cc: "Timur Kristóf" <timur.kristof@gmail.com>
Subject: [PATCH 00/14] drm/amd: Delete defunct DAL power level code
Date: Thu, 23 Apr 2026 21:15:05 +0200 [thread overview]
Message-ID: <20260423191519.73127-1-timur.kristof@gmail.com> (raw)
Delete unused code related to DAL power levels.
It seems that the DAL power level concept has been
never fully implemented and was thus non-functional
in amdgpu.
DCE 11.0 and 11.2 never actually relied on the
power level because they calculate all necessary
power requirements in dce_calcs and communicate
that using dm_pp_apply_display_requirements() to
the power management code.
DCE 6, 8 and 10 also didn't rely on power levels
because they always just set the maximum possible
display clock and the power management code
already takes that into account when setting the
power state. This was somewhat improved recently
by also using dm_pp_apply_display_requirements()
on these DCE versions.
The code base for newer GPUs doesn't use the
concept of power levels anymore either, so
this change reduces the maintenance burden
of the old DCE code.
On the DC side:
dm_pp_apply_power_level_change_request() was never
implemented in amdgpu_dm, and DC has been working
fine for years without it. Let's delete the dummy
function and the code that calls it.
With that, we can also delete the power levels
and the static arrays containing hardcoded power
level values. These were never used for anything,
only for finding the maximum supported display clock.
On the AMDGPU PM side:
The get_dal_power_level() implementations were
dummy on SMU10, Vega10, Vega12 and Vega20 meaning
that they didn't return an actual DAL power level,
and were non-functional on SMU8 which always
returned the highest possible power level.
Nothing actually relied on the power level
returned by these functions. Let's delete them.
What's next:
After this code cleanup lands, I have plans to
further improve display power management on old DCE.
Timur Kristóf (14):
drm/amd/display: Delete unimplemented
dm_pp_apply_power_level_change_request()
drm/amd/display: Delete dce_get_required_clocks_state()
drm/amd/display: Remove min/max clock levels from clk_mgr
drm/amd/display: Delete max_clocks_state from dm_pp_static_clock_info
drm/amd/display: Set max supported display clock without
max_clks_by_state
drm/amd/display: Delete max_clks_by_state from DCE clock manager
drm/amd/display: Delete disp_clk_voltage from integrated info
drm/amd/display: Delete dm_pp_clocks_state
drm/amd/pm: Delete unused get_display_power_level() function
drm/amd/pm: Delete dummy get_dal_power_level implementations
drm/amd/pm: Delete non-functional SMU8 get_dal_power_level
implementation
drm/amd/pm: Delete vddc_dep_on_dal_pwrl
drm/amd/pm: Delete get_dal_power_level
drm/amd/pm: Delete PP_DAL_POWERLEVEL
.../amd/display/amdgpu_dm/amdgpu_dm_pp_smu.c | 39 -----
.../gpu/drm/amd/display/dc/bios/bios_parser.c | 36 -----
.../drm/amd/display/dc/bios/bios_parser2.c | 9 --
.../display/dc/clk_mgr/dce100/dce_clk_mgr.c | 144 ++----------------
.../display/dc/clk_mgr/dce100/dce_clk_mgr.h | 3 -
.../dc/clk_mgr/dce110/dce110_clk_mgr.c | 25 ---
.../dc/clk_mgr/dce112/dce112_clk_mgr.c | 41 -----
.../dc/clk_mgr/dce120/dce120_clk_mgr.c | 16 --
drivers/gpu/drm/amd/display/dc/dm_services.h | 4 -
.../drm/amd/display/dc/dm_services_types.h | 30 ----
.../amd/display/dc/inc/hw/clk_mgr_internal.h | 4 -
.../display/include/grph_object_ctrl_defs.h | 9 --
drivers/gpu/drm/amd/include/dm_pp_interface.h | 19 ---
.../gpu/drm/amd/include/kgd_pp_interface.h | 2 -
.../gpu/drm/amd/pm/powerplay/amd_powerplay.c | 22 ---
.../amd/pm/powerplay/hwmgr/hardwaremanager.c | 10 --
.../amd/pm/powerplay/hwmgr/processpptables.c | 1 -
.../drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.c | 48 ------
.../drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c | 64 --------
.../drm/amd/pm/powerplay/hwmgr/vega10_hwmgr.c | 18 ---
.../drm/amd/pm/powerplay/hwmgr/vega12_hwmgr.c | 16 --
.../drm/amd/pm/powerplay/hwmgr/vega20_hwmgr.c | 17 ---
.../amd/pm/powerplay/inc/hardwaremanager.h | 3 -
drivers/gpu/drm/amd/pm/powerplay/inc/hwmgr.h | 4 -
24 files changed, 11 insertions(+), 573 deletions(-)
--
2.53.0
next reply other threads:[~2026-04-23 19:15 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-23 19:15 Timur Kristóf [this message]
2026-04-23 19:15 ` [PATCH 01/14] drm/amd/display: Delete unimplemented dm_pp_apply_power_level_change_request() Timur Kristóf
2026-04-24 14:19 ` Melissa Wen
2026-04-24 16:27 ` Timur Kristóf
2026-04-29 20:02 ` Melissa Wen
2026-04-23 19:15 ` [PATCH 02/14] drm/amd/display: Delete dce_get_required_clocks_state() Timur Kristóf
2026-04-29 20:03 ` Melissa Wen
2026-04-23 19:15 ` [PATCH 03/14] drm/amd/display: Remove min/max clock levels from clk_mgr Timur Kristóf
2026-04-24 14:21 ` Melissa Wen
2026-04-24 16:28 ` Timur Kristóf
2026-04-29 20:05 ` Melissa Wen
2026-04-23 19:15 ` [PATCH 04/14] drm/amd/display: Delete max_clocks_state from dm_pp_static_clock_info Timur Kristóf
2026-04-29 20:06 ` Melissa Wen
2026-04-23 19:15 ` [PATCH 05/14] drm/amd/display: Set max supported display clock without max_clks_by_state Timur Kristóf
2026-04-29 20:24 ` Melissa Wen
2026-04-30 12:28 ` Timur Kristóf
2026-04-30 18:06 ` Melissa Wen
2026-04-23 19:15 ` [PATCH 06/14] drm/amd/display: Delete max_clks_by_state from DCE clock manager Timur Kristóf
2026-04-29 20:29 ` Melissa Wen
2026-04-23 19:15 ` [PATCH 07/14] drm/amd/display: Delete disp_clk_voltage from integrated info Timur Kristóf
2026-04-29 20:35 ` Melissa Wen
2026-04-30 12:30 ` Timur Kristóf
2026-04-23 19:15 ` [PATCH 08/14] drm/amd/display: Delete dm_pp_clocks_state Timur Kristóf
2026-04-29 20:37 ` Melissa Wen
2026-04-30 12:31 ` Timur Kristóf
2026-04-23 19:15 ` [PATCH 09/14] drm/amd/pm: Delete unused get_display_power_level() function Timur Kristóf
2026-04-30 17:56 ` Melissa Wen
2026-04-23 19:15 ` [PATCH 10/14] drm/amd/pm: Delete dummy get_dal_power_level implementations Timur Kristóf
2026-04-30 18:42 ` Melissa Wen
2026-04-23 19:15 ` [PATCH 11/14] drm/amd/pm: Delete non-functional SMU8 get_dal_power_level implementation Timur Kristóf
2026-04-30 18:53 ` Melissa Wen
2026-04-23 19:15 ` [PATCH 12/14] drm/amd/pm: Delete vddc_dep_on_dal_pwrl Timur Kristóf
2026-04-30 19:03 ` Melissa Wen
2026-04-23 19:15 ` [PATCH 13/14] drm/amd/pm: Delete get_dal_power_level Timur Kristóf
2026-04-30 19:03 ` Melissa Wen
2026-04-23 19:15 ` [PATCH 14/14] drm/amd/pm: Delete PP_DAL_POWERLEVEL Timur Kristóf
2026-04-30 19:04 ` Melissa Wen
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=20260423191519.73127-1-timur.kristof@gmail.com \
--to=timur.kristof@gmail.com \
--cc=Harry.Wentland@amd.com \
--cc=Roman.Li@amd.com \
--cc=airlied@gmail.com \
--cc=alex.hung@amd.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=ivan.lipski@amd.com \
--cc=mario.limonciello@amd.com \
--cc=mwen@igalia.com \
--cc=sunpeng.li@amd.com \
/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