From: Mario Limonciello <superm1@kernel.org>
To: "Shyam Sundar S K" <Shyam-sundar.S-k@amd.com>,
"Rafael J . Wysocki" <rafael@kernel.org>,
"Hans de Goede" <hdegoede@redhat.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Luke D . Jones" <luke@ljones.dev>,
"Mark Pearson" <mpearson-lenovo@squebb.ca>
Cc: platform-driver-x86@vger.kernel.org (open list:AMD PMF DRIVER),
linux-kernel@vger.kernel.org (open list),
linux-acpi@vger.kernel.org (open list:ACPI),
"Derek J . Clark" <derekjohn.clark@gmail.com>,
Antheas Kapenekakis <lkml@antheas.dev>,
me@kylegospodneti.ch, Denis Benato <benato.denis96@gmail.com>,
Mario Limonciello <mario.limonciello@amd.com>
Subject: [RFC 0/2] "custom" ACPI platform profile support
Date: Wed, 25 Sep 2024 21:59:53 -0500 [thread overview]
Message-ID: <20240926025955.1728766-1-superm1@kernel.org> (raw)
From: Mario Limonciello <mario.limonciello@amd.com>
There are two major ways to tune platform performance in Linux:
* ACPI platform profile
* Manually tuning APU performance
Changing the ACPI platform profile is a "one stop shop" to change
performance limits and fan curves all at the same time.
On AMD systems the manual tuning methods typically involve changing
values of settings such as fPPT, sPPT or SPL.
The problem with changing these settings manually is that the definition
of the ACPI platform profile if supported by the hardware is no longer
accurate. At best this can cause misrepresenting the state of the
platform to userspace and at worst can cause the state machine into an
invalid state.
The existence and continued development of projects such as ryzenadj which
manipulate debugging interfaces show there is a demand for manually tuning
performance.
Furthermore some systems (such as ASUS and Lenovo handhelds) offer an
ACPI-WMI interface for changing these settings. If using anything outside
that WMI interface the state will be wrong. If using that WMI interface
the platform profile will be wrong.
This series introduces a "custom" ACPI platform profile and adds support
for the AMD PMF driver to use it when a user has enabled manual
adjustments.
If agreeable a similar change should be made to asus-armoury and any other
drivers that export the ability to change these settings but also a
platform profile.
Mario Limonciello (2):
ACPI: Add support for a 'custom' profile
platform/x86/amd: pmf: Add manual control support
Documentation/ABI/testing/sysfs-amd-pmf | 10 +++
.../ABI/testing/sysfs-platform_profile | 1 +
drivers/acpi/platform_profile.c | 1 +
drivers/platform/x86/amd/pmf/Makefile | 1 +
drivers/platform/x86/amd/pmf/core.c | 9 ++
drivers/platform/x86/amd/pmf/manual.c | 88 +++++++++++++++++++
drivers/platform/x86/amd/pmf/pmf.h | 5 ++
drivers/platform/x86/amd/pmf/sps.c | 4 +
include/linux/platform_profile.h | 1 +
9 files changed, 120 insertions(+)
create mode 100644 drivers/platform/x86/amd/pmf/manual.c
--
2.43.0
next reply other threads:[~2024-09-26 3:00 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-26 2:59 Mario Limonciello [this message]
2024-09-26 2:59 ` [RFC 1/2] ACPI: Add support for a 'custom' profile Mario Limonciello
2024-09-26 2:59 ` [RFC 2/2] platform/x86/amd: pmf: Add manual control support Mario Limonciello
2024-09-26 8:52 ` Antheas Kapenekakis
2024-09-26 18:53 ` Mario Limonciello
2024-09-27 4:01 ` Derek John Clark
2024-09-26 10:25 ` Shyam Sundar S K
2024-09-26 11:00 ` Antheas Kapenekakis
2024-09-26 18:09 ` Mario Limonciello
2024-09-27 8:44 ` Antheas Kapenekakis
2024-12-19 13:12 ` Antheas Kapenekakis
2024-12-19 14:49 ` Mario Limonciello
2024-12-19 15:24 ` Antheas Kapenekakis
2024-12-19 16:13 ` Mario Limonciello
2024-12-19 21:10 ` Antheas Kapenekakis
2024-12-19 21:21 ` Mario Limonciello
2024-12-19 21:27 ` Antheas Kapenekakis
2024-12-19 21:35 ` Mario Limonciello
2024-09-26 8:40 ` [RFC 0/2] "custom" ACPI platform profile support Antheas Kapenekakis
2024-09-26 9:00 ` Antheas Kapenekakis
2024-09-26 13:58 ` Mark Pearson
2024-09-26 18:14 ` Mario Limonciello
2024-09-26 19:19 ` Mark Pearson
2024-09-26 19:41 ` Antheas Kapenekakis
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=20240926025955.1728766-1-superm1@kernel.org \
--to=superm1@kernel.org \
--cc=Shyam-sundar.S-k@amd.com \
--cc=benato.denis96@gmail.com \
--cc=derekjohn.clark@gmail.com \
--cc=hdegoede@redhat.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkml@antheas.dev \
--cc=luke@ljones.dev \
--cc=mario.limonciello@amd.com \
--cc=me@kylegospodneti.ch \
--cc=mpearson-lenovo@squebb.ca \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rafael@kernel.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