Commit 6ee98aab authored by Xiaochen Shen's avatar Xiaochen Shen Committed by Borislav Petkov (AMD)
Browse files

x86/resctrl: Add missing resctrl initialization for Hygon



Hygon CPUs supporting Platform QoS features currently undergo partial resctrl
initialization through resctrl_cpu_detect() in the Hygon BSP init helper and
AMD/Hygon common initialization code. However, several critical data
structures remain uninitialized for Hygon CPUs in the following paths:

 - get_mem_config()-> __rdt_get_mem_config_amd():
     rdt_resource::membw,alloc_capable
     hw_res::num_closid

 - rdt_init_res_defs()->rdt_init_res_defs_amd():
     rdt_resource::cache
     hw_res::msr_base,msr_update

Add the missing AMD/Hygon common initialization to ensure proper Platform QoS
functionality on Hygon CPUs.

Fixes: d8df1263 ("x86/cpu/hygon: Add missing resctrl_cpu_detect() in bsp_init helper")
Signed-off-by: default avatarXiaochen Shen <shenxiaochen@open-hieco.net>
Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: default avatarReinette Chatre <reinette.chatre@intel.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20251209062650.1536952-2-shenxiaochen@open-hieco.net
parent 0f61b186
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -825,7 +825,8 @@ static __init bool get_mem_config(void)

	if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
		return __get_mem_config_intel(&hw_res->r_resctrl);
	else if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD)
	else if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD ||
		 boot_cpu_data.x86_vendor == X86_VENDOR_HYGON)
		return __rdt_get_mem_config_amd(&hw_res->r_resctrl);

	return false;
@@ -987,7 +988,8 @@ static __init void rdt_init_res_defs(void)
{
	if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
		rdt_init_res_defs_intel();
	else if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD)
	else if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD ||
		 boot_cpu_data.x86_vendor == X86_VENDOR_HYGON)
		rdt_init_res_defs_amd();
}