Unverified Commit 1cb962a5 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!3836 Add support for Hygon model 4h QoS

parents 2eea44c9 612ebeec
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
#include <asm/cacheinfo.h>
#include <asm/spec-ctrl.h>
#include <asm/delay.h>
#include <asm/resctrl.h>

#include "cpu.h"

@@ -242,6 +243,7 @@ static void bsp_init_hygon(struct cpuinfo_x86 *c)
			x86_amd_ls_cfg_ssbd_mask = 1ULL << 10;
		}
	}
	resctrl_cpu_detect(c);
}

static void early_init_hygon(struct cpuinfo_x86 *c)
+7 −3
Original line number Diff line number Diff line
@@ -729,7 +729,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;
@@ -880,7 +881,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();
}

@@ -911,7 +913,9 @@ void resctrl_cpu_detect(struct cpuinfo_x86 *c)
		c->x86_cache_occ_scale = ebx;
		c->x86_cache_mbm_width_offset = eax & 0xff;

		if (c->x86_vendor == X86_VENDOR_AMD && !c->x86_cache_mbm_width_offset)
		if ((c->x86_vendor == X86_VENDOR_AMD ||
		     c->x86_vendor == X86_VENDOR_HYGON) &&
		    !c->x86_cache_mbm_width_offset)
			c->x86_cache_mbm_width_offset = MBM_CNTR_WIDTH_OFFSET_AMD;
	}
}