Skip to content

Commit c4a5398

Browse files
qzhuo2aegl
authored andcommitted
EDAC/igen6: Add Intel Alder Lake-N SoCs support
Add Intel Alder Lake-N SoC compute die IDs for EDAC support. Alder Lake-N, with one memory controller, is a reduced version of Alder Lake-P, which has two memory controllers. Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
1 parent a264f71 commit c4a5398

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

drivers/edac/igen6_edac.c

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,19 @@ static struct work_struct ecclog_work;
222222
#define DID_ADL_SKU3 0x4621
223223
#define DID_ADL_SKU4 0x4641
224224

225+
/* Compute die IDs for Alder Lake-N with IBECC */
226+
#define DID_ADL_N_SKU1 0x4614
227+
#define DID_ADL_N_SKU2 0x4617
228+
#define DID_ADL_N_SKU3 0x461b
229+
#define DID_ADL_N_SKU4 0x461c
230+
#define DID_ADL_N_SKU5 0x4673
231+
#define DID_ADL_N_SKU6 0x4674
232+
#define DID_ADL_N_SKU7 0x4675
233+
#define DID_ADL_N_SKU8 0x4677
234+
#define DID_ADL_N_SKU9 0x4678
235+
#define DID_ADL_N_SKU10 0x4679
236+
#define DID_ADL_N_SKU11 0x467c
237+
225238
static int get_mchbar(struct pci_dev *pdev, u64 *mchbar)
226239
{
227240
union {
@@ -433,6 +446,17 @@ static struct res_config adl_cfg = {
433446
.err_addr_to_imc_addr = adl_err_addr_to_imc_addr,
434447
};
435448

449+
static struct res_config adl_n_cfg = {
450+
.machine_check = true,
451+
.num_imc = 1,
452+
.imc_base = 0xd800,
453+
.ibecc_base = 0xd400,
454+
.ibecc_error_log_offset = 0x68,
455+
.ibecc_available = tgl_ibecc_available,
456+
.err_addr_to_sys_addr = adl_err_addr_to_sys_addr,
457+
.err_addr_to_imc_addr = adl_err_addr_to_imc_addr,
458+
};
459+
436460
static const struct pci_device_id igen6_pci_tbl[] = {
437461
{ PCI_VDEVICE(INTEL, DID_EHL_SKU5), (kernel_ulong_t)&ehl_cfg },
438462
{ PCI_VDEVICE(INTEL, DID_EHL_SKU6), (kernel_ulong_t)&ehl_cfg },
@@ -454,6 +478,17 @@ static const struct pci_device_id igen6_pci_tbl[] = {
454478
{ PCI_VDEVICE(INTEL, DID_ADL_SKU2), (kernel_ulong_t)&adl_cfg },
455479
{ PCI_VDEVICE(INTEL, DID_ADL_SKU3), (kernel_ulong_t)&adl_cfg },
456480
{ PCI_VDEVICE(INTEL, DID_ADL_SKU4), (kernel_ulong_t)&adl_cfg },
481+
{ PCI_VDEVICE(INTEL, DID_ADL_N_SKU1), (kernel_ulong_t)&adl_n_cfg },
482+
{ PCI_VDEVICE(INTEL, DID_ADL_N_SKU2), (kernel_ulong_t)&adl_n_cfg },
483+
{ PCI_VDEVICE(INTEL, DID_ADL_N_SKU3), (kernel_ulong_t)&adl_n_cfg },
484+
{ PCI_VDEVICE(INTEL, DID_ADL_N_SKU4), (kernel_ulong_t)&adl_n_cfg },
485+
{ PCI_VDEVICE(INTEL, DID_ADL_N_SKU5), (kernel_ulong_t)&adl_n_cfg },
486+
{ PCI_VDEVICE(INTEL, DID_ADL_N_SKU6), (kernel_ulong_t)&adl_n_cfg },
487+
{ PCI_VDEVICE(INTEL, DID_ADL_N_SKU7), (kernel_ulong_t)&adl_n_cfg },
488+
{ PCI_VDEVICE(INTEL, DID_ADL_N_SKU8), (kernel_ulong_t)&adl_n_cfg },
489+
{ PCI_VDEVICE(INTEL, DID_ADL_N_SKU9), (kernel_ulong_t)&adl_n_cfg },
490+
{ PCI_VDEVICE(INTEL, DID_ADL_N_SKU10), (kernel_ulong_t)&adl_n_cfg },
491+
{ PCI_VDEVICE(INTEL, DID_ADL_N_SKU11), (kernel_ulong_t)&adl_n_cfg },
457492
{ },
458493
};
459494
MODULE_DEVICE_TABLE(pci, igen6_pci_tbl);

0 commit comments

Comments
 (0)