From: Mario Limonciello <mario.limonciello@amd.com>
To: Giovanni Gherdovich <ggherdovich@suse.cz>,
Huang Rui <ray.huang@amd.com>, Perry Yuan <perry.yuan@amd.com>,
K Prateek Nayak <kprateek.nayak@amd.com>
Cc: "Rafael J . Wysocki" <rafael@kernel.org>,
Viresh Kumar <viresh.kumar@linaro.org>,
linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] cpufreq/amd-pstate: Supply nominal/lowest freq for TRX40-based motherboards
Date: Wed, 7 Oct 2026 14:45:50 -0500 [thread overview]
Message-ID: <ab7921dd-1a28-4df4-a4a8-718e1489ec33@amd.com> (raw)
In-Reply-To: <93531c5c-5638-4a20-919a-8471a7222218@suse.cz>
On 10/7/26 14:38, Giovanni Gherdovich wrote:
> Hello Mario,
>
> [moving Kyle to BCC, I hope it's OK]
>
> in my last message I forgot to reply to the rest of your questions;
> see below. In any event, next step for me is testing the latest bios,
> as there seems to be an update.
>
> On Wed Oct 7, 2026 16:56, Mario Limonciello wrote:
>>
>> Can you please add more information about the vendor/model of the MB,
>> etc?
>
> right.
>
> Motherboard is MSI, model is TRX40 PRO WIFI, CPU is AMD Ryzen
> Threadripper 3960X.
> https://www.msi.com/Motherboard/TRX40-PRO-WIFI
> Practically the same system as Kyle.
>
>>> amd-pstate requires explicit knowledge of nominal frequency, so it
>>> can't load on this hardware. The driver already has a mechanism (the
>>> so-called "quirks") to accommodate for missing nominal freq in ACPI
>>> tables, so here we use it to match against CPU family, model, core
>>> count, and BIOS version.
>>
>> Yeah; it's intended for this specific case of really old hardware that
>> the BIOS isn't going to fix it.
>>
>> I don't understand why core count matters though.
>
> My thinking was:
>
> 1. I want to make the "quirk" to match as many chips as possible, to
> make it more useful and worthwhile.
> 2. The doc I have, "Power and Thermal Data Sheet" (publication #56736
> in the AMD doc library), is for family 0x17, models 0x30-0x3F
> processors.
> 3. Problem: these have different nominal frequencies, depending on the
> core count. Specifically:
> 24 cores: 3800 MHz (like the Ryzen 3090x I need)
> 32 cores: 3700 Mhz
> 64 cores: 2900 MHz
> 4. Thus I decided to match for family 0x17, model 0x30-0x3f, 24 cores.
> Without the core count constraint, I couldn't tell which of the
> three nominal frequencies above should apply.
If there does need to be a quirk I guess I would actually say there
should be 3 quirks then. One for each core count version.>
>>> @@ -174,6 +179,22 @@ static int __init
>>> dmi_matched_7k62_bios_bug(const struct dmi_system_id *dmi)
>>> return 0;
>>> }
>>> +static int __init dmi_matched_trx40_bios_bug(const struct
>>> dmi_system_id *dmi)
>>> +{
>>> + /**
>>> + * Match the Ryzen Threadripper 3000 series, 24-core SKU, sTRX4
>>> socket / TRX40 chipset.
>>> + */
>>> + if (boot_cpu_data.x86 == 0x17 &&
>>> + boot_cpu_data.x86_model >= 0x30 && boot_cpu_data.x86_model
>>> <= 0x3F &&
>>> + topology_num_cores_per_package() == 24) {
>>
>> Does the number of cores actually matter? Do you mean to say if you
>> swap the CPU to another part CPPC works?
>
> No no. It was either wide matching (models 0x30-0x3f) but constraint
> on #cores, or narrow matching for the exact CPU in my motherboard,
> (model 0x31).
> Since I'm hard-coding data into the kernel, I figured wide matching
> would make the quirk more applicable to potentially other affected
> systems, hence more useful.
>
>>> + quirks = dmi->driver_data;
>>> + pr_info("Overriding nominal and lowest frequencies for
>>> %s\n", dmi->ident);
>>
>> The BIOS bug specifically is lack of values, not invalid values,
>> right? Just want to make sure I'm following this right.
>
> Correct, BIOS is lacking the values. That info message "Overriding"
> is taken verbatim from the other "quirk" in the source, but strictly
> speaking inaccurate. Values weren't there to begin with.
>
> All that said, I've asked the openSUSE user to test the newer BIOS,
> we'll see what that gives.
>
>
> Thanks,
> Giovanni
Thanks! Based on the findings from the BIOS update everything in this
thread should be enough to either make a v2 incorporating feedback
(mostly making it clearer) or to drop the patch.
next prev parent reply other threads:[~2026-10-07 19:46 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-07 14:41 Giovanni Gherdovich
2026-10-07 14:56 ` Mario Limonciello
2026-10-07 15:04 ` Kyle Gospodnetich
2026-10-07 15:05 ` Mario Limonciello
2026-10-07 17:36 ` Kyle Gospodnetich
2026-10-07 17:43 ` Kyle Gospodnetich
2026-10-07 18:08 ` Mario Limonciello
2026-10-07 18:30 ` Kyle Gospodnetich
2026-10-07 18:32 ` Mario Limonciello
2026-10-07 18:49 ` Giovanni Gherdovich
2026-10-07 19:38 ` Giovanni Gherdovich
2026-10-07 19:45 ` Mario Limonciello [this message]
2026-10-07 19:59 ` Giovanni Gherdovich
2026-10-08 7:18 ` Giovanni Gherdovich
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=ab7921dd-1a28-4df4-a4a8-718e1489ec33@amd.com \
--to=mario.limonciello@amd.com \
--cc=ggherdovich@suse.cz \
--cc=kprateek.nayak@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=perry.yuan@amd.com \
--cc=rafael@kernel.org \
--cc=ray.huang@amd.com \
--cc=viresh.kumar@linaro.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
all inboxes | Powered by JetHome®