]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
EDAC/amd64: Add family ops for Family 19h Models 00h-0Fh
authorYazen Ghannam <yazen.ghannam@amd.com>
Fri, 10 Jan 2020 01:56:50 +0000 (01:56 +0000)
committerBorislav Petkov <bp@suse.de>
Thu, 16 Jan 2020 16:09:23 +0000 (17:09 +0100)
Add family ops to support AMD Family 19h systems. Existing Family 17h
functions can be used. Also, add Family 19h to the list of families to
automatically load the module.

Signed-off-by: Yazen Ghannam <yazen.ghannam@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20200110015651.14887-5-Yazen.Ghannam@amd.com
drivers/edac/amd64_edac.c
drivers/edac/amd64_edac.h

index 428ce98f6776ccca4050093f448fd8fcc3b17815..2488cbf768142d4c3f2d9bfd6bc1db6ba8ae82ee 100644 (file)
@@ -2336,6 +2336,16 @@ static struct amd64_family_type family_types[] = {
                        .dbam_to_cs             = f17_addr_mask_to_cs_size,
                }
        },
+       [F19_CPUS] = {
+               .ctl_name = "F19h",
+               .f0_id = PCI_DEVICE_ID_AMD_19H_DF_F0,
+               .f6_id = PCI_DEVICE_ID_AMD_19H_DF_F6,
+               .max_mcs = 8,
+               .ops = {
+                       .early_channel_count    = f17_early_channel_count,
+                       .dbam_to_cs             = f17_addr_mask_to_cs_size,
+               }
+       },
 };
 
 /*
@@ -3368,6 +3378,12 @@ static struct amd64_family_type *per_family_init(struct amd64_pvt *pvt)
                        family_types[F17_CPUS].ctl_name = "F18h";
                break;
 
+       case 0x19:
+               fam_type        = &family_types[F19_CPUS];
+               pvt->ops        = &family_types[F19_CPUS].ops;
+               family_types[F19_CPUS].ctl_name = "F19h";
+               break;
+
        default:
                amd64_err("Unsupported family!\n");
                return NULL;
@@ -3626,6 +3642,7 @@ static const struct x86_cpu_id amd64_cpuids[] = {
        { X86_VENDOR_AMD, 0x16, X86_MODEL_ANY,  X86_FEATURE_ANY, 0 },
        { X86_VENDOR_AMD, 0x17, X86_MODEL_ANY,  X86_FEATURE_ANY, 0 },
        { X86_VENDOR_HYGON, 0x18, X86_MODEL_ANY, X86_FEATURE_ANY, 0 },
+       { X86_VENDOR_AMD, 0x19, X86_MODEL_ANY,  X86_FEATURE_ANY, 0 },
        { }
 };
 MODULE_DEVICE_TABLE(x86cpu, amd64_cpuids);
index 9be31688110bd2043b208a055a5bd76bc2919aac..abbf3c274d7498667359e4bdfeca5a6627487b54 100644 (file)
 #define PCI_DEVICE_ID_AMD_17H_M30H_DF_F6 0x1496
 #define PCI_DEVICE_ID_AMD_17H_M70H_DF_F0 0x1440
 #define PCI_DEVICE_ID_AMD_17H_M70H_DF_F6 0x1446
+#define PCI_DEVICE_ID_AMD_19H_DF_F0    0x1650
+#define PCI_DEVICE_ID_AMD_19H_DF_F6    0x1656
 
 /*
  * Function 1 - Address Map
@@ -292,6 +294,7 @@ enum amd_families {
        F17_M10H_CPUS,
        F17_M30H_CPUS,
        F17_M70H_CPUS,
+       F19_CPUS,
        NUM_FAMILIES,
 };