提交 1dc78f1f 编写于 作者: Q Qiuxu Zhuo 提交者: Tony Luck

EDAC, skx, i10nm: Fix source ID register offset

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: NQiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: NTony Luck <tony.luck@intel.com>
上级 c4a1dd9e
...@@ -267,7 +267,7 @@ static int __init i10nm_init(void) ...@@ -267,7 +267,7 @@ static int __init i10nm_init(void)
goto fail; goto fail;
list_for_each_entry(d, i10nm_edac_list, list) { 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) if (rc < 0)
goto fail; goto fail;
......
...@@ -639,7 +639,7 @@ static int __init skx_init(void) ...@@ -639,7 +639,7 @@ static int __init skx_init(void)
} }
list_for_each_entry(d, skx_edac_list, list) { 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) if (rc < 0)
goto fail; goto fail;
rc = skx_get_node_id(d, &node_id); rc = skx_get_node_id(d, &node_id);
......
...@@ -136,11 +136,11 @@ void skx_set_decode(skx_decode_f decode) ...@@ -136,11 +136,11 @@ void skx_set_decode(skx_decode_f decode)
skx_decode = 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; 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"); skx_printk(KERN_ERR, "Failed to read src id\n");
return -ENODEV; return -ENODEV;
} }
......
...@@ -118,7 +118,7 @@ int __init skx_adxl_get(void); ...@@ -118,7 +118,7 @@ int __init skx_adxl_get(void);
void __exit skx_adxl_put(void); void __exit skx_adxl_put(void);
void skx_set_decode(skx_decode_f decode); 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_node_id(struct skx_dev *d, u8 *id);
int skx_get_all_bus_mappings(unsigned int did, int off, enum type, int skx_get_all_bus_mappings(unsigned int did, int off, enum type,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册