]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
EDAC, skx, i10nm: Fix source ID register offset
authorQiuxu Zhuo <qiuxu.zhuo@intel.com>
Wed, 26 Jun 2019 06:16:55 +0000 (14:16 +0800)
committerTony Luck <tony.luck@intel.com>
Wed, 26 Jun 2019 17:07:27 +0000 (10:07 -0700)
The source ID register offset for Skylake server is 0xf0, while for
Icelake server is 0xf8. Pass the correct offset to get the source ID.

Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
drivers/edac/i10nm_base.c
drivers/edac/skx_base.c
drivers/edac/skx_common.c
drivers/edac/skx_common.h

index 72cc20a90ac1b3009d7af1b21787c84316b54d26..83392f2841de0949119fc3bb3af47254ef9b69c4 100644 (file)
@@ -267,7 +267,7 @@ static int __init i10nm_init(void)
                goto fail;
 
        list_for_each_entry(d, i10nm_edac_list, list) {
-               rc = skx_get_src_id(d, &src_id);
+               rc = skx_get_src_id(d, 0xf8, &src_id);
                if (rc < 0)
                        goto fail;
 
index a5c8fa3a249acef3422c29a2541a9acca0d56831..0fcf3785e8f3358e22bd99b4f7a4eb8f2a78bb7c 100644 (file)
@@ -639,7 +639,7 @@ static int __init skx_init(void)
        }
 
        list_for_each_entry(d, skx_edac_list, list) {
-               rc = skx_get_src_id(d, &src_id);
+               rc = skx_get_src_id(d, 0xf0, &src_id);
                if (rc < 0)
                        goto fail;
                rc = skx_get_node_id(d, &node_id);
index b0dddcfa9baa2cb23dde83697b8d63a1d81d41ff..d8ff63d91b860ccedf3c6b930a002fc819fc6a45 100644 (file)
@@ -136,11 +136,11 @@ void skx_set_decode(skx_decode_f decode)
        skx_decode = decode;
 }
 
-int skx_get_src_id(struct skx_dev *d, u8 *id)
+int skx_get_src_id(struct skx_dev *d, int off, u8 *id)
 {
        u32 reg;
 
-       if (pci_read_config_dword(d->util_all, 0xf0, &reg)) {
+       if (pci_read_config_dword(d->util_all, off, &reg)) {
                skx_printk(KERN_ERR, "Failed to read src id\n");
                return -ENODEV;
        }
index d18fa98669af118329fb5db5def0228485d7e490..08cc971a50ea24cb0713472b2e56eb1f6b327f0d 100644 (file)
@@ -118,7 +118,7 @@ int __init skx_adxl_get(void);
 void __exit skx_adxl_put(void);
 void skx_set_decode(skx_decode_f decode);
 
-int skx_get_src_id(struct skx_dev *d, u8 *id);
+int skx_get_src_id(struct skx_dev *d, int off, u8 *id);
 int skx_get_node_id(struct skx_dev *d, u8 *id);
 
 int skx_get_all_bus_mappings(unsigned int did, int off, enum type,