Unverified Commit 7dff1425 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!8822 Add support for Hygon model 10h processors

Merge Pull Request from: @liao-xuan1 
 
Update the CPU topology and NB, EDAC, k10temp,audio drivers for Hygon
family 18h model 10h processors.

Reference:
https://gitee.com/deepin-kernelsig/kernel/pulls/1
https://gitee.com/OpenCloudOS/OpenCloudOS-Kernel/pulls/54 
 
Link:https://gitee.com/openeuler/kernel/pulls/8822

 

Reviewed-by: default avatarZhang Peng <zhangpeng362@huawei.com>
Reviewed-by: default avatarXie XiuQi <xiexiuqi@huawei.com>
Signed-off-by: default avatarZhang Peng <zhangpeng362@huawei.com>
parents 1c1fdc05 f0b20b66
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -45,9 +45,11 @@
#define PCI_DEVICE_ID_AMD_MI200_DF_F4		0x14d4

#define PCI_DEVICE_ID_HYGON_18H_M05H_ROOT	0x14a0
#define PCI_DEVICE_ID_HYGON_18H_M10H_ROOT	0x14c0
#define PCI_DEVICE_ID_HYGON_18H_M04H_DF_F1	0x1491
#define PCI_DEVICE_ID_HYGON_18H_M05H_DF_F1	0x14b1
#define PCI_DEVICE_ID_HYGON_18H_M05H_DF_F4	0x14b4
#define PCI_DEVICE_ID_HYGON_18H_M10H_DF_F4	0x14d4
#define PCI_DEVICE_ID_HYGON_18H_M06H_DF_F5	0x14b5

/* Protect the PCI config register pairs used for SMN. */
@@ -132,6 +134,7 @@ static const struct pci_device_id hygon_root_ids[] = {
	{ PCI_DEVICE(PCI_VENDOR_ID_HYGON, PCI_DEVICE_ID_AMD_17H_ROOT) },
	{ PCI_DEVICE(PCI_VENDOR_ID_HYGON, PCI_DEVICE_ID_AMD_17H_M30H_ROOT) },
	{ PCI_DEVICE(PCI_VENDOR_ID_HYGON, PCI_DEVICE_ID_HYGON_18H_M05H_ROOT) },
	{ PCI_DEVICE(PCI_VENDOR_ID_HYGON, PCI_DEVICE_ID_HYGON_18H_M10H_ROOT) },
	{}
};

@@ -139,6 +142,7 @@ static const struct pci_device_id hygon_nb_misc_ids[] = {
	{ PCI_DEVICE(PCI_VENDOR_ID_HYGON, PCI_DEVICE_ID_AMD_17H_DF_F3) },
	{ PCI_DEVICE(PCI_VENDOR_ID_HYGON, PCI_DEVICE_ID_AMD_17H_M30H_DF_F3) },
	{ PCI_DEVICE(PCI_VENDOR_ID_HYGON, PCI_DEVICE_ID_HYGON_18H_M05H_DF_F3) },
	{ PCI_DEVICE(PCI_VENDOR_ID_HYGON, PCI_DEVICE_ID_HYGON_18H_M10H_DF_F3) },
	{}
};

@@ -146,6 +150,7 @@ static const struct pci_device_id hygon_nb_link_ids[] = {
	{ PCI_DEVICE(PCI_VENDOR_ID_HYGON, PCI_DEVICE_ID_AMD_17H_DF_F4) },
	{ PCI_DEVICE(PCI_VENDOR_ID_HYGON, PCI_DEVICE_ID_AMD_17H_M30H_DF_F4) },
	{ PCI_DEVICE(PCI_VENDOR_ID_HYGON, PCI_DEVICE_ID_HYGON_18H_M05H_DF_F4) },
	{ PCI_DEVICE(PCI_VENDOR_ID_HYGON, PCI_DEVICE_ID_HYGON_18H_M10H_DF_F4) },
	{}
};

+2 −1
Original line number Diff line number Diff line
@@ -708,7 +708,8 @@ void cacheinfo_hygon_init_llc_id(struct cpuinfo_x86 *c, int cpu)
	if (!cpuid_edx(0x80000006))
		return;

	if (c->x86_model < 0x5) {
	if (c->x86_model < 0x5 ||
	   (c->x86_model >= 0x10 && c->x86_model <= 0x1f)) {
		/*
		 * LLC is at the core complex level.
		 * Core complex ID is ApicId[3] for these processors.
+3 −0
Original line number Diff line number Diff line
@@ -4173,6 +4173,9 @@ static int per_family_init(struct amd64_pvt *pvt)
		} else if (pvt->model == 0x6) {
			pvt->ctl_name			= "F18h_M06h";
			break;
		} else if (pvt->model == 0x10) {
			pvt->ctl_name			= "F18h_M10h";
			break;
		}
		pvt->ctl_name				= "F18h";
		break;
+1 −0
Original line number Diff line number Diff line
@@ -609,6 +609,7 @@ static const struct pci_device_id k10temp_id_table[] = {
	{ PCI_VDEVICE(HYGON, PCI_DEVICE_ID_AMD_17H_DF_F3) },
	{ PCI_VDEVICE(HYGON, PCI_DEVICE_ID_AMD_17H_M30H_DF_F3) },
	{ PCI_VDEVICE(HYGON, PCI_DEVICE_ID_HYGON_18H_M05H_DF_F3) },
	{ PCI_VDEVICE(HYGON, PCI_DEVICE_ID_HYGON_18H_M10H_DF_F3) },
	{}
};
MODULE_DEVICE_TABLE(pci, k10temp_id_table);
+2 −0
Original line number Diff line number Diff line
@@ -2599,7 +2599,9 @@

#define PCI_VENDOR_ID_HYGON		0x1d94
#define PCI_DEVICE_ID_HYGON_18H_M05H_HDA	0x14a9
#define PCI_DEVICE_ID_HYGON_18H_M10H_HDA	0x14c9
#define PCI_DEVICE_ID_HYGON_18H_M05H_DF_F3	0x14b3
#define PCI_DEVICE_ID_HYGON_18H_M10H_DF_F3	0x14d3

#define PCI_VENDOR_ID_FUNGIBLE		0x1dad

Loading