Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 200031
b: refs/heads/master
c: 310cbb7
h: refs/heads/master
i:
  200029: 360a4f0
  200027: db5160d
  200023: b29444f
  200015: 2e0c718
  199999: a3d9855
v: v3
  • Loading branch information
Mauro Carvalho Chehab committed May 10, 2010
1 parent 3193fef commit cb4deb0
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f237fcf2b7560be33386255042dc11167ca486d5
refs/heads/master: 310cbb7284fab9fc9cbb6bb893e51c414e15bba3
23 changes: 20 additions & 3 deletions trunk/drivers/edac/i7core_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -227,9 +227,6 @@ struct i7core_dev_info {
.dev_id = (device_id)

struct pci_id_descr pci_devs[] = {
/* Generic Non-core registers */
{ PCI_DESCR(0, 0, PCI_DEVICE_ID_INTEL_I7_NOCORE) },

/* Memory controller */
{ PCI_DESCR(3, 0, PCI_DEVICE_ID_INTEL_I7_MCR) },
{ PCI_DESCR(3, 1, PCI_DEVICE_ID_INTEL_I7_MC_TAD) },
Expand All @@ -253,6 +250,16 @@ struct pci_id_descr pci_devs[] = {
{ PCI_DESCR(6, 1, PCI_DEVICE_ID_INTEL_I7_MC_CH2_ADDR) },
{ PCI_DESCR(6, 2, PCI_DEVICE_ID_INTEL_I7_MC_CH2_RANK) },
{ PCI_DESCR(6, 3, PCI_DEVICE_ID_INTEL_I7_MC_CH2_TC) },

/* Generic Non-core registers */
/*
* This is the PCI device on i7core and on Xeon 35xx (8086:2c41)
* On Xeon 55xx, however, it has a different id (8086:2c40). So,
* the probing code needs to test for the other address in case of
* failure of this one
*/
{ PCI_DESCR(0, 0, PCI_DEVICE_ID_INTEL_I7_NOCORE) },

};
#define N_DEVS ARRAY_SIZE(pci_devs)

Expand Down Expand Up @@ -1138,6 +1145,16 @@ static int i7core_get_devices(void)
pci_devs[i].dev_id, NULL);
}

/*
* On Xeon 55xx, the Intel Quckpath Arch Generic Non-core regs
* is at addr 8086:2c40, instead of 8086:2c41. So, we need
* to probe for the alternate address in case of failure
*/
if (pci_devs[i].dev_id == PCI_DEVICE_ID_INTEL_I7_NOCORE
&& !pdev)
pdev = pci_get_device(PCI_VENDOR_ID_INTEL,
PCI_DEVICE_ID_INTEL_I7_NOCORE_ALT, NULL);

if (likely(pdev)) {
bus = pdev->bus->number;

Expand Down
1 change: 1 addition & 0 deletions trunk/include/linux/pci_ids.h
Original file line number Diff line number Diff line change
Expand Up @@ -2549,6 +2549,7 @@
#define PCI_DEVICE_ID_INTEL_I7_MC_CH2_RANK 0x2c32
#define PCI_DEVICE_ID_INTEL_I7_MC_CH2_TC 0x2c33
#define PCI_DEVICE_ID_INTEL_I7_NOCORE 0x2c41
#define PCI_DEVICE_ID_INTEL_I7_NOCORE_ALT 0x2c40
#define PCI_DEVICE_ID_INTEL_82855PM_HB 0x3340
#define PCI_DEVICE_ID_INTEL_IOAT_TBG4 0x3429
#define PCI_DEVICE_ID_INTEL_IOAT_TBG5 0x342a
Expand Down

0 comments on commit cb4deb0

Please sign in to comment.