aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/edac/i3000_edac.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/edac/i3000_edac.c b/drivers/edac/i3000_edac.c
index 62d961e68973..b813f356b390 100644
--- a/drivers/edac/i3000_edac.c
+++ b/drivers/edac/i3000_edac.c
@@ -14,6 +14,7 @@
14#include <linux/pci.h> 14#include <linux/pci.h>
15#include <linux/pci_ids.h> 15#include <linux/pci_ids.h>
16#include <linux/slab.h> 16#include <linux/slab.h>
17#include <linux/edac.h>
17#include "edac_core.h" 18#include "edac_core.h"
18 19
19#define I3000_REVISION "1.1" 20#define I3000_REVISION "1.1"
@@ -318,6 +319,15 @@ static int i3000_probe1(struct pci_dev *pdev, int dev_idx)
318 return -ENODEV; 319 return -ENODEV;
319 } 320 }
320 321
322 switch (edac_op_state) {
323 case EDAC_OPSTATE_POLL:
324 case EDAC_OPSTATE_NMI:
325 break;
326 default:
327 edac_op_state = EDAC_OPSTATE_POLL;
328 break;
329 }
330
321 c0dra[0] = readb(window + I3000_C0DRA + 0); /* ranks 0,1 */ 331 c0dra[0] = readb(window + I3000_C0DRA + 0); /* ranks 0,1 */
322 c0dra[1] = readb(window + I3000_C0DRA + 1); /* ranks 2,3 */ 332 c0dra[1] = readb(window + I3000_C0DRA + 1); /* ranks 2,3 */
323 c1dra[0] = readb(window + I3000_C1DRA + 0); /* ranks 0,1 */ 333 c1dra[0] = readb(window + I3000_C1DRA + 0); /* ranks 0,1 */
@@ -537,3 +547,6 @@ module_exit(i3000_exit);
537MODULE_LICENSE("GPL"); 547MODULE_LICENSE("GPL");
538MODULE_AUTHOR("Akamai Technologies Arthur Ulfeldt/Jason Uhlenkott"); 548MODULE_AUTHOR("Akamai Technologies Arthur Ulfeldt/Jason Uhlenkott");
539MODULE_DESCRIPTION("MC support for Intel 3000 memory hub controllers"); 549MODULE_DESCRIPTION("MC support for Intel 3000 memory hub controllers");
550
551module_param(edac_op_state, int, 0444);
552MODULE_PARM_DESC(edac_op_state, "EDAC Error Reporting state: 0=Poll,1=NMI");