x86/resctrl: Remove hard-coded memory bandwidth limit
authorBabu Moger <babu.moger@amd.com>
Mon, 15 Jan 2024 22:52:27 +0000 (16:52 -0600)
committerBorislav Petkov (AMD) <bp@alien8.de>
Tue, 23 Jan 2024 15:22:51 +0000 (16:22 +0100)
commit0976783bb123f30981bc1e7a14d9626a6f63aeac
tree71556bad15f9d14efe2002903af4280cd1df47e8
parent1b908debf53ff3cf0e43e0fa51e7319a23518e6c
x86/resctrl: Remove hard-coded memory bandwidth limit

The QOS Memory Bandwidth Enforcement Limit is reported by
CPUID_Fn80000020_EAX_x01 and CPUID_Fn80000020_EAX_x02:

  Bits  Description
  31:0  BW_LEN: Size of the QOS Memory Bandwidth Enforcement Limit.

Newer processors can support higher bandwidth limit than the current
hard-coded value. Remove latter and detect using CPUID instead. Also,
update the register variables eax and edx to match the AMD CPUID
definition.

The CPUID details are documented in the Processor Programming Reference
(PPR) Vol 1.1 for AMD Family 19h Model 11h B1 - 55901 Rev 0.25 in the
Link tag below.

Fixes: 4d05bf71f157 ("x86/resctrl: Introduce AMD QOS feature")
Signed-off-by: Babu Moger <babu.moger@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537
Link: https://lore.kernel.org/r/c26a8ca79d399ed076cf8bf2e9fbc58048808289.1705359148.git.babu.moger@amd.com
arch/x86/kernel/cpu/resctrl/core.c
arch/x86/kernel/cpu/resctrl/internal.h