aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid/megaraid_mbox.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/megaraid/megaraid_mbox.c')
-rw-r--r--drivers/scsi/megaraid/megaraid_mbox.c82
1 files changed, 9 insertions, 73 deletions
diff --git a/drivers/scsi/megaraid/megaraid_mbox.c b/drivers/scsi/megaraid/megaraid_mbox.c
index 4b5d420d2f4d..d18a4bc2498c 100644
--- a/drivers/scsi/megaraid/megaraid_mbox.c
+++ b/drivers/scsi/megaraid/megaraid_mbox.c
@@ -10,12 +10,13 @@
10 * 2 of the License, or (at your option) any later version. 10 * 2 of the License, or (at your option) any later version.
11 * 11 *
12 * FILE : megaraid_mbox.c 12 * FILE : megaraid_mbox.c
13 * Version : v2.20.4.6 (Mar 07 2005) 13 * Version : v2.20.4.7 (Nov 14 2005)
14 * 14 *
15 * Authors: 15 * Authors:
16 * Atul Mukker <Atul.Mukker@lsil.com> 16 * Atul Mukker <Atul.Mukker@lsil.com>
17 * Sreenivas Bagalkote <Sreenivas.Bagalkote@lsil.com> 17 * Sreenivas Bagalkote <Sreenivas.Bagalkote@lsil.com>
18 * Manoj Jose <Manoj.Jose@lsil.com> 18 * Manoj Jose <Manoj.Jose@lsil.com>
19 * Seokmann Ju <Seokmann.Ju@lsil.com>
19 * 20 *
20 * List of supported controllers 21 * List of supported controllers
21 * 22 *
@@ -136,7 +137,7 @@ static int wait_till_fw_empty(adapter_t *);
136 137
137 138
138 139
139MODULE_AUTHOR("LSI Logic Corporation"); 140MODULE_AUTHOR("sju@lsil.com");
140MODULE_DESCRIPTION("LSI Logic MegaRAID Mailbox Driver"); 141MODULE_DESCRIPTION("LSI Logic MegaRAID Mailbox Driver");
141MODULE_LICENSE("GPL"); 142MODULE_LICENSE("GPL");
142MODULE_VERSION(MEGARAID_VERSION); 143MODULE_VERSION(MEGARAID_VERSION);
@@ -278,68 +279,14 @@ static struct pci_device_id pci_id_table_g[] = {
278 { 279 {
279 PCI_VENDOR_ID_AMI, 280 PCI_VENDOR_ID_AMI,
280 PCI_DEVICE_ID_AMI_MEGARAID3, 281 PCI_DEVICE_ID_AMI_MEGARAID3,
281 PCI_VENDOR_ID_DELL, 282 PCI_ANY_ID,
282 PCI_SUBSYS_ID_PERC3_QC, 283 PCI_ANY_ID,
283 },
284 {
285 PCI_VENDOR_ID_AMI,
286 PCI_DEVICE_ID_AMI_MEGARAID3,
287 PCI_VENDOR_ID_DELL,
288 PCI_SUBSYS_ID_PERC3_DC,
289 },
290 {
291 PCI_VENDOR_ID_AMI,
292 PCI_DEVICE_ID_AMI_MEGARAID3,
293 PCI_VENDOR_ID_DELL,
294 PCI_SUBSYS_ID_PERC3_SC,
295 },
296 {
297 PCI_VENDOR_ID_AMI,
298 PCI_DEVICE_ID_AMI_MEGARAID3,
299 PCI_VENDOR_ID_AMI,
300 PCI_SUBSYS_ID_PERC3_SC,
301 },
302 {
303 PCI_VENDOR_ID_AMI,
304 PCI_DEVICE_ID_AMI_MEGARAID3,
305 PCI_VENDOR_ID_AMI,
306 PCI_SUBSYS_ID_PERC3_DC,
307 },
308 {
309 PCI_VENDOR_ID_LSI_LOGIC,
310 PCI_DEVICE_ID_MEGARAID_SCSI_320_0,
311 PCI_VENDOR_ID_LSI_LOGIC,
312 PCI_SUBSYS_ID_MEGARAID_SCSI_320_0,
313 },
314 {
315 PCI_VENDOR_ID_LSI_LOGIC,
316 PCI_DEVICE_ID_MEGARAID_SCSI_320_1,
317 PCI_VENDOR_ID_LSI_LOGIC,
318 PCI_SUBSYS_ID_MEGARAID_SCSI_320_1,
319 },
320 {
321 PCI_VENDOR_ID_LSI_LOGIC,
322 PCI_DEVICE_ID_MEGARAID_SCSI_320_2,
323 PCI_VENDOR_ID_LSI_LOGIC,
324 PCI_SUBSYS_ID_MEGARAID_SCSI_320_2,
325 },
326 {
327 PCI_VENDOR_ID_LSI_LOGIC,
328 PCI_DEVICE_ID_MEGARAID_I4_133_RAID,
329 PCI_VENDOR_ID_LSI_LOGIC,
330 PCI_SUBSYS_ID_MEGARAID_I4_133_RAID,
331 },
332 {
333 PCI_VENDOR_ID_LSI_LOGIC,
334 PCI_DEVICE_ID_MEGARAID_SATA_150_4,
335 PCI_VENDOR_ID_LSI_LOGIC,
336 PCI_SUBSYS_ID_MEGARAID_SATA_150_4,
337 }, 284 },
338 { 285 {
339 PCI_VENDOR_ID_LSI_LOGIC, 286 PCI_VENDOR_ID_LSI_LOGIC,
340 PCI_DEVICE_ID_MEGARAID_SATA_150_6, 287 PCI_DEVICE_ID_AMI_MEGARAID3,
341 PCI_VENDOR_ID_LSI_LOGIC, 288 PCI_ANY_ID,
342 PCI_SUBSYS_ID_MEGARAID_SATA_150_6, 289 PCI_ANY_ID,
343 }, 290 },
344 { 291 {
345 PCI_VENDOR_ID_LSI_LOGIC, 292 PCI_VENDOR_ID_LSI_LOGIC,
@@ -347,18 +294,6 @@ static struct pci_device_id pci_id_table_g[] = {
347 PCI_ANY_ID, 294 PCI_ANY_ID,
348 PCI_ANY_ID, 295 PCI_ANY_ID,
349 }, 296 },
350 {
351 PCI_VENDOR_ID_LSI_LOGIC,
352 PCI_DEVICE_ID_INTEL_RAID_SRCS16,
353 PCI_VENDOR_ID_INTEL,
354 PCI_SUBSYS_ID_INTEL_RAID_SRCS16,
355 },
356 {
357 PCI_VENDOR_ID_LSI_LOGIC,
358 PCI_DEVICE_ID_INTEL_RAID_SRCU41L_LAKE_SHETEK,
359 PCI_VENDOR_ID_INTEL,
360 PCI_SUBSYS_ID_INTEL_RAID_SRCU41L_LAKE_SHETEK,
361 },
362 {0} /* Terminating entry */ 297 {0} /* Terminating entry */
363}; 298};
364MODULE_DEVICE_TABLE(pci, pci_id_table_g); 299MODULE_DEVICE_TABLE(pci, pci_id_table_g);
@@ -2985,6 +2920,7 @@ mbox_post_sync_cmd_fast(adapter_t *adapter, uint8_t raw_mbox[])
2985 2920
2986 for (i = 0; i < 0xFFFFF; i++) { 2921 for (i = 0; i < 0xFFFFF; i++) {
2987 if (mbox->numstatus != 0xFF) break; 2922 if (mbox->numstatus != 0xFF) break;
2923 rmb();
2988 } 2924 }
2989 2925
2990 if (i == 0xFFFFF) { 2926 if (i == 0xFFFFF) {