diff options
Diffstat (limited to 'drivers/message/fusion/mptspi.c')
| -rw-r--r-- | drivers/message/fusion/mptspi.c | 53 |
1 files changed, 21 insertions, 32 deletions
diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c index 947fe2901800..8c98420640a5 100644 --- a/drivers/message/fusion/mptspi.c +++ b/drivers/message/fusion/mptspi.c | |||
| @@ -138,7 +138,9 @@ mptspi_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtTarget *target, | |||
| 138 | else { | 138 | else { |
| 139 | factor = MPT_ULTRA320; | 139 | factor = MPT_ULTRA320; |
| 140 | if (scsi_device_qas(sdev)) { | 140 | if (scsi_device_qas(sdev)) { |
| 141 | ddvprintk((KERN_INFO "Enabling QAS due to byte56=%02x on id=%d!\n", scsi_device_qas(sdev), id)); | 141 | ddvprintk(hd->ioc, |
| 142 | printk(KERN_DEBUG "Enabling QAS due to " | ||
| 143 | "byte56=%02x on id=%d!\n", scsi_device_qas(sdev), id)); | ||
| 142 | noQas = 0; | 144 | noQas = 0; |
| 143 | } | 145 | } |
| 144 | if (sdev->type == TYPE_TAPE && | 146 | if (sdev->type == TYPE_TAPE && |
| @@ -225,7 +227,8 @@ mptspi_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtTarget *target, | |||
| 225 | /* Disable QAS in a mixed configuration case | 227 | /* Disable QAS in a mixed configuration case |
| 226 | */ | 228 | */ |
| 227 | 229 | ||
| 228 | ddvprintk((KERN_INFO "Disabling QAS due to noQas=%02x on id=%d!\n", noQas, id)); | 230 | ddvprintk(hd->ioc, printk(KERN_DEBUG |
| 231 | "Disabling QAS due to noQas=%02x on id=%d!\n", noQas, id)); | ||
| 229 | } | 232 | } |
| 230 | } | 233 | } |
| 231 | 234 | ||
| @@ -256,8 +259,8 @@ mptspi_writeIOCPage4(MPT_SCSI_HOST *hd, u8 channel , u8 id) | |||
| 256 | /* Get a MF for this command. | 259 | /* Get a MF for this command. |
| 257 | */ | 260 | */ |
| 258 | if ((mf = mpt_get_msg_frame(ioc->DoneCtx, ioc)) == NULL) { | 261 | if ((mf = mpt_get_msg_frame(ioc->DoneCtx, ioc)) == NULL) { |
| 259 | dfailprintk((MYIOC_s_WARN_FMT "writeIOCPage4 : no msg frames!\n", | 262 | dfailprintk(ioc, printk(MYIOC_s_WARN_FMT |
| 260 | ioc->name)); | 263 | "writeIOCPage4 : no msg frames!\n",ioc->name)); |
| 261 | return -EAGAIN; | 264 | return -EAGAIN; |
| 262 | } | 265 | } |
| 263 | 266 | ||
| @@ -297,7 +300,7 @@ mptspi_writeIOCPage4(MPT_SCSI_HOST *hd, u8 channel , u8 id) | |||
| 297 | 300 | ||
| 298 | mpt_add_sge((char *)&pReq->PageBufferSGE, flagsLength, dataDma); | 301 | mpt_add_sge((char *)&pReq->PageBufferSGE, flagsLength, dataDma); |
| 299 | 302 | ||
| 300 | ddvprintk((MYIOC_s_INFO_FMT | 303 | ddvprintk(ioc, printk(MYIOC_s_DEBUG_FMT |
| 301 | "writeIOCPage4: MaxSEP=%d ActiveSEP=%d id=%d bus=%d\n", | 304 | "writeIOCPage4: MaxSEP=%d ActiveSEP=%d id=%d bus=%d\n", |
| 302 | ioc->name, IOCPage4Ptr->MaxSEP, IOCPage4Ptr->ActiveSEP, id, channel)); | 305 | ioc->name, IOCPage4Ptr->MaxSEP, IOCPage4Ptr->ActiveSEP, id, channel)); |
| 303 | 306 | ||
| @@ -422,7 +425,7 @@ static int mptspi_target_alloc(struct scsi_target *starget) | |||
| 422 | if (starget->channel == 0 && | 425 | if (starget->channel == 0 && |
| 423 | mptspi_is_raid(hd, starget->id)) { | 426 | mptspi_is_raid(hd, starget->id)) { |
| 424 | vtarget->raidVolume = 1; | 427 | vtarget->raidVolume = 1; |
| 425 | ddvprintk((KERN_INFO | 428 | ddvprintk(hd->ioc, printk(KERN_DEBUG |
| 426 | "RAID Volume @ channel=%d id=%d\n", starget->channel, | 429 | "RAID Volume @ channel=%d id=%d\n", starget->channel, |
| 427 | starget->id)); | 430 | starget->id)); |
| 428 | } | 431 | } |
| @@ -462,7 +465,7 @@ mptspi_target_destroy(struct scsi_target *starget) | |||
| 462 | static void | 465 | static void |
| 463 | mptspi_print_write_nego(struct _MPT_SCSI_HOST *hd, struct scsi_target *starget, u32 ii) | 466 | mptspi_print_write_nego(struct _MPT_SCSI_HOST *hd, struct scsi_target *starget, u32 ii) |
| 464 | { | 467 | { |
| 465 | ddvprintk((MYIOC_s_INFO_FMT "id=%d Requested = 0x%08x" | 468 | ddvprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "id=%d Requested = 0x%08x" |
| 466 | " ( %s factor = 0x%02x @ offset = 0x%02x %s%s%s%s%s%s%s%s)\n", | 469 | " ( %s factor = 0x%02x @ offset = 0x%02x %s%s%s%s%s%s%s%s)\n", |
| 467 | hd->ioc->name, starget->id, ii, | 470 | hd->ioc->name, starget->id, ii, |
| 468 | ii & MPI_SCSIDEVPAGE0_NP_WIDE ? "Wide ": "", | 471 | ii & MPI_SCSIDEVPAGE0_NP_WIDE ? "Wide ": "", |
| @@ -487,7 +490,7 @@ mptspi_print_write_nego(struct _MPT_SCSI_HOST *hd, struct scsi_target *starget, | |||
| 487 | static void | 490 | static void |
| 488 | mptspi_print_read_nego(struct _MPT_SCSI_HOST *hd, struct scsi_target *starget, u32 ii) | 491 | mptspi_print_read_nego(struct _MPT_SCSI_HOST *hd, struct scsi_target *starget, u32 ii) |
| 489 | { | 492 | { |
| 490 | ddvprintk((MYIOC_s_INFO_FMT "id=%d Read = 0x%08x" | 493 | ddvprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "id=%d Read = 0x%08x" |
| 491 | " ( %s factor = 0x%02x @ offset = 0x%02x %s%s%s%s%s%s%s%s)\n", | 494 | " ( %s factor = 0x%02x @ offset = 0x%02x %s%s%s%s%s%s%s%s)\n", |
| 492 | hd->ioc->name, starget->id, ii, | 495 | hd->ioc->name, starget->id, ii, |
| 493 | ii & MPI_SCSIDEVPAGE0_NP_WIDE ? "Wide ": "", | 496 | ii & MPI_SCSIDEVPAGE0_NP_WIDE ? "Wide ": "", |
| @@ -613,7 +616,7 @@ mptscsih_quiesce_raid(MPT_SCSI_HOST *hd, int quiesce, u8 channel, u8 id) | |||
| 613 | /* Get and Populate a free Frame | 616 | /* Get and Populate a free Frame |
| 614 | */ | 617 | */ |
| 615 | if ((mf = mpt_get_msg_frame(hd->ioc->InternalCtx, hd->ioc)) == NULL) { | 618 | if ((mf = mpt_get_msg_frame(hd->ioc->InternalCtx, hd->ioc)) == NULL) { |
| 616 | ddvprintk((MYIOC_s_WARN_FMT "_do_raid: no msg frames!\n", | 619 | ddvprintk(hd->ioc, printk(MYIOC_s_WARN_FMT "_do_raid: no msg frames!\n", |
| 617 | hd->ioc->name)); | 620 | hd->ioc->name)); |
| 618 | return -EAGAIN; | 621 | return -EAGAIN; |
| 619 | } | 622 | } |
| @@ -635,7 +638,7 @@ mptscsih_quiesce_raid(MPT_SCSI_HOST *hd, int quiesce, u8 channel, u8 id) | |||
| 635 | mpt_add_sge((char *)&pReq->ActionDataSGE, | 638 | mpt_add_sge((char *)&pReq->ActionDataSGE, |
| 636 | MPT_SGE_FLAGS_SSIMPLE_READ | 0, (dma_addr_t) -1); | 639 | MPT_SGE_FLAGS_SSIMPLE_READ | 0, (dma_addr_t) -1); |
| 637 | 640 | ||
| 638 | ddvprintk((MYIOC_s_INFO_FMT "RAID Volume action=%x channel=%d id=%d\n", | 641 | ddvprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "RAID Volume action=%x channel=%d id=%d\n", |
| 639 | hd->ioc->name, pReq->Action, channel, id)); | 642 | hd->ioc->name, pReq->Action, channel, id)); |
| 640 | 643 | ||
| 641 | hd->pLocal = NULL; | 644 | hd->pLocal = NULL; |
| @@ -735,7 +738,7 @@ static int mptspi_slave_configure(struct scsi_device *sdev) | |||
| 735 | if (ret) | 738 | if (ret) |
| 736 | return ret; | 739 | return ret; |
| 737 | 740 | ||
| 738 | ddvprintk((MYIOC_s_INFO_FMT "id=%d min_period=0x%02x" | 741 | ddvprintk(hd->ioc, printk(MYIOC_s_DEBUG_FMT "id=%d min_period=0x%02x" |
| 739 | " max_offset=0x%02x max_width=%d\n", hd->ioc->name, | 742 | " max_offset=0x%02x max_width=%d\n", hd->ioc->name, |
| 740 | sdev->id, spi_min_period(scsi_target(sdev)), | 743 | sdev->id, spi_min_period(scsi_target(sdev)), |
| 741 | spi_max_offset(scsi_target(sdev)), | 744 | spi_max_offset(scsi_target(sdev)), |
| @@ -768,10 +771,8 @@ mptspi_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) | |||
| 768 | return 0; | 771 | return 0; |
| 769 | } | 772 | } |
| 770 | 773 | ||
| 771 | #ifdef MPT_DEBUG_DV | ||
| 772 | if (spi_dv_pending(scsi_target(SCpnt->device))) | 774 | if (spi_dv_pending(scsi_target(SCpnt->device))) |
| 773 | scsi_print_command(SCpnt); | 775 | ddvprintk(hd->ioc, scsi_print_command(SCpnt)); |
| 774 | #endif | ||
| 775 | 776 | ||
| 776 | return mptscsih_qcmd(SCpnt,done); | 777 | return mptscsih_qcmd(SCpnt,done); |
| 777 | } | 778 | } |
| @@ -1415,7 +1416,7 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 1415 | 1416 | ||
| 1416 | if (numSGE < sh->sg_tablesize) { | 1417 | if (numSGE < sh->sg_tablesize) { |
| 1417 | /* Reset this value */ | 1418 | /* Reset this value */ |
| 1418 | dprintk((MYIOC_s_INFO_FMT | 1419 | dprintk(ioc, printk(MYIOC_s_INFO_FMT |
| 1419 | "Resetting sg_tablesize to %d from %d\n", | 1420 | "Resetting sg_tablesize to %d from %d\n", |
| 1420 | ioc->name, numSGE, sh->sg_tablesize)); | 1421 | ioc->name, numSGE, sh->sg_tablesize)); |
| 1421 | sh->sg_tablesize = numSGE; | 1422 | sh->sg_tablesize = numSGE; |
| @@ -1435,7 +1436,7 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 1435 | goto out_mptspi_probe; | 1436 | goto out_mptspi_probe; |
| 1436 | } | 1437 | } |
| 1437 | 1438 | ||
| 1438 | dprintk((MYIOC_s_INFO_FMT "ScsiLookup @ %p\n", | 1439 | dprintk(ioc, printk(MYIOC_s_DEBUG_FMT "ScsiLookup @ %p\n", |
| 1439 | ioc->name, hd->ScsiLookup)); | 1440 | ioc->name, hd->ScsiLookup)); |
| 1440 | 1441 | ||
| 1441 | /* Clear the TM flags | 1442 | /* Clear the TM flags |
| @@ -1463,7 +1464,7 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 1463 | ioc->spi_data.Saf_Te = mpt_saf_te; | 1464 | ioc->spi_data.Saf_Te = mpt_saf_te; |
| 1464 | 1465 | ||
| 1465 | hd->negoNvram = MPT_SCSICFG_USE_NVRAM; | 1466 | hd->negoNvram = MPT_SCSICFG_USE_NVRAM; |
| 1466 | ddvprintk((MYIOC_s_INFO_FMT | 1467 | ddvprintk(ioc, printk(MYIOC_s_DEBUG_FMT |
| 1467 | "saf_te %x\n", | 1468 | "saf_te %x\n", |
| 1468 | ioc->name, | 1469 | ioc->name, |
| 1469 | mpt_saf_te)); | 1470 | mpt_saf_te)); |
| @@ -1481,7 +1482,7 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 1481 | 1482 | ||
| 1482 | error = scsi_add_host (sh, &ioc->pcidev->dev); | 1483 | error = scsi_add_host (sh, &ioc->pcidev->dev); |
| 1483 | if(error) { | 1484 | if(error) { |
| 1484 | dprintk((KERN_ERR MYNAM | 1485 | dprintk(ioc, printk(KERN_ERR MYNAM |
| 1485 | "scsi_add_host failed\n")); | 1486 | "scsi_add_host failed\n")); |
| 1486 | goto out_mptspi_probe; | 1487 | goto out_mptspi_probe; |
| 1487 | } | 1488 | } |
| @@ -1536,15 +1537,8 @@ mptspi_init(void) | |||
| 1536 | mptspiTaskCtx = mpt_register(mptscsih_taskmgmt_complete, MPTSPI_DRIVER); | 1537 | mptspiTaskCtx = mpt_register(mptscsih_taskmgmt_complete, MPTSPI_DRIVER); |
| 1537 | mptspiInternalCtx = mpt_register(mptscsih_scandv_complete, MPTSPI_DRIVER); | 1538 | mptspiInternalCtx = mpt_register(mptscsih_scandv_complete, MPTSPI_DRIVER); |
| 1538 | 1539 | ||
| 1539 | if (mpt_event_register(mptspiDoneCtx, mptspi_event_process) == 0) { | 1540 | mpt_event_register(mptspiDoneCtx, mptspi_event_process); |
| 1540 | devtverboseprintk((KERN_INFO MYNAM | 1541 | mpt_reset_register(mptspiDoneCtx, mptspi_ioc_reset); |
| 1541 | ": Registered for IOC event notifications\n")); | ||
| 1542 | } | ||
| 1543 | |||
| 1544 | if (mpt_reset_register(mptspiDoneCtx, mptspi_ioc_reset) == 0) { | ||
| 1545 | dprintk((KERN_INFO MYNAM | ||
| 1546 | ": Registered for IOC reset notifications\n")); | ||
| 1547 | } | ||
| 1548 | 1542 | ||
| 1549 | error = pci_register_driver(&mptspi_driver); | 1543 | error = pci_register_driver(&mptspi_driver); |
| 1550 | if (error) | 1544 | if (error) |
| @@ -1564,12 +1558,7 @@ mptspi_exit(void) | |||
| 1564 | pci_unregister_driver(&mptspi_driver); | 1558 | pci_unregister_driver(&mptspi_driver); |
| 1565 | 1559 | ||
| 1566 | mpt_reset_deregister(mptspiDoneCtx); | 1560 | mpt_reset_deregister(mptspiDoneCtx); |
| 1567 | dprintk((KERN_INFO MYNAM | ||
| 1568 | ": Deregistered for IOC reset notifications\n")); | ||
| 1569 | |||
| 1570 | mpt_event_deregister(mptspiDoneCtx); | 1561 | mpt_event_deregister(mptspiDoneCtx); |
| 1571 | dprintk((KERN_INFO MYNAM | ||
| 1572 | ": Deregistered for IOC event notifications\n")); | ||
| 1573 | 1562 | ||
| 1574 | mpt_deregister(mptspiInternalCtx); | 1563 | mpt_deregister(mptspiInternalCtx); |
| 1575 | mpt_deregister(mptspiTaskCtx); | 1564 | mpt_deregister(mptspiTaskCtx); |
