aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/edac/r82600_edac.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/edac/r82600_edac.c')
-rw-r--r--drivers/edac/r82600_edac.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/drivers/edac/r82600_edac.c b/drivers/edac/r82600_edac.c
index 8097f2faaa8c..0a971ebdccec 100644
--- a/drivers/edac/r82600_edac.c
+++ b/drivers/edac/r82600_edac.c
@@ -136,7 +136,7 @@ static unsigned int disable_hardware_scrub = 0;
136static struct edac_pci_ctl_info *r82600_pci; 136static struct edac_pci_ctl_info *r82600_pci;
137 137
138static void r82600_get_error_info(struct mem_ctl_info *mci, 138static void r82600_get_error_info(struct mem_ctl_info *mci,
139 struct r82600_error_info *info) 139 struct r82600_error_info *info)
140{ 140{
141 struct pci_dev *pdev; 141 struct pci_dev *pdev;
142 142
@@ -157,8 +157,8 @@ static void r82600_get_error_info(struct mem_ctl_info *mci,
157} 157}
158 158
159static int r82600_process_error_info(struct mem_ctl_info *mci, 159static int r82600_process_error_info(struct mem_ctl_info *mci,
160 struct r82600_error_info *info, 160 struct r82600_error_info *info,
161 int handle_errors) 161 int handle_errors)
162{ 162{
163 int error_found; 163 int error_found;
164 u32 eapaddr, page; 164 u32 eapaddr, page;
@@ -180,8 +180,9 @@ static int r82600_process_error_info(struct mem_ctl_info *mci,
180 180
181 if (handle_errors) 181 if (handle_errors)
182 edac_mc_handle_ce(mci, page, 0, /* not avail */ 182 edac_mc_handle_ce(mci, page, 0, /* not avail */
183 syndrome, edac_mc_find_csrow_by_page(mci, page), 0, /* channel */ 183 syndrome,
184 mci->ctl_name); 184 edac_mc_find_csrow_by_page(mci, page),
185 0, mci->ctl_name);
185 } 186 }
186 187
187 if (info->eapr & BIT(1)) { /* UE? */ 188 if (info->eapr & BIT(1)) { /* UE? */
@@ -190,8 +191,8 @@ static int r82600_process_error_info(struct mem_ctl_info *mci,
190 if (handle_errors) 191 if (handle_errors)
191 /* 82600 doesn't give enough info */ 192 /* 82600 doesn't give enough info */
192 edac_mc_handle_ue(mci, page, 0, 193 edac_mc_handle_ue(mci, page, 0,
193 edac_mc_find_csrow_by_page(mci, page), 194 edac_mc_find_csrow_by_page(mci, page),
194 mci->ctl_name); 195 mci->ctl_name);
195 } 196 }
196 197
197 return error_found; 198 return error_found;
@@ -212,7 +213,7 @@ static inline int ecc_enabled(u8 dramcr)
212} 213}
213 214
214static void r82600_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev, 215static void r82600_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev,
215 u8 dramcr) 216 u8 dramcr)
216{ 217{
217 struct csrow_info *csrow; 218 struct csrow_info *csrow;
218 int index; 219 int index;
@@ -342,14 +343,14 @@ static int r82600_probe1(struct pci_dev *pdev, int dev_idx)
342 debugf3("%s(): success\n", __func__); 343 debugf3("%s(): success\n", __func__);
343 return 0; 344 return 0;
344 345
345 fail: 346fail:
346 edac_mc_free(mci); 347 edac_mc_free(mci);
347 return -ENODEV; 348 return -ENODEV;
348} 349}
349 350
350/* returns count (>= 0), or negative on error */ 351/* returns count (>= 0), or negative on error */
351static int __devinit r82600_init_one(struct pci_dev *pdev, 352static int __devinit r82600_init_one(struct pci_dev *pdev,
352 const struct pci_device_id *ent) 353 const struct pci_device_id *ent)
353{ 354{
354 debugf0("%s()\n", __func__); 355 debugf0("%s()\n", __func__);
355 356
@@ -405,7 +406,7 @@ module_exit(r82600_exit);
405 406
406MODULE_LICENSE("GPL"); 407MODULE_LICENSE("GPL");
407MODULE_AUTHOR("Tim Small <tim@buttersideup.com> - WPAD Ltd. " 408MODULE_AUTHOR("Tim Small <tim@buttersideup.com> - WPAD Ltd. "
408 "on behalf of EADS Astrium"); 409 "on behalf of EADS Astrium");
409MODULE_DESCRIPTION("MC support for Radisys 82600 memory controllers"); 410MODULE_DESCRIPTION("MC support for Radisys 82600 memory controllers");
410 411
411module_param(disable_hardware_scrub, bool, 0644); 412module_param(disable_hardware_scrub, bool, 0644);