]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
platform/x86/intel/pmc: rate-limit LTR scale-factor warning
authorMike Bommarito <michael.bommarito@gmail.com>
Sat, 23 May 2026 11:45:17 +0000 (07:45 -0400)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 9 Jun 2026 07:34:59 +0000 (10:34 +0300)
commitceb8678adfd68b33d5e8a52cb2e96cfa90d81761
tree7f859ade5de9702c132c30d8f7ddbb530d725278
parentabefbbfc71f5ee50f9e549a2d143f23694d65fc2
platform/x86/intel/pmc: rate-limit LTR scale-factor warning

convert_ltr_scale() emits an unconditional pr_warn() whenever an LTR row
encoded by hardware has a scale-factor field of 6 or 7 (reserved values
per the PCIe LTR ECN).  The function is called twice per LTR row (snoop
+ non-snoop) by pmc_core_ltr_show(), which is invoked on every read of
/sys/kernel/debug/pmc_core/ltr_show as well as during certain platform
driver activity.

On a Meteor Lake laptop with an Intel AX210 Wi-Fi card, this produces
4-12 "Invalid LTR scale factor." lines per second in dmesg, with no
context to help identify which PMC IP / row carries the bad value.

Switch to pr_warn_once() so the warning still flags the spec violation
once per boot, and include the offending scale value in the message.
Identifying the originating LTR row would require restructuring the
caller's loop to perform the validity check itself; that is left as a
separate change.

Assisted-by: Claude:claude-opus-4-7
Signed-off-by: Mike Bommarito <michael.bommarito@gmail.com>
Link: https://patch.msgid.link/20260523114517.101305-1-michael.bommarito@gmail.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/intel/pmc/core.c