diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_mbx.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_mbx.c | 615 |
1 files changed, 430 insertions, 185 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index b4a23394a7bd..d5ce92c0a8fc 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c | |||
@@ -5,6 +5,7 @@ | |||
5 | * See LICENSE.qla2xxx for copyright and licensing details. | 5 | * See LICENSE.qla2xxx for copyright and licensing details. |
6 | */ | 6 | */ |
7 | #include "qla_def.h" | 7 | #include "qla_def.h" |
8 | #include "qla_target.h" | ||
8 | 9 | ||
9 | #include <linux/delay.h> | 10 | #include <linux/delay.h> |
10 | #include <linux/gfp.h> | 11 | #include <linux/gfp.h> |
@@ -270,11 +271,8 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp) | |||
270 | ictrl = RD_REG_WORD(®->isp.ictrl); | 271 | ictrl = RD_REG_WORD(®->isp.ictrl); |
271 | } | 272 | } |
272 | ql_dbg(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1119, | 273 | ql_dbg(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1119, |
273 | "MBX Command timeout for cmd %x.\n", command); | 274 | "MBX Command timeout for cmd %x, iocontrol=%x jiffies=%lx " |
274 | ql_dbg(ql_dbg_mbx + ql_dbg_buffer, vha, 0x111a, | 275 | "mb[0]=0x%x\n", command, ictrl, jiffies, mb0); |
275 | "iocontrol=%x jiffies=%lx.\n", ictrl, jiffies); | ||
276 | ql_dbg(ql_dbg_mbx + ql_dbg_buffer, vha, 0x111b, | ||
277 | "mb[0] = 0x%x.\n", mb0); | ||
278 | ql_dump_regs(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1019); | 276 | ql_dump_regs(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1019); |
279 | 277 | ||
280 | /* | 278 | /* |
@@ -320,7 +318,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp) | |||
320 | CRB_NIU_XG_PAUSE_CTL_P1); | 318 | CRB_NIU_XG_PAUSE_CTL_P1); |
321 | } | 319 | } |
322 | ql_log(ql_log_info, base_vha, 0x101c, | 320 | ql_log(ql_log_info, base_vha, 0x101c, |
323 | "Mailbox cmd timeout occured, cmd=0x%x, " | 321 | "Mailbox cmd timeout occurred, cmd=0x%x, " |
324 | "mb[0]=0x%x, eeh_busy=0x%x. Scheduling ISP " | 322 | "mb[0]=0x%x, eeh_busy=0x%x. Scheduling ISP " |
325 | "abort.\n", command, mcp->mb[0], | 323 | "abort.\n", command, mcp->mb[0], |
326 | ha->flags.eeh_busy); | 324 | ha->flags.eeh_busy); |
@@ -345,7 +343,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp) | |||
345 | CRB_NIU_XG_PAUSE_CTL_P1); | 343 | CRB_NIU_XG_PAUSE_CTL_P1); |
346 | } | 344 | } |
347 | ql_log(ql_log_info, base_vha, 0x101e, | 345 | ql_log(ql_log_info, base_vha, 0x101e, |
348 | "Mailbox cmd timeout occured, cmd=0x%x, " | 346 | "Mailbox cmd timeout occurred, cmd=0x%x, " |
349 | "mb[0]=0x%x. Scheduling ISP abort ", | 347 | "mb[0]=0x%x. Scheduling ISP abort ", |
350 | command, mcp->mb[0]); | 348 | command, mcp->mb[0]); |
351 | set_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags); | 349 | set_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags); |
@@ -390,7 +388,8 @@ qla2x00_load_ram(scsi_qla_host_t *vha, dma_addr_t req_dma, uint32_t risc_addr, | |||
390 | mbx_cmd_t mc; | 388 | mbx_cmd_t mc; |
391 | mbx_cmd_t *mcp = &mc; | 389 | mbx_cmd_t *mcp = &mc; |
392 | 390 | ||
393 | ql_dbg(ql_dbg_mbx, vha, 0x1022, "Entered %s.\n", __func__); | 391 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1022, |
392 | "Entered %s.\n", __func__); | ||
394 | 393 | ||
395 | if (MSW(risc_addr) || IS_FWI2_CAPABLE(ha)) { | 394 | if (MSW(risc_addr) || IS_FWI2_CAPABLE(ha)) { |
396 | mcp->mb[0] = MBC_LOAD_RISC_RAM_EXTENDED; | 395 | mcp->mb[0] = MBC_LOAD_RISC_RAM_EXTENDED; |
@@ -424,7 +423,8 @@ qla2x00_load_ram(scsi_qla_host_t *vha, dma_addr_t req_dma, uint32_t risc_addr, | |||
424 | ql_dbg(ql_dbg_mbx, vha, 0x1023, | 423 | ql_dbg(ql_dbg_mbx, vha, 0x1023, |
425 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 424 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
426 | } else { | 425 | } else { |
427 | ql_dbg(ql_dbg_mbx, vha, 0x1024, "Done %s.\n", __func__); | 426 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1024, |
427 | "Done %s.\n", __func__); | ||
428 | } | 428 | } |
429 | 429 | ||
430 | return rval; | 430 | return rval; |
@@ -454,7 +454,8 @@ qla2x00_execute_fw(scsi_qla_host_t *vha, uint32_t risc_addr) | |||
454 | mbx_cmd_t mc; | 454 | mbx_cmd_t mc; |
455 | mbx_cmd_t *mcp = &mc; | 455 | mbx_cmd_t *mcp = &mc; |
456 | 456 | ||
457 | ql_dbg(ql_dbg_mbx, vha, 0x1025, "Entered %s.\n", __func__); | 457 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1025, |
458 | "Entered %s.\n", __func__); | ||
458 | 459 | ||
459 | mcp->mb[0] = MBC_EXECUTE_FIRMWARE; | 460 | mcp->mb[0] = MBC_EXECUTE_FIRMWARE; |
460 | mcp->out_mb = MBX_0; | 461 | mcp->out_mb = MBX_0; |
@@ -489,10 +490,11 @@ qla2x00_execute_fw(scsi_qla_host_t *vha, uint32_t risc_addr) | |||
489 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 490 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
490 | } else { | 491 | } else { |
491 | if (IS_FWI2_CAPABLE(ha)) { | 492 | if (IS_FWI2_CAPABLE(ha)) { |
492 | ql_dbg(ql_dbg_mbx, vha, 0x1027, | 493 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1027, |
493 | "Done exchanges=%x.\n", mcp->mb[1]); | 494 | "Done exchanges=%x.\n", mcp->mb[1]); |
494 | } else { | 495 | } else { |
495 | ql_dbg(ql_dbg_mbx, vha, 0x1028, "Done %s.\n", __func__); | 496 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1028, |
497 | "Done %s.\n", __func__); | ||
496 | } | 498 | } |
497 | } | 499 | } |
498 | 500 | ||
@@ -523,7 +525,8 @@ qla2x00_get_fw_version(scsi_qla_host_t *vha) | |||
523 | mbx_cmd_t *mcp = &mc; | 525 | mbx_cmd_t *mcp = &mc; |
524 | struct qla_hw_data *ha = vha->hw; | 526 | struct qla_hw_data *ha = vha->hw; |
525 | 527 | ||
526 | ql_dbg(ql_dbg_mbx, vha, 0x1029, "Entered %s.\n", __func__); | 528 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1029, |
529 | "Entered %s.\n", __func__); | ||
527 | 530 | ||
528 | mcp->mb[0] = MBC_GET_FIRMWARE_VERSION; | 531 | mcp->mb[0] = MBC_GET_FIRMWARE_VERSION; |
529 | mcp->out_mb = MBX_0; | 532 | mcp->out_mb = MBX_0; |
@@ -561,11 +564,11 @@ qla2x00_get_fw_version(scsi_qla_host_t *vha) | |||
561 | ha->fw_attributes_h = mcp->mb[15]; | 564 | ha->fw_attributes_h = mcp->mb[15]; |
562 | ha->fw_attributes_ext[0] = mcp->mb[16]; | 565 | ha->fw_attributes_ext[0] = mcp->mb[16]; |
563 | ha->fw_attributes_ext[1] = mcp->mb[17]; | 566 | ha->fw_attributes_ext[1] = mcp->mb[17]; |
564 | ql_dbg(ql_dbg_mbx, vha, 0x1139, | 567 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1139, |
565 | "%s: FW_attributes Upper: 0x%x, Lower: 0x%x.\n", | 568 | "%s: FW_attributes Upper: 0x%x, Lower: 0x%x.\n", |
566 | __func__, mcp->mb[15], mcp->mb[6]); | 569 | __func__, mcp->mb[15], mcp->mb[6]); |
567 | } else | 570 | } else |
568 | ql_dbg(ql_dbg_mbx, vha, 0x112f, | 571 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x112f, |
569 | "%s: FwAttributes [Upper] invalid, MB6:%04x\n", | 572 | "%s: FwAttributes [Upper] invalid, MB6:%04x\n", |
570 | __func__, mcp->mb[6]); | 573 | __func__, mcp->mb[6]); |
571 | } | 574 | } |
@@ -576,7 +579,8 @@ failed: | |||
576 | ql_dbg(ql_dbg_mbx, vha, 0x102a, "Failed=%x.\n", rval); | 579 | ql_dbg(ql_dbg_mbx, vha, 0x102a, "Failed=%x.\n", rval); |
577 | } else { | 580 | } else { |
578 | /*EMPTY*/ | 581 | /*EMPTY*/ |
579 | ql_dbg(ql_dbg_mbx, vha, 0x102b, "Done %s.\n", __func__); | 582 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x102b, |
583 | "Done %s.\n", __func__); | ||
580 | } | 584 | } |
581 | return rval; | 585 | return rval; |
582 | } | 586 | } |
@@ -602,7 +606,8 @@ qla2x00_get_fw_options(scsi_qla_host_t *vha, uint16_t *fwopts) | |||
602 | mbx_cmd_t mc; | 606 | mbx_cmd_t mc; |
603 | mbx_cmd_t *mcp = &mc; | 607 | mbx_cmd_t *mcp = &mc; |
604 | 608 | ||
605 | ql_dbg(ql_dbg_mbx, vha, 0x102c, "Entered %s.\n", __func__); | 609 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x102c, |
610 | "Entered %s.\n", __func__); | ||
606 | 611 | ||
607 | mcp->mb[0] = MBC_GET_FIRMWARE_OPTION; | 612 | mcp->mb[0] = MBC_GET_FIRMWARE_OPTION; |
608 | mcp->out_mb = MBX_0; | 613 | mcp->out_mb = MBX_0; |
@@ -620,7 +625,8 @@ qla2x00_get_fw_options(scsi_qla_host_t *vha, uint16_t *fwopts) | |||
620 | fwopts[2] = mcp->mb[2]; | 625 | fwopts[2] = mcp->mb[2]; |
621 | fwopts[3] = mcp->mb[3]; | 626 | fwopts[3] = mcp->mb[3]; |
622 | 627 | ||
623 | ql_dbg(ql_dbg_mbx, vha, 0x102e, "Done %s.\n", __func__); | 628 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x102e, |
629 | "Done %s.\n", __func__); | ||
624 | } | 630 | } |
625 | 631 | ||
626 | return rval; | 632 | return rval; |
@@ -648,7 +654,8 @@ qla2x00_set_fw_options(scsi_qla_host_t *vha, uint16_t *fwopts) | |||
648 | mbx_cmd_t mc; | 654 | mbx_cmd_t mc; |
649 | mbx_cmd_t *mcp = &mc; | 655 | mbx_cmd_t *mcp = &mc; |
650 | 656 | ||
651 | ql_dbg(ql_dbg_mbx, vha, 0x102f, "Entered %s.\n", __func__); | 657 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x102f, |
658 | "Entered %s.\n", __func__); | ||
652 | 659 | ||
653 | mcp->mb[0] = MBC_SET_FIRMWARE_OPTION; | 660 | mcp->mb[0] = MBC_SET_FIRMWARE_OPTION; |
654 | mcp->mb[1] = fwopts[1]; | 661 | mcp->mb[1] = fwopts[1]; |
@@ -676,7 +683,8 @@ qla2x00_set_fw_options(scsi_qla_host_t *vha, uint16_t *fwopts) | |||
676 | "Failed=%x (%x/%x).\n", rval, mcp->mb[0], mcp->mb[1]); | 683 | "Failed=%x (%x/%x).\n", rval, mcp->mb[0], mcp->mb[1]); |
677 | } else { | 684 | } else { |
678 | /*EMPTY*/ | 685 | /*EMPTY*/ |
679 | ql_dbg(ql_dbg_mbx, vha, 0x1031, "Done %s.\n", __func__); | 686 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1031, |
687 | "Done %s.\n", __func__); | ||
680 | } | 688 | } |
681 | 689 | ||
682 | return rval; | 690 | return rval; |
@@ -704,7 +712,8 @@ qla2x00_mbx_reg_test(scsi_qla_host_t *vha) | |||
704 | mbx_cmd_t mc; | 712 | mbx_cmd_t mc; |
705 | mbx_cmd_t *mcp = &mc; | 713 | mbx_cmd_t *mcp = &mc; |
706 | 714 | ||
707 | ql_dbg(ql_dbg_mbx, vha, 0x1032, "Entered %s.\n", __func__); | 715 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1032, |
716 | "Entered %s.\n", __func__); | ||
708 | 717 | ||
709 | mcp->mb[0] = MBC_MAILBOX_REGISTER_TEST; | 718 | mcp->mb[0] = MBC_MAILBOX_REGISTER_TEST; |
710 | mcp->mb[1] = 0xAAAA; | 719 | mcp->mb[1] = 0xAAAA; |
@@ -734,7 +743,8 @@ qla2x00_mbx_reg_test(scsi_qla_host_t *vha) | |||
734 | ql_dbg(ql_dbg_mbx, vha, 0x1033, "Failed=%x.\n", rval); | 743 | ql_dbg(ql_dbg_mbx, vha, 0x1033, "Failed=%x.\n", rval); |
735 | } else { | 744 | } else { |
736 | /*EMPTY*/ | 745 | /*EMPTY*/ |
737 | ql_dbg(ql_dbg_mbx, vha, 0x1034, "Done %s.\n", __func__); | 746 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1034, |
747 | "Done %s.\n", __func__); | ||
738 | } | 748 | } |
739 | 749 | ||
740 | return rval; | 750 | return rval; |
@@ -762,7 +772,8 @@ qla2x00_verify_checksum(scsi_qla_host_t *vha, uint32_t risc_addr) | |||
762 | mbx_cmd_t mc; | 772 | mbx_cmd_t mc; |
763 | mbx_cmd_t *mcp = &mc; | 773 | mbx_cmd_t *mcp = &mc; |
764 | 774 | ||
765 | ql_dbg(ql_dbg_mbx, vha, 0x1035, "Entered %s.\n", __func__); | 775 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1035, |
776 | "Entered %s.\n", __func__); | ||
766 | 777 | ||
767 | mcp->mb[0] = MBC_VERIFY_CHECKSUM; | 778 | mcp->mb[0] = MBC_VERIFY_CHECKSUM; |
768 | mcp->out_mb = MBX_0; | 779 | mcp->out_mb = MBX_0; |
@@ -787,7 +798,8 @@ qla2x00_verify_checksum(scsi_qla_host_t *vha, uint32_t risc_addr) | |||
787 | "Failed=%x chm sum=%x.\n", rval, IS_FWI2_CAPABLE(vha->hw) ? | 798 | "Failed=%x chm sum=%x.\n", rval, IS_FWI2_CAPABLE(vha->hw) ? |
788 | (mcp->mb[2] << 16) | mcp->mb[1] : mcp->mb[1]); | 799 | (mcp->mb[2] << 16) | mcp->mb[1] : mcp->mb[1]); |
789 | } else { | 800 | } else { |
790 | ql_dbg(ql_dbg_mbx, vha, 0x1037, "Done %s.\n", __func__); | 801 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1037, |
802 | "Done %s.\n", __func__); | ||
791 | } | 803 | } |
792 | 804 | ||
793 | return rval; | 805 | return rval; |
@@ -819,7 +831,8 @@ qla2x00_issue_iocb_timeout(scsi_qla_host_t *vha, void *buffer, | |||
819 | mbx_cmd_t mc; | 831 | mbx_cmd_t mc; |
820 | mbx_cmd_t *mcp = &mc; | 832 | mbx_cmd_t *mcp = &mc; |
821 | 833 | ||
822 | ql_dbg(ql_dbg_mbx, vha, 0x1038, "Entered %s.\n", __func__); | 834 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1038, |
835 | "Entered %s.\n", __func__); | ||
823 | 836 | ||
824 | mcp->mb[0] = MBC_IOCB_COMMAND_A64; | 837 | mcp->mb[0] = MBC_IOCB_COMMAND_A64; |
825 | mcp->mb[1] = 0; | 838 | mcp->mb[1] = 0; |
@@ -842,7 +855,8 @@ qla2x00_issue_iocb_timeout(scsi_qla_host_t *vha, void *buffer, | |||
842 | /* Mask reserved bits. */ | 855 | /* Mask reserved bits. */ |
843 | sts_entry->entry_status &= | 856 | sts_entry->entry_status &= |
844 | IS_FWI2_CAPABLE(vha->hw) ? RF_MASK_24XX : RF_MASK; | 857 | IS_FWI2_CAPABLE(vha->hw) ? RF_MASK_24XX : RF_MASK; |
845 | ql_dbg(ql_dbg_mbx, vha, 0x103a, "Done %s.\n", __func__); | 858 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x103a, |
859 | "Done %s.\n", __func__); | ||
846 | } | 860 | } |
847 | 861 | ||
848 | return rval; | 862 | return rval; |
@@ -884,7 +898,8 @@ qla2x00_abort_command(srb_t *sp) | |||
884 | struct req_que *req = vha->req; | 898 | struct req_que *req = vha->req; |
885 | struct scsi_cmnd *cmd = GET_CMD_SP(sp); | 899 | struct scsi_cmnd *cmd = GET_CMD_SP(sp); |
886 | 900 | ||
887 | ql_dbg(ql_dbg_mbx, vha, 0x103b, "Entered %s.\n", __func__); | 901 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x103b, |
902 | "Entered %s.\n", __func__); | ||
888 | 903 | ||
889 | spin_lock_irqsave(&ha->hardware_lock, flags); | 904 | spin_lock_irqsave(&ha->hardware_lock, flags); |
890 | for (handle = 1; handle < MAX_OUTSTANDING_COMMANDS; handle++) { | 905 | for (handle = 1; handle < MAX_OUTSTANDING_COMMANDS; handle++) { |
@@ -915,7 +930,8 @@ qla2x00_abort_command(srb_t *sp) | |||
915 | if (rval != QLA_SUCCESS) { | 930 | if (rval != QLA_SUCCESS) { |
916 | ql_dbg(ql_dbg_mbx, vha, 0x103c, "Failed=%x.\n", rval); | 931 | ql_dbg(ql_dbg_mbx, vha, 0x103c, "Failed=%x.\n", rval); |
917 | } else { | 932 | } else { |
918 | ql_dbg(ql_dbg_mbx, vha, 0x103d, "Done %s.\n", __func__); | 933 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x103d, |
934 | "Done %s.\n", __func__); | ||
919 | } | 935 | } |
920 | 936 | ||
921 | return rval; | 937 | return rval; |
@@ -934,7 +950,8 @@ qla2x00_abort_target(struct fc_port *fcport, unsigned int l, int tag) | |||
934 | l = l; | 950 | l = l; |
935 | vha = fcport->vha; | 951 | vha = fcport->vha; |
936 | 952 | ||
937 | ql_dbg(ql_dbg_mbx, vha, 0x103e, "Entered %s.\n", __func__); | 953 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x103e, |
954 | "Entered %s.\n", __func__); | ||
938 | 955 | ||
939 | req = vha->hw->req_q_map[0]; | 956 | req = vha->hw->req_q_map[0]; |
940 | rsp = req->rsp; | 957 | rsp = req->rsp; |
@@ -955,7 +972,8 @@ qla2x00_abort_target(struct fc_port *fcport, unsigned int l, int tag) | |||
955 | mcp->flags = 0; | 972 | mcp->flags = 0; |
956 | rval = qla2x00_mailbox_command(vha, mcp); | 973 | rval = qla2x00_mailbox_command(vha, mcp); |
957 | if (rval != QLA_SUCCESS) { | 974 | if (rval != QLA_SUCCESS) { |
958 | ql_dbg(ql_dbg_mbx, vha, 0x103f, "Failed=%x.\n", rval); | 975 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x103f, |
976 | "Failed=%x.\n", rval); | ||
959 | } | 977 | } |
960 | 978 | ||
961 | /* Issue marker IOCB. */ | 979 | /* Issue marker IOCB. */ |
@@ -965,7 +983,8 @@ qla2x00_abort_target(struct fc_port *fcport, unsigned int l, int tag) | |||
965 | ql_dbg(ql_dbg_mbx, vha, 0x1040, | 983 | ql_dbg(ql_dbg_mbx, vha, 0x1040, |
966 | "Failed to issue marker IOCB (%x).\n", rval2); | 984 | "Failed to issue marker IOCB (%x).\n", rval2); |
967 | } else { | 985 | } else { |
968 | ql_dbg(ql_dbg_mbx, vha, 0x1041, "Done %s.\n", __func__); | 986 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1041, |
987 | "Done %s.\n", __func__); | ||
969 | } | 988 | } |
970 | 989 | ||
971 | return rval; | 990 | return rval; |
@@ -983,7 +1002,8 @@ qla2x00_lun_reset(struct fc_port *fcport, unsigned int l, int tag) | |||
983 | 1002 | ||
984 | vha = fcport->vha; | 1003 | vha = fcport->vha; |
985 | 1004 | ||
986 | ql_dbg(ql_dbg_mbx, vha, 0x1042, "Entered %s.\n", __func__); | 1005 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1042, |
1006 | "Entered %s.\n", __func__); | ||
987 | 1007 | ||
988 | req = vha->hw->req_q_map[0]; | 1008 | req = vha->hw->req_q_map[0]; |
989 | rsp = req->rsp; | 1009 | rsp = req->rsp; |
@@ -1012,7 +1032,8 @@ qla2x00_lun_reset(struct fc_port *fcport, unsigned int l, int tag) | |||
1012 | ql_dbg(ql_dbg_mbx, vha, 0x1044, | 1032 | ql_dbg(ql_dbg_mbx, vha, 0x1044, |
1013 | "Failed to issue marker IOCB (%x).\n", rval2); | 1033 | "Failed to issue marker IOCB (%x).\n", rval2); |
1014 | } else { | 1034 | } else { |
1015 | ql_dbg(ql_dbg_mbx, vha, 0x1045, "Done %s.\n", __func__); | 1035 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1045, |
1036 | "Done %s.\n", __func__); | ||
1016 | } | 1037 | } |
1017 | 1038 | ||
1018 | return rval; | 1039 | return rval; |
@@ -1046,7 +1067,8 @@ qla2x00_get_adapter_id(scsi_qla_host_t *vha, uint16_t *id, uint8_t *al_pa, | |||
1046 | mbx_cmd_t mc; | 1067 | mbx_cmd_t mc; |
1047 | mbx_cmd_t *mcp = &mc; | 1068 | mbx_cmd_t *mcp = &mc; |
1048 | 1069 | ||
1049 | ql_dbg(ql_dbg_mbx, vha, 0x1046, "Entered %s.\n", __func__); | 1070 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1046, |
1071 | "Entered %s.\n", __func__); | ||
1050 | 1072 | ||
1051 | mcp->mb[0] = MBC_GET_ADAPTER_LOOP_ID; | 1073 | mcp->mb[0] = MBC_GET_ADAPTER_LOOP_ID; |
1052 | mcp->mb[9] = vha->vp_idx; | 1074 | mcp->mb[9] = vha->vp_idx; |
@@ -1074,7 +1096,8 @@ qla2x00_get_adapter_id(scsi_qla_host_t *vha, uint16_t *id, uint8_t *al_pa, | |||
1074 | /*EMPTY*/ | 1096 | /*EMPTY*/ |
1075 | ql_dbg(ql_dbg_mbx, vha, 0x1047, "Failed=%x.\n", rval); | 1097 | ql_dbg(ql_dbg_mbx, vha, 0x1047, "Failed=%x.\n", rval); |
1076 | } else { | 1098 | } else { |
1077 | ql_dbg(ql_dbg_mbx, vha, 0x1048, "Done %s.\n", __func__); | 1099 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1048, |
1100 | "Done %s.\n", __func__); | ||
1078 | 1101 | ||
1079 | if (IS_CNA_CAPABLE(vha->hw)) { | 1102 | if (IS_CNA_CAPABLE(vha->hw)) { |
1080 | vha->fcoe_vlan_id = mcp->mb[9] & 0xfff; | 1103 | vha->fcoe_vlan_id = mcp->mb[9] & 0xfff; |
@@ -1115,7 +1138,8 @@ qla2x00_get_retry_cnt(scsi_qla_host_t *vha, uint8_t *retry_cnt, uint8_t *tov, | |||
1115 | mbx_cmd_t mc; | 1138 | mbx_cmd_t mc; |
1116 | mbx_cmd_t *mcp = &mc; | 1139 | mbx_cmd_t *mcp = &mc; |
1117 | 1140 | ||
1118 | ql_dbg(ql_dbg_mbx, vha, 0x1049, "Entered %s.\n", __func__); | 1141 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1049, |
1142 | "Entered %s.\n", __func__); | ||
1119 | 1143 | ||
1120 | mcp->mb[0] = MBC_GET_RETRY_COUNT; | 1144 | mcp->mb[0] = MBC_GET_RETRY_COUNT; |
1121 | mcp->out_mb = MBX_0; | 1145 | mcp->out_mb = MBX_0; |
@@ -1138,7 +1162,7 @@ qla2x00_get_retry_cnt(scsi_qla_host_t *vha, uint8_t *retry_cnt, uint8_t *tov, | |||
1138 | *tov = ratov; | 1162 | *tov = ratov; |
1139 | } | 1163 | } |
1140 | 1164 | ||
1141 | ql_dbg(ql_dbg_mbx, vha, 0x104b, | 1165 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x104b, |
1142 | "Done %s mb3=%d ratov=%d.\n", __func__, mcp->mb[3], ratov); | 1166 | "Done %s mb3=%d ratov=%d.\n", __func__, mcp->mb[3], ratov); |
1143 | } | 1167 | } |
1144 | 1168 | ||
@@ -1170,7 +1194,8 @@ qla2x00_init_firmware(scsi_qla_host_t *vha, uint16_t size) | |||
1170 | mbx_cmd_t *mcp = &mc; | 1194 | mbx_cmd_t *mcp = &mc; |
1171 | struct qla_hw_data *ha = vha->hw; | 1195 | struct qla_hw_data *ha = vha->hw; |
1172 | 1196 | ||
1173 | ql_dbg(ql_dbg_mbx, vha, 0x104c, "Entered %s.\n", __func__); | 1197 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x104c, |
1198 | "Entered %s.\n", __func__); | ||
1174 | 1199 | ||
1175 | if (IS_QLA82XX(ha) && ql2xdbwr) | 1200 | if (IS_QLA82XX(ha) && ql2xdbwr) |
1176 | qla82xx_wr_32(ha, ha->nxdb_wr_ptr, | 1201 | qla82xx_wr_32(ha, ha->nxdb_wr_ptr, |
@@ -1213,9 +1238,100 @@ qla2x00_init_firmware(scsi_qla_host_t *vha, uint16_t size) | |||
1213 | rval, mcp->mb[0], mcp->mb[1], mcp->mb[2], mcp->mb[3]); | 1238 | rval, mcp->mb[0], mcp->mb[1], mcp->mb[2], mcp->mb[3]); |
1214 | } else { | 1239 | } else { |
1215 | /*EMPTY*/ | 1240 | /*EMPTY*/ |
1216 | ql_dbg(ql_dbg_mbx, vha, 0x104e, "Done %s.\n", __func__); | 1241 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x104e, |
1242 | "Done %s.\n", __func__); | ||
1243 | } | ||
1244 | |||
1245 | return rval; | ||
1246 | } | ||
1247 | |||
1248 | /* | ||
1249 | * qla2x00_get_node_name_list | ||
1250 | * Issue get node name list mailbox command, kmalloc() | ||
1251 | * and return the resulting list. Caller must kfree() it! | ||
1252 | * | ||
1253 | * Input: | ||
1254 | * ha = adapter state pointer. | ||
1255 | * out_data = resulting list | ||
1256 | * out_len = length of the resulting list | ||
1257 | * | ||
1258 | * Returns: | ||
1259 | * qla2x00 local function return status code. | ||
1260 | * | ||
1261 | * Context: | ||
1262 | * Kernel context. | ||
1263 | */ | ||
1264 | int | ||
1265 | qla2x00_get_node_name_list(scsi_qla_host_t *vha, void **out_data, int *out_len) | ||
1266 | { | ||
1267 | struct qla_hw_data *ha = vha->hw; | ||
1268 | struct qla_port_24xx_data *list = NULL; | ||
1269 | void *pmap; | ||
1270 | mbx_cmd_t mc; | ||
1271 | dma_addr_t pmap_dma; | ||
1272 | ulong dma_size; | ||
1273 | int rval, left; | ||
1274 | |||
1275 | left = 1; | ||
1276 | while (left > 0) { | ||
1277 | dma_size = left * sizeof(*list); | ||
1278 | pmap = dma_alloc_coherent(&ha->pdev->dev, dma_size, | ||
1279 | &pmap_dma, GFP_KERNEL); | ||
1280 | if (!pmap) { | ||
1281 | ql_log(ql_log_warn, vha, 0x113f, | ||
1282 | "%s(%ld): DMA Alloc failed of %ld\n", | ||
1283 | __func__, vha->host_no, dma_size); | ||
1284 | rval = QLA_MEMORY_ALLOC_FAILED; | ||
1285 | goto out; | ||
1286 | } | ||
1287 | |||
1288 | mc.mb[0] = MBC_PORT_NODE_NAME_LIST; | ||
1289 | mc.mb[1] = BIT_1 | BIT_3; | ||
1290 | mc.mb[2] = MSW(pmap_dma); | ||
1291 | mc.mb[3] = LSW(pmap_dma); | ||
1292 | mc.mb[6] = MSW(MSD(pmap_dma)); | ||
1293 | mc.mb[7] = LSW(MSD(pmap_dma)); | ||
1294 | mc.mb[8] = dma_size; | ||
1295 | mc.out_mb = MBX_0|MBX_1|MBX_2|MBX_3|MBX_6|MBX_7|MBX_8; | ||
1296 | mc.in_mb = MBX_0|MBX_1; | ||
1297 | mc.tov = 30; | ||
1298 | mc.flags = MBX_DMA_IN; | ||
1299 | |||
1300 | rval = qla2x00_mailbox_command(vha, &mc); | ||
1301 | if (rval != QLA_SUCCESS) { | ||
1302 | if ((mc.mb[0] == MBS_COMMAND_ERROR) && | ||
1303 | (mc.mb[1] == 0xA)) { | ||
1304 | left += le16_to_cpu(mc.mb[2]) / | ||
1305 | sizeof(struct qla_port_24xx_data); | ||
1306 | goto restart; | ||
1307 | } | ||
1308 | goto out_free; | ||
1309 | } | ||
1310 | |||
1311 | left = 0; | ||
1312 | |||
1313 | list = kzalloc(dma_size, GFP_KERNEL); | ||
1314 | if (!list) { | ||
1315 | ql_log(ql_log_warn, vha, 0x1140, | ||
1316 | "%s(%ld): failed to allocate node names list " | ||
1317 | "structure.\n", __func__, vha->host_no); | ||
1318 | rval = QLA_MEMORY_ALLOC_FAILED; | ||
1319 | goto out_free; | ||
1320 | } | ||
1321 | |||
1322 | memcpy(list, pmap, dma_size); | ||
1323 | restart: | ||
1324 | dma_free_coherent(&ha->pdev->dev, dma_size, pmap, pmap_dma); | ||
1217 | } | 1325 | } |
1218 | 1326 | ||
1327 | *out_data = list; | ||
1328 | *out_len = dma_size; | ||
1329 | |||
1330 | out: | ||
1331 | return rval; | ||
1332 | |||
1333 | out_free: | ||
1334 | dma_free_coherent(&ha->pdev->dev, dma_size, pmap, pmap_dma); | ||
1219 | return rval; | 1335 | return rval; |
1220 | } | 1336 | } |
1221 | 1337 | ||
@@ -1246,7 +1362,8 @@ qla2x00_get_port_database(scsi_qla_host_t *vha, fc_port_t *fcport, uint8_t opt) | |||
1246 | dma_addr_t pd_dma; | 1362 | dma_addr_t pd_dma; |
1247 | struct qla_hw_data *ha = vha->hw; | 1363 | struct qla_hw_data *ha = vha->hw; |
1248 | 1364 | ||
1249 | ql_dbg(ql_dbg_mbx, vha, 0x104f, "Entered %s.\n", __func__); | 1365 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x104f, |
1366 | "Entered %s.\n", __func__); | ||
1250 | 1367 | ||
1251 | pd24 = NULL; | 1368 | pd24 = NULL; |
1252 | pd = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, &pd_dma); | 1369 | pd = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, &pd_dma); |
@@ -1326,6 +1443,13 @@ qla2x00_get_port_database(scsi_qla_host_t *vha, fc_port_t *fcport, uint8_t opt) | |||
1326 | fcport->port_type = FCT_INITIATOR; | 1443 | fcport->port_type = FCT_INITIATOR; |
1327 | else | 1444 | else |
1328 | fcport->port_type = FCT_TARGET; | 1445 | fcport->port_type = FCT_TARGET; |
1446 | |||
1447 | /* Passback COS information. */ | ||
1448 | fcport->supported_classes = (pd24->flags & PDF_CLASS_2) ? | ||
1449 | FC_COS_CLASS2 : FC_COS_CLASS3; | ||
1450 | |||
1451 | if (pd24->prli_svc_param_word_3[0] & BIT_7) | ||
1452 | fcport->flags |= FCF_CONF_COMP_SUPPORTED; | ||
1329 | } else { | 1453 | } else { |
1330 | uint64_t zero = 0; | 1454 | uint64_t zero = 0; |
1331 | 1455 | ||
@@ -1378,7 +1502,8 @@ gpd_error_out: | |||
1378 | "Failed=%x mb[0]=%x mb[1]=%x.\n", rval, | 1502 | "Failed=%x mb[0]=%x mb[1]=%x.\n", rval, |
1379 | mcp->mb[0], mcp->mb[1]); | 1503 | mcp->mb[0], mcp->mb[1]); |
1380 | } else { | 1504 | } else { |
1381 | ql_dbg(ql_dbg_mbx, vha, 0x1053, "Done %s.\n", __func__); | 1505 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1053, |
1506 | "Done %s.\n", __func__); | ||
1382 | } | 1507 | } |
1383 | 1508 | ||
1384 | return rval; | 1509 | return rval; |
@@ -1407,7 +1532,8 @@ qla2x00_get_firmware_state(scsi_qla_host_t *vha, uint16_t *states) | |||
1407 | mbx_cmd_t mc; | 1532 | mbx_cmd_t mc; |
1408 | mbx_cmd_t *mcp = &mc; | 1533 | mbx_cmd_t *mcp = &mc; |
1409 | 1534 | ||
1410 | ql_dbg(ql_dbg_mbx, vha, 0x1054, "Entered %s.\n", __func__); | 1535 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1054, |
1536 | "Entered %s.\n", __func__); | ||
1411 | 1537 | ||
1412 | mcp->mb[0] = MBC_GET_FIRMWARE_STATE; | 1538 | mcp->mb[0] = MBC_GET_FIRMWARE_STATE; |
1413 | mcp->out_mb = MBX_0; | 1539 | mcp->out_mb = MBX_0; |
@@ -1433,7 +1559,8 @@ qla2x00_get_firmware_state(scsi_qla_host_t *vha, uint16_t *states) | |||
1433 | ql_dbg(ql_dbg_mbx, vha, 0x1055, "Failed=%x.\n", rval); | 1559 | ql_dbg(ql_dbg_mbx, vha, 0x1055, "Failed=%x.\n", rval); |
1434 | } else { | 1560 | } else { |
1435 | /*EMPTY*/ | 1561 | /*EMPTY*/ |
1436 | ql_dbg(ql_dbg_mbx, vha, 0x1056, "Done %s.\n", __func__); | 1562 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1056, |
1563 | "Done %s.\n", __func__); | ||
1437 | } | 1564 | } |
1438 | 1565 | ||
1439 | return rval; | 1566 | return rval; |
@@ -1465,7 +1592,8 @@ qla2x00_get_port_name(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t *name, | |||
1465 | mbx_cmd_t mc; | 1592 | mbx_cmd_t mc; |
1466 | mbx_cmd_t *mcp = &mc; | 1593 | mbx_cmd_t *mcp = &mc; |
1467 | 1594 | ||
1468 | ql_dbg(ql_dbg_mbx, vha, 0x1057, "Entered %s.\n", __func__); | 1595 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1057, |
1596 | "Entered %s.\n", __func__); | ||
1469 | 1597 | ||
1470 | mcp->mb[0] = MBC_GET_PORT_NAME; | 1598 | mcp->mb[0] = MBC_GET_PORT_NAME; |
1471 | mcp->mb[9] = vha->vp_idx; | 1599 | mcp->mb[9] = vha->vp_idx; |
@@ -1499,7 +1627,8 @@ qla2x00_get_port_name(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t *name, | |||
1499 | name[7] = LSB(mcp->mb[7]); | 1627 | name[7] = LSB(mcp->mb[7]); |
1500 | } | 1628 | } |
1501 | 1629 | ||
1502 | ql_dbg(ql_dbg_mbx, vha, 0x1059, "Done %s.\n", __func__); | 1630 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1059, |
1631 | "Done %s.\n", __func__); | ||
1503 | } | 1632 | } |
1504 | 1633 | ||
1505 | return rval; | 1634 | return rval; |
@@ -1527,7 +1656,8 @@ qla2x00_lip_reset(scsi_qla_host_t *vha) | |||
1527 | mbx_cmd_t mc; | 1656 | mbx_cmd_t mc; |
1528 | mbx_cmd_t *mcp = &mc; | 1657 | mbx_cmd_t *mcp = &mc; |
1529 | 1658 | ||
1530 | ql_dbg(ql_dbg_mbx, vha, 0x105a, "Entered %s.\n", __func__); | 1659 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x105a, |
1660 | "Entered %s.\n", __func__); | ||
1531 | 1661 | ||
1532 | if (IS_CNA_CAPABLE(vha->hw)) { | 1662 | if (IS_CNA_CAPABLE(vha->hw)) { |
1533 | /* Logout across all FCFs. */ | 1663 | /* Logout across all FCFs. */ |
@@ -1564,7 +1694,8 @@ qla2x00_lip_reset(scsi_qla_host_t *vha) | |||
1564 | ql_dbg(ql_dbg_mbx, vha, 0x105b, "Failed=%x.\n", rval); | 1694 | ql_dbg(ql_dbg_mbx, vha, 0x105b, "Failed=%x.\n", rval); |
1565 | } else { | 1695 | } else { |
1566 | /*EMPTY*/ | 1696 | /*EMPTY*/ |
1567 | ql_dbg(ql_dbg_mbx, vha, 0x105c, "Done %s.\n", __func__); | 1697 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x105c, |
1698 | "Done %s.\n", __func__); | ||
1568 | } | 1699 | } |
1569 | 1700 | ||
1570 | return rval; | 1701 | return rval; |
@@ -1596,9 +1727,10 @@ qla2x00_send_sns(scsi_qla_host_t *vha, dma_addr_t sns_phys_address, | |||
1596 | mbx_cmd_t mc; | 1727 | mbx_cmd_t mc; |
1597 | mbx_cmd_t *mcp = &mc; | 1728 | mbx_cmd_t *mcp = &mc; |
1598 | 1729 | ||
1599 | ql_dbg(ql_dbg_mbx, vha, 0x105d, "Entered %s.\n", __func__); | 1730 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x105d, |
1731 | "Entered %s.\n", __func__); | ||
1600 | 1732 | ||
1601 | ql_dbg(ql_dbg_mbx, vha, 0x105e, | 1733 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x105e, |
1602 | "Retry cnt=%d ratov=%d total tov=%d.\n", | 1734 | "Retry cnt=%d ratov=%d total tov=%d.\n", |
1603 | vha->hw->retry_count, vha->hw->login_timeout, mcp->tov); | 1735 | vha->hw->retry_count, vha->hw->login_timeout, mcp->tov); |
1604 | 1736 | ||
@@ -1622,7 +1754,8 @@ qla2x00_send_sns(scsi_qla_host_t *vha, dma_addr_t sns_phys_address, | |||
1622 | rval, mcp->mb[0], mcp->mb[1]); | 1754 | rval, mcp->mb[0], mcp->mb[1]); |
1623 | } else { | 1755 | } else { |
1624 | /*EMPTY*/ | 1756 | /*EMPTY*/ |
1625 | ql_dbg(ql_dbg_mbx, vha, 0x1060, "Done %s.\n", __func__); | 1757 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1060, |
1758 | "Done %s.\n", __func__); | ||
1626 | } | 1759 | } |
1627 | 1760 | ||
1628 | return rval; | 1761 | return rval; |
@@ -1641,7 +1774,8 @@ qla24xx_login_fabric(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain, | |||
1641 | struct req_que *req; | 1774 | struct req_que *req; |
1642 | struct rsp_que *rsp; | 1775 | struct rsp_que *rsp; |
1643 | 1776 | ||
1644 | ql_dbg(ql_dbg_mbx, vha, 0x1061, "Entered %s.\n", __func__); | 1777 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1061, |
1778 | "Entered %s.\n", __func__); | ||
1645 | 1779 | ||
1646 | if (ha->flags.cpu_affinity_enabled) | 1780 | if (ha->flags.cpu_affinity_enabled) |
1647 | req = ha->req_q_map[0]; | 1781 | req = ha->req_q_map[0]; |
@@ -1715,7 +1849,8 @@ qla24xx_login_fabric(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain, | |||
1715 | break; | 1849 | break; |
1716 | } | 1850 | } |
1717 | } else { | 1851 | } else { |
1718 | ql_dbg(ql_dbg_mbx, vha, 0x1066, "Done %s.\n", __func__); | 1852 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1066, |
1853 | "Done %s.\n", __func__); | ||
1719 | 1854 | ||
1720 | iop[0] = le32_to_cpu(lg->io_parameter[0]); | 1855 | iop[0] = le32_to_cpu(lg->io_parameter[0]); |
1721 | 1856 | ||
@@ -1733,6 +1868,10 @@ qla24xx_login_fabric(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain, | |||
1733 | mb[10] |= BIT_0; /* Class 2. */ | 1868 | mb[10] |= BIT_0; /* Class 2. */ |
1734 | if (lg->io_parameter[9] || lg->io_parameter[10]) | 1869 | if (lg->io_parameter[9] || lg->io_parameter[10]) |
1735 | mb[10] |= BIT_1; /* Class 3. */ | 1870 | mb[10] |= BIT_1; /* Class 3. */ |
1871 | if (lg->io_parameter[0] & __constant_cpu_to_le32(BIT_7)) | ||
1872 | mb[10] |= BIT_7; /* Confirmed Completion | ||
1873 | * Allowed | ||
1874 | */ | ||
1736 | } | 1875 | } |
1737 | 1876 | ||
1738 | dma_pool_free(ha->s_dma_pool, lg, lg_dma); | 1877 | dma_pool_free(ha->s_dma_pool, lg, lg_dma); |
@@ -1770,7 +1909,8 @@ qla2x00_login_fabric(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain, | |||
1770 | mbx_cmd_t *mcp = &mc; | 1909 | mbx_cmd_t *mcp = &mc; |
1771 | struct qla_hw_data *ha = vha->hw; | 1910 | struct qla_hw_data *ha = vha->hw; |
1772 | 1911 | ||
1773 | ql_dbg(ql_dbg_mbx, vha, 0x1067, "Entered %s.\n", __func__); | 1912 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1067, |
1913 | "Entered %s.\n", __func__); | ||
1774 | 1914 | ||
1775 | mcp->mb[0] = MBC_LOGIN_FABRIC_PORT; | 1915 | mcp->mb[0] = MBC_LOGIN_FABRIC_PORT; |
1776 | mcp->out_mb = MBX_3|MBX_2|MBX_1|MBX_0; | 1916 | mcp->out_mb = MBX_3|MBX_2|MBX_1|MBX_0; |
@@ -1818,7 +1958,8 @@ qla2x00_login_fabric(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain, | |||
1818 | rval, mcp->mb[0], mcp->mb[1], mcp->mb[2]); | 1958 | rval, mcp->mb[0], mcp->mb[1], mcp->mb[2]); |
1819 | } else { | 1959 | } else { |
1820 | /*EMPTY*/ | 1960 | /*EMPTY*/ |
1821 | ql_dbg(ql_dbg_mbx, vha, 0x1069, "Done %s.\n", __func__); | 1961 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1069, |
1962 | "Done %s.\n", __func__); | ||
1822 | } | 1963 | } |
1823 | 1964 | ||
1824 | return rval; | 1965 | return rval; |
@@ -1849,7 +1990,8 @@ qla2x00_login_local_device(scsi_qla_host_t *vha, fc_port_t *fcport, | |||
1849 | mbx_cmd_t *mcp = &mc; | 1990 | mbx_cmd_t *mcp = &mc; |
1850 | struct qla_hw_data *ha = vha->hw; | 1991 | struct qla_hw_data *ha = vha->hw; |
1851 | 1992 | ||
1852 | ql_dbg(ql_dbg_mbx, vha, 0x106a, "Entered %s.\n", __func__); | 1993 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x106a, |
1994 | "Entered %s.\n", __func__); | ||
1853 | 1995 | ||
1854 | if (IS_FWI2_CAPABLE(ha)) | 1996 | if (IS_FWI2_CAPABLE(ha)) |
1855 | return qla24xx_login_fabric(vha, fcport->loop_id, | 1997 | return qla24xx_login_fabric(vha, fcport->loop_id, |
@@ -1891,7 +2033,8 @@ qla2x00_login_local_device(scsi_qla_host_t *vha, fc_port_t *fcport, | |||
1891 | rval, mcp->mb[0], mcp->mb[1], mcp->mb[6], mcp->mb[7]); | 2033 | rval, mcp->mb[0], mcp->mb[1], mcp->mb[6], mcp->mb[7]); |
1892 | } else { | 2034 | } else { |
1893 | /*EMPTY*/ | 2035 | /*EMPTY*/ |
1894 | ql_dbg(ql_dbg_mbx, vha, 0x106c, "Done %s.\n", __func__); | 2036 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x106c, |
2037 | "Done %s.\n", __func__); | ||
1895 | } | 2038 | } |
1896 | 2039 | ||
1897 | return (rval); | 2040 | return (rval); |
@@ -1908,7 +2051,8 @@ qla24xx_fabric_logout(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain, | |||
1908 | struct req_que *req; | 2051 | struct req_que *req; |
1909 | struct rsp_que *rsp; | 2052 | struct rsp_que *rsp; |
1910 | 2053 | ||
1911 | ql_dbg(ql_dbg_mbx, vha, 0x106d, "Entered %s.\n", __func__); | 2054 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x106d, |
2055 | "Entered %s.\n", __func__); | ||
1912 | 2056 | ||
1913 | lg = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, &lg_dma); | 2057 | lg = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, &lg_dma); |
1914 | if (lg == NULL) { | 2058 | if (lg == NULL) { |
@@ -1952,7 +2096,8 @@ qla24xx_fabric_logout(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain, | |||
1952 | le32_to_cpu(lg->io_parameter[1])); | 2096 | le32_to_cpu(lg->io_parameter[1])); |
1953 | } else { | 2097 | } else { |
1954 | /*EMPTY*/ | 2098 | /*EMPTY*/ |
1955 | ql_dbg(ql_dbg_mbx, vha, 0x1072, "Done %s.\n", __func__); | 2099 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1072, |
2100 | "Done %s.\n", __func__); | ||
1956 | } | 2101 | } |
1957 | 2102 | ||
1958 | dma_pool_free(ha->s_dma_pool, lg, lg_dma); | 2103 | dma_pool_free(ha->s_dma_pool, lg, lg_dma); |
@@ -1984,7 +2129,8 @@ qla2x00_fabric_logout(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain, | |||
1984 | mbx_cmd_t mc; | 2129 | mbx_cmd_t mc; |
1985 | mbx_cmd_t *mcp = &mc; | 2130 | mbx_cmd_t *mcp = &mc; |
1986 | 2131 | ||
1987 | ql_dbg(ql_dbg_mbx, vha, 0x1073, "Entered %s.\n", __func__); | 2132 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1073, |
2133 | "Entered %s.\n", __func__); | ||
1988 | 2134 | ||
1989 | mcp->mb[0] = MBC_LOGOUT_FABRIC_PORT; | 2135 | mcp->mb[0] = MBC_LOGOUT_FABRIC_PORT; |
1990 | mcp->out_mb = MBX_1|MBX_0; | 2136 | mcp->out_mb = MBX_1|MBX_0; |
@@ -2007,7 +2153,8 @@ qla2x00_fabric_logout(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain, | |||
2007 | "Failed=%x mb[1]=%x.\n", rval, mcp->mb[1]); | 2153 | "Failed=%x mb[1]=%x.\n", rval, mcp->mb[1]); |
2008 | } else { | 2154 | } else { |
2009 | /*EMPTY*/ | 2155 | /*EMPTY*/ |
2010 | ql_dbg(ql_dbg_mbx, vha, 0x1075, "Done %s.\n", __func__); | 2156 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1075, |
2157 | "Done %s.\n", __func__); | ||
2011 | } | 2158 | } |
2012 | 2159 | ||
2013 | return rval; | 2160 | return rval; |
@@ -2035,7 +2182,8 @@ qla2x00_full_login_lip(scsi_qla_host_t *vha) | |||
2035 | mbx_cmd_t mc; | 2182 | mbx_cmd_t mc; |
2036 | mbx_cmd_t *mcp = &mc; | 2183 | mbx_cmd_t *mcp = &mc; |
2037 | 2184 | ||
2038 | ql_dbg(ql_dbg_mbx, vha, 0x1076, "Entered %s.\n", __func__); | 2185 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1076, |
2186 | "Entered %s.\n", __func__); | ||
2039 | 2187 | ||
2040 | mcp->mb[0] = MBC_LIP_FULL_LOGIN; | 2188 | mcp->mb[0] = MBC_LIP_FULL_LOGIN; |
2041 | mcp->mb[1] = IS_FWI2_CAPABLE(vha->hw) ? BIT_3 : 0; | 2189 | mcp->mb[1] = IS_FWI2_CAPABLE(vha->hw) ? BIT_3 : 0; |
@@ -2052,7 +2200,8 @@ qla2x00_full_login_lip(scsi_qla_host_t *vha) | |||
2052 | ql_dbg(ql_dbg_mbx, vha, 0x1077, "Failed=%x.\n", rval); | 2200 | ql_dbg(ql_dbg_mbx, vha, 0x1077, "Failed=%x.\n", rval); |
2053 | } else { | 2201 | } else { |
2054 | /*EMPTY*/ | 2202 | /*EMPTY*/ |
2055 | ql_dbg(ql_dbg_mbx, vha, 0x1078, "Done %s.\n", __func__); | 2203 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1078, |
2204 | "Done %s.\n", __func__); | ||
2056 | } | 2205 | } |
2057 | 2206 | ||
2058 | return rval; | 2207 | return rval; |
@@ -2078,7 +2227,8 @@ qla2x00_get_id_list(scsi_qla_host_t *vha, void *id_list, dma_addr_t id_list_dma, | |||
2078 | mbx_cmd_t mc; | 2227 | mbx_cmd_t mc; |
2079 | mbx_cmd_t *mcp = &mc; | 2228 | mbx_cmd_t *mcp = &mc; |
2080 | 2229 | ||
2081 | ql_dbg(ql_dbg_mbx, vha, 0x1079, "Entered %s.\n", __func__); | 2230 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1079, |
2231 | "Entered %s.\n", __func__); | ||
2082 | 2232 | ||
2083 | if (id_list == NULL) | 2233 | if (id_list == NULL) |
2084 | return QLA_FUNCTION_FAILED; | 2234 | return QLA_FUNCTION_FAILED; |
@@ -2110,7 +2260,8 @@ qla2x00_get_id_list(scsi_qla_host_t *vha, void *id_list, dma_addr_t id_list_dma, | |||
2110 | ql_dbg(ql_dbg_mbx, vha, 0x107a, "Failed=%x.\n", rval); | 2260 | ql_dbg(ql_dbg_mbx, vha, 0x107a, "Failed=%x.\n", rval); |
2111 | } else { | 2261 | } else { |
2112 | *entries = mcp->mb[1]; | 2262 | *entries = mcp->mb[1]; |
2113 | ql_dbg(ql_dbg_mbx, vha, 0x107b, "Done %s.\n", __func__); | 2263 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x107b, |
2264 | "Done %s.\n", __func__); | ||
2114 | } | 2265 | } |
2115 | 2266 | ||
2116 | return rval; | 2267 | return rval; |
@@ -2138,7 +2289,8 @@ qla2x00_get_resource_cnts(scsi_qla_host_t *vha, uint16_t *cur_xchg_cnt, | |||
2138 | mbx_cmd_t mc; | 2289 | mbx_cmd_t mc; |
2139 | mbx_cmd_t *mcp = &mc; | 2290 | mbx_cmd_t *mcp = &mc; |
2140 | 2291 | ||
2141 | ql_dbg(ql_dbg_mbx, vha, 0x107c, "Entered %s.\n", __func__); | 2292 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x107c, |
2293 | "Entered %s.\n", __func__); | ||
2142 | 2294 | ||
2143 | mcp->mb[0] = MBC_GET_RESOURCE_COUNTS; | 2295 | mcp->mb[0] = MBC_GET_RESOURCE_COUNTS; |
2144 | mcp->out_mb = MBX_0; | 2296 | mcp->out_mb = MBX_0; |
@@ -2154,7 +2306,7 @@ qla2x00_get_resource_cnts(scsi_qla_host_t *vha, uint16_t *cur_xchg_cnt, | |||
2154 | ql_dbg(ql_dbg_mbx, vha, 0x107d, | 2306 | ql_dbg(ql_dbg_mbx, vha, 0x107d, |
2155 | "Failed mb[0]=%x.\n", mcp->mb[0]); | 2307 | "Failed mb[0]=%x.\n", mcp->mb[0]); |
2156 | } else { | 2308 | } else { |
2157 | ql_dbg(ql_dbg_mbx, vha, 0x107e, | 2309 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x107e, |
2158 | "Done %s mb1=%x mb2=%x mb3=%x mb6=%x mb7=%x mb10=%x " | 2310 | "Done %s mb1=%x mb2=%x mb3=%x mb6=%x mb7=%x mb10=%x " |
2159 | "mb11=%x mb12=%x.\n", __func__, mcp->mb[1], mcp->mb[2], | 2311 | "mb11=%x mb12=%x.\n", __func__, mcp->mb[1], mcp->mb[2], |
2160 | mcp->mb[3], mcp->mb[6], mcp->mb[7], mcp->mb[10], | 2312 | mcp->mb[3], mcp->mb[6], mcp->mb[7], mcp->mb[10], |
@@ -2201,7 +2353,8 @@ qla2x00_get_fcal_position_map(scsi_qla_host_t *vha, char *pos_map) | |||
2201 | dma_addr_t pmap_dma; | 2353 | dma_addr_t pmap_dma; |
2202 | struct qla_hw_data *ha = vha->hw; | 2354 | struct qla_hw_data *ha = vha->hw; |
2203 | 2355 | ||
2204 | ql_dbg(ql_dbg_mbx, vha, 0x107f, "Entered %s.\n", __func__); | 2356 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x107f, |
2357 | "Entered %s.\n", __func__); | ||
2205 | 2358 | ||
2206 | pmap = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, &pmap_dma); | 2359 | pmap = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, &pmap_dma); |
2207 | if (pmap == NULL) { | 2360 | if (pmap == NULL) { |
@@ -2224,7 +2377,7 @@ qla2x00_get_fcal_position_map(scsi_qla_host_t *vha, char *pos_map) | |||
2224 | rval = qla2x00_mailbox_command(vha, mcp); | 2377 | rval = qla2x00_mailbox_command(vha, mcp); |
2225 | 2378 | ||
2226 | if (rval == QLA_SUCCESS) { | 2379 | if (rval == QLA_SUCCESS) { |
2227 | ql_dbg(ql_dbg_mbx, vha, 0x1081, | 2380 | ql_dbg(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1081, |
2228 | "mb0/mb1=%x/%X FC/AL position map size (%x).\n", | 2381 | "mb0/mb1=%x/%X FC/AL position map size (%x).\n", |
2229 | mcp->mb[0], mcp->mb[1], (unsigned)pmap[0]); | 2382 | mcp->mb[0], mcp->mb[1], (unsigned)pmap[0]); |
2230 | ql_dump_buffer(ql_dbg_mbx + ql_dbg_buffer, vha, 0x111d, | 2383 | ql_dump_buffer(ql_dbg_mbx + ql_dbg_buffer, vha, 0x111d, |
@@ -2238,7 +2391,8 @@ qla2x00_get_fcal_position_map(scsi_qla_host_t *vha, char *pos_map) | |||
2238 | if (rval != QLA_SUCCESS) { | 2391 | if (rval != QLA_SUCCESS) { |
2239 | ql_dbg(ql_dbg_mbx, vha, 0x1082, "Failed=%x.\n", rval); | 2392 | ql_dbg(ql_dbg_mbx, vha, 0x1082, "Failed=%x.\n", rval); |
2240 | } else { | 2393 | } else { |
2241 | ql_dbg(ql_dbg_mbx, vha, 0x1083, "Done %s.\n", __func__); | 2394 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1083, |
2395 | "Done %s.\n", __func__); | ||
2242 | } | 2396 | } |
2243 | 2397 | ||
2244 | return rval; | 2398 | return rval; |
@@ -2267,7 +2421,8 @@ qla2x00_get_link_status(scsi_qla_host_t *vha, uint16_t loop_id, | |||
2267 | uint32_t *siter, *diter, dwords; | 2421 | uint32_t *siter, *diter, dwords; |
2268 | struct qla_hw_data *ha = vha->hw; | 2422 | struct qla_hw_data *ha = vha->hw; |
2269 | 2423 | ||
2270 | ql_dbg(ql_dbg_mbx, vha, 0x1084, "Entered %s.\n", __func__); | 2424 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1084, |
2425 | "Entered %s.\n", __func__); | ||
2271 | 2426 | ||
2272 | mcp->mb[0] = MBC_GET_LINK_STATUS; | 2427 | mcp->mb[0] = MBC_GET_LINK_STATUS; |
2273 | mcp->mb[2] = MSW(stats_dma); | 2428 | mcp->mb[2] = MSW(stats_dma); |
@@ -2301,7 +2456,8 @@ qla2x00_get_link_status(scsi_qla_host_t *vha, uint16_t loop_id, | |||
2301 | rval = QLA_FUNCTION_FAILED; | 2456 | rval = QLA_FUNCTION_FAILED; |
2302 | } else { | 2457 | } else { |
2303 | /* Copy over data -- firmware data is LE. */ | 2458 | /* Copy over data -- firmware data is LE. */ |
2304 | ql_dbg(ql_dbg_mbx, vha, 0x1086, "Done %s.\n", __func__); | 2459 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1086, |
2460 | "Done %s.\n", __func__); | ||
2305 | dwords = offsetof(struct link_statistics, unused1) / 4; | 2461 | dwords = offsetof(struct link_statistics, unused1) / 4; |
2306 | siter = diter = &stats->link_fail_cnt; | 2462 | siter = diter = &stats->link_fail_cnt; |
2307 | while (dwords--) | 2463 | while (dwords--) |
@@ -2324,7 +2480,8 @@ qla24xx_get_isp_stats(scsi_qla_host_t *vha, struct link_statistics *stats, | |||
2324 | mbx_cmd_t *mcp = &mc; | 2480 | mbx_cmd_t *mcp = &mc; |
2325 | uint32_t *siter, *diter, dwords; | 2481 | uint32_t *siter, *diter, dwords; |
2326 | 2482 | ||
2327 | ql_dbg(ql_dbg_mbx, vha, 0x1088, "Entered %s.\n", __func__); | 2483 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1088, |
2484 | "Entered %s.\n", __func__); | ||
2328 | 2485 | ||
2329 | mcp->mb[0] = MBC_GET_LINK_PRIV_STATS; | 2486 | mcp->mb[0] = MBC_GET_LINK_PRIV_STATS; |
2330 | mcp->mb[2] = MSW(stats_dma); | 2487 | mcp->mb[2] = MSW(stats_dma); |
@@ -2346,7 +2503,8 @@ qla24xx_get_isp_stats(scsi_qla_host_t *vha, struct link_statistics *stats, | |||
2346 | "Failed mb[0]=%x.\n", mcp->mb[0]); | 2503 | "Failed mb[0]=%x.\n", mcp->mb[0]); |
2347 | rval = QLA_FUNCTION_FAILED; | 2504 | rval = QLA_FUNCTION_FAILED; |
2348 | } else { | 2505 | } else { |
2349 | ql_dbg(ql_dbg_mbx, vha, 0x108a, "Done %s.\n", __func__); | 2506 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x108a, |
2507 | "Done %s.\n", __func__); | ||
2350 | /* Copy over data -- firmware data is LE. */ | 2508 | /* Copy over data -- firmware data is LE. */ |
2351 | dwords = sizeof(struct link_statistics) / 4; | 2509 | dwords = sizeof(struct link_statistics) / 4; |
2352 | siter = diter = &stats->link_fail_cnt; | 2510 | siter = diter = &stats->link_fail_cnt; |
@@ -2375,7 +2533,8 @@ qla24xx_abort_command(srb_t *sp) | |||
2375 | struct qla_hw_data *ha = vha->hw; | 2533 | struct qla_hw_data *ha = vha->hw; |
2376 | struct req_que *req = vha->req; | 2534 | struct req_que *req = vha->req; |
2377 | 2535 | ||
2378 | ql_dbg(ql_dbg_mbx, vha, 0x108c, "Entered %s.\n", __func__); | 2536 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x108c, |
2537 | "Entered %s.\n", __func__); | ||
2379 | 2538 | ||
2380 | spin_lock_irqsave(&ha->hardware_lock, flags); | 2539 | spin_lock_irqsave(&ha->hardware_lock, flags); |
2381 | for (handle = 1; handle < MAX_OUTSTANDING_COMMANDS; handle++) { | 2540 | for (handle = 1; handle < MAX_OUTSTANDING_COMMANDS; handle++) { |
@@ -2404,7 +2563,7 @@ qla24xx_abort_command(srb_t *sp) | |||
2404 | abt->port_id[0] = fcport->d_id.b.al_pa; | 2563 | abt->port_id[0] = fcport->d_id.b.al_pa; |
2405 | abt->port_id[1] = fcport->d_id.b.area; | 2564 | abt->port_id[1] = fcport->d_id.b.area; |
2406 | abt->port_id[2] = fcport->d_id.b.domain; | 2565 | abt->port_id[2] = fcport->d_id.b.domain; |
2407 | abt->vp_index = fcport->vp_idx; | 2566 | abt->vp_index = fcport->vha->vp_idx; |
2408 | 2567 | ||
2409 | abt->req_que_no = cpu_to_le16(req->id); | 2568 | abt->req_que_no = cpu_to_le16(req->id); |
2410 | 2569 | ||
@@ -2423,7 +2582,8 @@ qla24xx_abort_command(srb_t *sp) | |||
2423 | le16_to_cpu(abt->nport_handle)); | 2582 | le16_to_cpu(abt->nport_handle)); |
2424 | rval = QLA_FUNCTION_FAILED; | 2583 | rval = QLA_FUNCTION_FAILED; |
2425 | } else { | 2584 | } else { |
2426 | ql_dbg(ql_dbg_mbx, vha, 0x1091, "Done %s.\n", __func__); | 2585 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1091, |
2586 | "Done %s.\n", __func__); | ||
2427 | } | 2587 | } |
2428 | 2588 | ||
2429 | dma_pool_free(ha->s_dma_pool, abt, abt_dma); | 2589 | dma_pool_free(ha->s_dma_pool, abt, abt_dma); |
@@ -2455,7 +2615,8 @@ __qla24xx_issue_tmf(char *name, uint32_t type, struct fc_port *fcport, | |||
2455 | ha = vha->hw; | 2615 | ha = vha->hw; |
2456 | req = vha->req; | 2616 | req = vha->req; |
2457 | 2617 | ||
2458 | ql_dbg(ql_dbg_mbx, vha, 0x1092, "Entered %s.\n", __func__); | 2618 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1092, |
2619 | "Entered %s.\n", __func__); | ||
2459 | 2620 | ||
2460 | if (ha->flags.cpu_affinity_enabled) | 2621 | if (ha->flags.cpu_affinity_enabled) |
2461 | rsp = ha->rsp_q_map[tag + 1]; | 2622 | rsp = ha->rsp_q_map[tag + 1]; |
@@ -2478,7 +2639,7 @@ __qla24xx_issue_tmf(char *name, uint32_t type, struct fc_port *fcport, | |||
2478 | tsk->p.tsk.port_id[0] = fcport->d_id.b.al_pa; | 2639 | tsk->p.tsk.port_id[0] = fcport->d_id.b.al_pa; |
2479 | tsk->p.tsk.port_id[1] = fcport->d_id.b.area; | 2640 | tsk->p.tsk.port_id[1] = fcport->d_id.b.area; |
2480 | tsk->p.tsk.port_id[2] = fcport->d_id.b.domain; | 2641 | tsk->p.tsk.port_id[2] = fcport->d_id.b.domain; |
2481 | tsk->p.tsk.vp_index = fcport->vp_idx; | 2642 | tsk->p.tsk.vp_index = fcport->vha->vp_idx; |
2482 | if (type == TCF_LUN_RESET) { | 2643 | if (type == TCF_LUN_RESET) { |
2483 | int_to_scsilun(l, &tsk->p.tsk.lun); | 2644 | int_to_scsilun(l, &tsk->p.tsk.lun); |
2484 | host_to_fcp_swap((uint8_t *)&tsk->p.tsk.lun, | 2645 | host_to_fcp_swap((uint8_t *)&tsk->p.tsk.lun, |
@@ -2504,7 +2665,7 @@ __qla24xx_issue_tmf(char *name, uint32_t type, struct fc_port *fcport, | |||
2504 | } else if (le16_to_cpu(sts->scsi_status) & | 2665 | } else if (le16_to_cpu(sts->scsi_status) & |
2505 | SS_RESPONSE_INFO_LEN_VALID) { | 2666 | SS_RESPONSE_INFO_LEN_VALID) { |
2506 | if (le32_to_cpu(sts->rsp_data_len) < 4) { | 2667 | if (le32_to_cpu(sts->rsp_data_len) < 4) { |
2507 | ql_dbg(ql_dbg_mbx, vha, 0x1097, | 2668 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1097, |
2508 | "Ignoring inconsistent data length -- not enough " | 2669 | "Ignoring inconsistent data length -- not enough " |
2509 | "response info (%d).\n", | 2670 | "response info (%d).\n", |
2510 | le32_to_cpu(sts->rsp_data_len)); | 2671 | le32_to_cpu(sts->rsp_data_len)); |
@@ -2523,7 +2684,8 @@ __qla24xx_issue_tmf(char *name, uint32_t type, struct fc_port *fcport, | |||
2523 | ql_dbg(ql_dbg_mbx, vha, 0x1099, | 2684 | ql_dbg(ql_dbg_mbx, vha, 0x1099, |
2524 | "Failed to issue marker IOCB (%x).\n", rval2); | 2685 | "Failed to issue marker IOCB (%x).\n", rval2); |
2525 | } else { | 2686 | } else { |
2526 | ql_dbg(ql_dbg_mbx, vha, 0x109a, "Done %s.\n", __func__); | 2687 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x109a, |
2688 | "Done %s.\n", __func__); | ||
2527 | } | 2689 | } |
2528 | 2690 | ||
2529 | dma_pool_free(ha->s_dma_pool, tsk, tsk_dma); | 2691 | dma_pool_free(ha->s_dma_pool, tsk, tsk_dma); |
@@ -2564,7 +2726,8 @@ qla2x00_system_error(scsi_qla_host_t *vha) | |||
2564 | if (!IS_QLA23XX(ha) && !IS_FWI2_CAPABLE(ha)) | 2726 | if (!IS_QLA23XX(ha) && !IS_FWI2_CAPABLE(ha)) |
2565 | return QLA_FUNCTION_FAILED; | 2727 | return QLA_FUNCTION_FAILED; |
2566 | 2728 | ||
2567 | ql_dbg(ql_dbg_mbx, vha, 0x109b, "Entered %s.\n", __func__); | 2729 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x109b, |
2730 | "Entered %s.\n", __func__); | ||
2568 | 2731 | ||
2569 | mcp->mb[0] = MBC_GEN_SYSTEM_ERROR; | 2732 | mcp->mb[0] = MBC_GEN_SYSTEM_ERROR; |
2570 | mcp->out_mb = MBX_0; | 2733 | mcp->out_mb = MBX_0; |
@@ -2576,7 +2739,8 @@ qla2x00_system_error(scsi_qla_host_t *vha) | |||
2576 | if (rval != QLA_SUCCESS) { | 2739 | if (rval != QLA_SUCCESS) { |
2577 | ql_dbg(ql_dbg_mbx, vha, 0x109c, "Failed=%x.\n", rval); | 2740 | ql_dbg(ql_dbg_mbx, vha, 0x109c, "Failed=%x.\n", rval); |
2578 | } else { | 2741 | } else { |
2579 | ql_dbg(ql_dbg_mbx, vha, 0x109d, "Done %s.\n", __func__); | 2742 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x109d, |
2743 | "Done %s.\n", __func__); | ||
2580 | } | 2744 | } |
2581 | 2745 | ||
2582 | return rval; | 2746 | return rval; |
@@ -2596,7 +2760,8 @@ qla2x00_set_serdes_params(scsi_qla_host_t *vha, uint16_t sw_em_1g, | |||
2596 | mbx_cmd_t mc; | 2760 | mbx_cmd_t mc; |
2597 | mbx_cmd_t *mcp = &mc; | 2761 | mbx_cmd_t *mcp = &mc; |
2598 | 2762 | ||
2599 | ql_dbg(ql_dbg_mbx, vha, 0x109e, "Entered %s.\n", __func__); | 2763 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x109e, |
2764 | "Entered %s.\n", __func__); | ||
2600 | 2765 | ||
2601 | mcp->mb[0] = MBC_SERDES_PARAMS; | 2766 | mcp->mb[0] = MBC_SERDES_PARAMS; |
2602 | mcp->mb[1] = BIT_0; | 2767 | mcp->mb[1] = BIT_0; |
@@ -2615,7 +2780,8 @@ qla2x00_set_serdes_params(scsi_qla_host_t *vha, uint16_t sw_em_1g, | |||
2615 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 2780 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
2616 | } else { | 2781 | } else { |
2617 | /*EMPTY*/ | 2782 | /*EMPTY*/ |
2618 | ql_dbg(ql_dbg_mbx, vha, 0x10a0, "Done %s.\n", __func__); | 2783 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10a0, |
2784 | "Done %s.\n", __func__); | ||
2619 | } | 2785 | } |
2620 | 2786 | ||
2621 | return rval; | 2787 | return rval; |
@@ -2631,7 +2797,8 @@ qla2x00_stop_firmware(scsi_qla_host_t *vha) | |||
2631 | if (!IS_FWI2_CAPABLE(vha->hw)) | 2797 | if (!IS_FWI2_CAPABLE(vha->hw)) |
2632 | return QLA_FUNCTION_FAILED; | 2798 | return QLA_FUNCTION_FAILED; |
2633 | 2799 | ||
2634 | ql_dbg(ql_dbg_mbx, vha, 0x10a1, "Entered %s.\n", __func__); | 2800 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10a1, |
2801 | "Entered %s.\n", __func__); | ||
2635 | 2802 | ||
2636 | mcp->mb[0] = MBC_STOP_FIRMWARE; | 2803 | mcp->mb[0] = MBC_STOP_FIRMWARE; |
2637 | mcp->mb[1] = 0; | 2804 | mcp->mb[1] = 0; |
@@ -2646,7 +2813,8 @@ qla2x00_stop_firmware(scsi_qla_host_t *vha) | |||
2646 | if (mcp->mb[0] == MBS_INVALID_COMMAND) | 2813 | if (mcp->mb[0] == MBS_INVALID_COMMAND) |
2647 | rval = QLA_INVALID_COMMAND; | 2814 | rval = QLA_INVALID_COMMAND; |
2648 | } else { | 2815 | } else { |
2649 | ql_dbg(ql_dbg_mbx, vha, 0x10a3, "Done %s.\n", __func__); | 2816 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10a3, |
2817 | "Done %s.\n", __func__); | ||
2650 | } | 2818 | } |
2651 | 2819 | ||
2652 | return rval; | 2820 | return rval; |
@@ -2660,7 +2828,8 @@ qla2x00_enable_eft_trace(scsi_qla_host_t *vha, dma_addr_t eft_dma, | |||
2660 | mbx_cmd_t mc; | 2828 | mbx_cmd_t mc; |
2661 | mbx_cmd_t *mcp = &mc; | 2829 | mbx_cmd_t *mcp = &mc; |
2662 | 2830 | ||
2663 | ql_dbg(ql_dbg_mbx, vha, 0x10a4, "Entered %s.\n", __func__); | 2831 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10a4, |
2832 | "Entered %s.\n", __func__); | ||
2664 | 2833 | ||
2665 | if (!IS_FWI2_CAPABLE(vha->hw)) | 2834 | if (!IS_FWI2_CAPABLE(vha->hw)) |
2666 | return QLA_FUNCTION_FAILED; | 2835 | return QLA_FUNCTION_FAILED; |
@@ -2686,7 +2855,8 @@ qla2x00_enable_eft_trace(scsi_qla_host_t *vha, dma_addr_t eft_dma, | |||
2686 | "Failed=%x mb[0]=%x mb[1]=%x.\n", | 2855 | "Failed=%x mb[0]=%x mb[1]=%x.\n", |
2687 | rval, mcp->mb[0], mcp->mb[1]); | 2856 | rval, mcp->mb[0], mcp->mb[1]); |
2688 | } else { | 2857 | } else { |
2689 | ql_dbg(ql_dbg_mbx, vha, 0x10a6, "Done %s.\n", __func__); | 2858 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10a6, |
2859 | "Done %s.\n", __func__); | ||
2690 | } | 2860 | } |
2691 | 2861 | ||
2692 | return rval; | 2862 | return rval; |
@@ -2699,7 +2869,8 @@ qla2x00_disable_eft_trace(scsi_qla_host_t *vha) | |||
2699 | mbx_cmd_t mc; | 2869 | mbx_cmd_t mc; |
2700 | mbx_cmd_t *mcp = &mc; | 2870 | mbx_cmd_t *mcp = &mc; |
2701 | 2871 | ||
2702 | ql_dbg(ql_dbg_mbx, vha, 0x10a7, "Entered %s.\n", __func__); | 2872 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10a7, |
2873 | "Entered %s.\n", __func__); | ||
2703 | 2874 | ||
2704 | if (!IS_FWI2_CAPABLE(vha->hw)) | 2875 | if (!IS_FWI2_CAPABLE(vha->hw)) |
2705 | return QLA_FUNCTION_FAILED; | 2876 | return QLA_FUNCTION_FAILED; |
@@ -2719,7 +2890,8 @@ qla2x00_disable_eft_trace(scsi_qla_host_t *vha) | |||
2719 | "Failed=%x mb[0]=%x mb[1]=%x.\n", | 2890 | "Failed=%x mb[0]=%x mb[1]=%x.\n", |
2720 | rval, mcp->mb[0], mcp->mb[1]); | 2891 | rval, mcp->mb[0], mcp->mb[1]); |
2721 | } else { | 2892 | } else { |
2722 | ql_dbg(ql_dbg_mbx, vha, 0x10a9, "Done %s.\n", __func__); | 2893 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10a9, |
2894 | "Done %s.\n", __func__); | ||
2723 | } | 2895 | } |
2724 | 2896 | ||
2725 | return rval; | 2897 | return rval; |
@@ -2733,7 +2905,8 @@ qla2x00_enable_fce_trace(scsi_qla_host_t *vha, dma_addr_t fce_dma, | |||
2733 | mbx_cmd_t mc; | 2905 | mbx_cmd_t mc; |
2734 | mbx_cmd_t *mcp = &mc; | 2906 | mbx_cmd_t *mcp = &mc; |
2735 | 2907 | ||
2736 | ql_dbg(ql_dbg_mbx, vha, 0x10aa, "Entered %s.\n", __func__); | 2908 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10aa, |
2909 | "Entered %s.\n", __func__); | ||
2737 | 2910 | ||
2738 | if (!IS_QLA25XX(vha->hw) && !IS_QLA81XX(vha->hw) && | 2911 | if (!IS_QLA25XX(vha->hw) && !IS_QLA81XX(vha->hw) && |
2739 | !IS_QLA83XX(vha->hw)) | 2912 | !IS_QLA83XX(vha->hw)) |
@@ -2764,7 +2937,8 @@ qla2x00_enable_fce_trace(scsi_qla_host_t *vha, dma_addr_t fce_dma, | |||
2764 | "Failed=%x mb[0]=%x mb[1]=%x.\n", | 2937 | "Failed=%x mb[0]=%x mb[1]=%x.\n", |
2765 | rval, mcp->mb[0], mcp->mb[1]); | 2938 | rval, mcp->mb[0], mcp->mb[1]); |
2766 | } else { | 2939 | } else { |
2767 | ql_dbg(ql_dbg_mbx, vha, 0x10ac, "Done %s.\n", __func__); | 2940 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ac, |
2941 | "Done %s.\n", __func__); | ||
2768 | 2942 | ||
2769 | if (mb) | 2943 | if (mb) |
2770 | memcpy(mb, mcp->mb, 8 * sizeof(*mb)); | 2944 | memcpy(mb, mcp->mb, 8 * sizeof(*mb)); |
@@ -2782,7 +2956,8 @@ qla2x00_disable_fce_trace(scsi_qla_host_t *vha, uint64_t *wr, uint64_t *rd) | |||
2782 | mbx_cmd_t mc; | 2956 | mbx_cmd_t mc; |
2783 | mbx_cmd_t *mcp = &mc; | 2957 | mbx_cmd_t *mcp = &mc; |
2784 | 2958 | ||
2785 | ql_dbg(ql_dbg_mbx, vha, 0x10ad, "Entered %s.\n", __func__); | 2959 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ad, |
2960 | "Entered %s.\n", __func__); | ||
2786 | 2961 | ||
2787 | if (!IS_FWI2_CAPABLE(vha->hw)) | 2962 | if (!IS_FWI2_CAPABLE(vha->hw)) |
2788 | return QLA_FUNCTION_FAILED; | 2963 | return QLA_FUNCTION_FAILED; |
@@ -2804,7 +2979,8 @@ qla2x00_disable_fce_trace(scsi_qla_host_t *vha, uint64_t *wr, uint64_t *rd) | |||
2804 | "Failed=%x mb[0]=%x mb[1]=%x.\n", | 2979 | "Failed=%x mb[0]=%x mb[1]=%x.\n", |
2805 | rval, mcp->mb[0], mcp->mb[1]); | 2980 | rval, mcp->mb[0], mcp->mb[1]); |
2806 | } else { | 2981 | } else { |
2807 | ql_dbg(ql_dbg_mbx, vha, 0x10af, "Done %s.\n", __func__); | 2982 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10af, |
2983 | "Done %s.\n", __func__); | ||
2808 | 2984 | ||
2809 | if (wr) | 2985 | if (wr) |
2810 | *wr = (uint64_t) mcp->mb[5] << 48 | | 2986 | *wr = (uint64_t) mcp->mb[5] << 48 | |
@@ -2829,7 +3005,8 @@ qla2x00_get_idma_speed(scsi_qla_host_t *vha, uint16_t loop_id, | |||
2829 | mbx_cmd_t mc; | 3005 | mbx_cmd_t mc; |
2830 | mbx_cmd_t *mcp = &mc; | 3006 | mbx_cmd_t *mcp = &mc; |
2831 | 3007 | ||
2832 | ql_dbg(ql_dbg_mbx, vha, 0x10b0, "Entered %s.\n", __func__); | 3008 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b0, |
3009 | "Entered %s.\n", __func__); | ||
2833 | 3010 | ||
2834 | if (!IS_IIDMA_CAPABLE(vha->hw)) | 3011 | if (!IS_IIDMA_CAPABLE(vha->hw)) |
2835 | return QLA_FUNCTION_FAILED; | 3012 | return QLA_FUNCTION_FAILED; |
@@ -2854,7 +3031,8 @@ qla2x00_get_idma_speed(scsi_qla_host_t *vha, uint16_t loop_id, | |||
2854 | if (rval != QLA_SUCCESS) { | 3031 | if (rval != QLA_SUCCESS) { |
2855 | ql_dbg(ql_dbg_mbx, vha, 0x10b1, "Failed=%x.\n", rval); | 3032 | ql_dbg(ql_dbg_mbx, vha, 0x10b1, "Failed=%x.\n", rval); |
2856 | } else { | 3033 | } else { |
2857 | ql_dbg(ql_dbg_mbx, vha, 0x10b2, "Done %s.\n", __func__); | 3034 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b2, |
3035 | "Done %s.\n", __func__); | ||
2858 | if (port_speed) | 3036 | if (port_speed) |
2859 | *port_speed = mcp->mb[3]; | 3037 | *port_speed = mcp->mb[3]; |
2860 | } | 3038 | } |
@@ -2870,7 +3048,8 @@ qla2x00_set_idma_speed(scsi_qla_host_t *vha, uint16_t loop_id, | |||
2870 | mbx_cmd_t mc; | 3048 | mbx_cmd_t mc; |
2871 | mbx_cmd_t *mcp = &mc; | 3049 | mbx_cmd_t *mcp = &mc; |
2872 | 3050 | ||
2873 | ql_dbg(ql_dbg_mbx, vha, 0x10b3, "Entered %s.\n", __func__); | 3051 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b3, |
3052 | "Entered %s.\n", __func__); | ||
2874 | 3053 | ||
2875 | if (!IS_IIDMA_CAPABLE(vha->hw)) | 3054 | if (!IS_IIDMA_CAPABLE(vha->hw)) |
2876 | return QLA_FUNCTION_FAILED; | 3055 | return QLA_FUNCTION_FAILED; |
@@ -2897,9 +3076,11 @@ qla2x00_set_idma_speed(scsi_qla_host_t *vha, uint16_t loop_id, | |||
2897 | } | 3076 | } |
2898 | 3077 | ||
2899 | if (rval != QLA_SUCCESS) { | 3078 | if (rval != QLA_SUCCESS) { |
2900 | ql_dbg(ql_dbg_mbx, vha, 0x10b4, "Failed=%x.\n", rval); | 3079 | ql_dbg(ql_dbg_mbx, vha, 0x10b4, |
3080 | "Failed=%x.\n", rval); | ||
2901 | } else { | 3081 | } else { |
2902 | ql_dbg(ql_dbg_mbx, vha, 0x10b5, "Done %s.\n", __func__); | 3082 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b5, |
3083 | "Done %s.\n", __func__); | ||
2903 | } | 3084 | } |
2904 | 3085 | ||
2905 | return rval; | 3086 | return rval; |
@@ -2915,24 +3096,25 @@ qla24xx_report_id_acquisition(scsi_qla_host_t *vha, | |||
2915 | scsi_qla_host_t *vp; | 3096 | scsi_qla_host_t *vp; |
2916 | unsigned long flags; | 3097 | unsigned long flags; |
2917 | 3098 | ||
2918 | ql_dbg(ql_dbg_mbx, vha, 0x10b6, "Entered %s.\n", __func__); | 3099 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b6, |
3100 | "Entered %s.\n", __func__); | ||
2919 | 3101 | ||
2920 | if (rptid_entry->entry_status != 0) | 3102 | if (rptid_entry->entry_status != 0) |
2921 | return; | 3103 | return; |
2922 | 3104 | ||
2923 | if (rptid_entry->format == 0) { | 3105 | if (rptid_entry->format == 0) { |
2924 | ql_dbg(ql_dbg_mbx, vha, 0x10b7, | 3106 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b7, |
2925 | "Format 0 : Number of VPs setup %d, number of " | 3107 | "Format 0 : Number of VPs setup %d, number of " |
2926 | "VPs acquired %d.\n", | 3108 | "VPs acquired %d.\n", |
2927 | MSB(le16_to_cpu(rptid_entry->vp_count)), | 3109 | MSB(le16_to_cpu(rptid_entry->vp_count)), |
2928 | LSB(le16_to_cpu(rptid_entry->vp_count))); | 3110 | LSB(le16_to_cpu(rptid_entry->vp_count))); |
2929 | ql_dbg(ql_dbg_mbx, vha, 0x10b8, | 3111 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b8, |
2930 | "Primary port id %02x%02x%02x.\n", | 3112 | "Primary port id %02x%02x%02x.\n", |
2931 | rptid_entry->port_id[2], rptid_entry->port_id[1], | 3113 | rptid_entry->port_id[2], rptid_entry->port_id[1], |
2932 | rptid_entry->port_id[0]); | 3114 | rptid_entry->port_id[0]); |
2933 | } else if (rptid_entry->format == 1) { | 3115 | } else if (rptid_entry->format == 1) { |
2934 | vp_idx = LSB(stat); | 3116 | vp_idx = LSB(stat); |
2935 | ql_dbg(ql_dbg_mbx, vha, 0x10b9, | 3117 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10b9, |
2936 | "Format 1: VP[%d] enabled - status %d - with " | 3118 | "Format 1: VP[%d] enabled - status %d - with " |
2937 | "port id %02x%02x%02x.\n", vp_idx, MSB(stat), | 3119 | "port id %02x%02x%02x.\n", vp_idx, MSB(stat), |
2938 | rptid_entry->port_id[2], rptid_entry->port_id[1], | 3120 | rptid_entry->port_id[2], rptid_entry->port_id[1], |
@@ -2999,7 +3181,8 @@ qla24xx_modify_vp_config(scsi_qla_host_t *vha) | |||
2999 | 3181 | ||
3000 | /* This can be called by the parent */ | 3182 | /* This can be called by the parent */ |
3001 | 3183 | ||
3002 | ql_dbg(ql_dbg_mbx, vha, 0x10bb, "Entered %s.\n", __func__); | 3184 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10bb, |
3185 | "Entered %s.\n", __func__); | ||
3003 | 3186 | ||
3004 | vpmod = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, &vpmod_dma); | 3187 | vpmod = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, &vpmod_dma); |
3005 | if (!vpmod) { | 3188 | if (!vpmod) { |
@@ -3015,6 +3198,9 @@ qla24xx_modify_vp_config(scsi_qla_host_t *vha) | |||
3015 | vpmod->vp_count = 1; | 3198 | vpmod->vp_count = 1; |
3016 | vpmod->vp_index1 = vha->vp_idx; | 3199 | vpmod->vp_index1 = vha->vp_idx; |
3017 | vpmod->options_idx1 = BIT_3|BIT_4|BIT_5; | 3200 | vpmod->options_idx1 = BIT_3|BIT_4|BIT_5; |
3201 | |||
3202 | qlt_modify_vp_config(vha, vpmod); | ||
3203 | |||
3018 | memcpy(vpmod->node_name_idx1, vha->node_name, WWN_SIZE); | 3204 | memcpy(vpmod->node_name_idx1, vha->node_name, WWN_SIZE); |
3019 | memcpy(vpmod->port_name_idx1, vha->port_name, WWN_SIZE); | 3205 | memcpy(vpmod->port_name_idx1, vha->port_name, WWN_SIZE); |
3020 | vpmod->entry_count = 1; | 3206 | vpmod->entry_count = 1; |
@@ -3035,7 +3221,8 @@ qla24xx_modify_vp_config(scsi_qla_host_t *vha) | |||
3035 | rval = QLA_FUNCTION_FAILED; | 3221 | rval = QLA_FUNCTION_FAILED; |
3036 | } else { | 3222 | } else { |
3037 | /* EMPTY */ | 3223 | /* EMPTY */ |
3038 | ql_dbg(ql_dbg_mbx, vha, 0x10c0, "Done %s.\n", __func__); | 3224 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10c0, |
3225 | "Done %s.\n", __func__); | ||
3039 | fc_vport_set_state(vha->fc_vport, FC_VPORT_INITIALIZING); | 3226 | fc_vport_set_state(vha->fc_vport, FC_VPORT_INITIALIZING); |
3040 | } | 3227 | } |
3041 | dma_pool_free(ha->s_dma_pool, vpmod, vpmod_dma); | 3228 | dma_pool_free(ha->s_dma_pool, vpmod, vpmod_dma); |
@@ -3069,7 +3256,7 @@ qla24xx_control_vp(scsi_qla_host_t *vha, int cmd) | |||
3069 | int vp_index = vha->vp_idx; | 3256 | int vp_index = vha->vp_idx; |
3070 | struct scsi_qla_host *base_vha = pci_get_drvdata(ha->pdev); | 3257 | struct scsi_qla_host *base_vha = pci_get_drvdata(ha->pdev); |
3071 | 3258 | ||
3072 | ql_dbg(ql_dbg_mbx, vha, 0x10c1, | 3259 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10c1, |
3073 | "Entered %s enabling index %d.\n", __func__, vp_index); | 3260 | "Entered %s enabling index %d.\n", __func__, vp_index); |
3074 | 3261 | ||
3075 | if (vp_index == 0 || vp_index >= ha->max_npiv_vports) | 3262 | if (vp_index == 0 || vp_index >= ha->max_npiv_vports) |
@@ -3112,7 +3299,8 @@ qla24xx_control_vp(scsi_qla_host_t *vha, int cmd) | |||
3112 | le16_to_cpu(vce->comp_status)); | 3299 | le16_to_cpu(vce->comp_status)); |
3113 | rval = QLA_FUNCTION_FAILED; | 3300 | rval = QLA_FUNCTION_FAILED; |
3114 | } else { | 3301 | } else { |
3115 | ql_dbg(ql_dbg_mbx, vha, 0x10c6, "Done %s.\n", __func__); | 3302 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10c6, |
3303 | "Done %s.\n", __func__); | ||
3116 | } | 3304 | } |
3117 | 3305 | ||
3118 | dma_pool_free(ha->s_dma_pool, vce, vce_dma); | 3306 | dma_pool_free(ha->s_dma_pool, vce, vce_dma); |
@@ -3149,14 +3337,8 @@ qla2x00_send_change_request(scsi_qla_host_t *vha, uint16_t format, | |||
3149 | mbx_cmd_t mc; | 3337 | mbx_cmd_t mc; |
3150 | mbx_cmd_t *mcp = &mc; | 3338 | mbx_cmd_t *mcp = &mc; |
3151 | 3339 | ||
3152 | ql_dbg(ql_dbg_mbx, vha, 0x10c7, "Entered %s.\n", __func__); | 3340 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10c7, |
3153 | 3341 | "Entered %s.\n", __func__); | |
3154 | /* | ||
3155 | * This command is implicitly executed by firmware during login for the | ||
3156 | * physical hosts | ||
3157 | */ | ||
3158 | if (vp_idx == 0) | ||
3159 | return QLA_FUNCTION_FAILED; | ||
3160 | 3342 | ||
3161 | mcp->mb[0] = MBC_SEND_CHANGE_REQUEST; | 3343 | mcp->mb[0] = MBC_SEND_CHANGE_REQUEST; |
3162 | mcp->mb[1] = format; | 3344 | mcp->mb[1] = format; |
@@ -3185,7 +3367,8 @@ qla2x00_dump_ram(scsi_qla_host_t *vha, dma_addr_t req_dma, uint32_t addr, | |||
3185 | mbx_cmd_t mc; | 3367 | mbx_cmd_t mc; |
3186 | mbx_cmd_t *mcp = &mc; | 3368 | mbx_cmd_t *mcp = &mc; |
3187 | 3369 | ||
3188 | ql_dbg(ql_dbg_mbx, vha, 0x1009, "Entered %s.\n", __func__); | 3370 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1009, |
3371 | "Entered %s.\n", __func__); | ||
3189 | 3372 | ||
3190 | if (MSW(addr) || IS_FWI2_CAPABLE(vha->hw)) { | 3373 | if (MSW(addr) || IS_FWI2_CAPABLE(vha->hw)) { |
3191 | mcp->mb[0] = MBC_DUMP_RISC_RAM_EXTENDED; | 3374 | mcp->mb[0] = MBC_DUMP_RISC_RAM_EXTENDED; |
@@ -3219,7 +3402,8 @@ qla2x00_dump_ram(scsi_qla_host_t *vha, dma_addr_t req_dma, uint32_t addr, | |||
3219 | ql_dbg(ql_dbg_mbx, vha, 0x1008, | 3402 | ql_dbg(ql_dbg_mbx, vha, 0x1008, |
3220 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 3403 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
3221 | } else { | 3404 | } else { |
3222 | ql_dbg(ql_dbg_mbx, vha, 0x1007, "Done %s.\n", __func__); | 3405 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1007, |
3406 | "Done %s.\n", __func__); | ||
3223 | } | 3407 | } |
3224 | 3408 | ||
3225 | return rval; | 3409 | return rval; |
@@ -3244,7 +3428,8 @@ qla84xx_verify_chip(struct scsi_qla_host *vha, uint16_t *status) | |||
3244 | unsigned long flags; | 3428 | unsigned long flags; |
3245 | struct qla_hw_data *ha = vha->hw; | 3429 | struct qla_hw_data *ha = vha->hw; |
3246 | 3430 | ||
3247 | ql_dbg(ql_dbg_mbx, vha, 0x10c8, "Entered %s.\n", __func__); | 3431 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10c8, |
3432 | "Entered %s.\n", __func__); | ||
3248 | 3433 | ||
3249 | mn = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, &mn_dma); | 3434 | mn = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, &mn_dma); |
3250 | if (mn == NULL) { | 3435 | if (mn == NULL) { |
@@ -3285,7 +3470,7 @@ qla84xx_verify_chip(struct scsi_qla_host *vha, uint16_t *status) | |||
3285 | status[0] = le16_to_cpu(mn->p.rsp.comp_status); | 3470 | status[0] = le16_to_cpu(mn->p.rsp.comp_status); |
3286 | status[1] = status[0] == CS_VCS_CHIP_FAILURE ? | 3471 | status[1] = status[0] == CS_VCS_CHIP_FAILURE ? |
3287 | le16_to_cpu(mn->p.rsp.failure_code) : 0; | 3472 | le16_to_cpu(mn->p.rsp.failure_code) : 0; |
3288 | ql_dbg(ql_dbg_mbx, vha, 0x10ce, | 3473 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ce, |
3289 | "cs=%x fc=%x.\n", status[0], status[1]); | 3474 | "cs=%x fc=%x.\n", status[0], status[1]); |
3290 | 3475 | ||
3291 | if (status[0] != CS_COMPLETE) { | 3476 | if (status[0] != CS_COMPLETE) { |
@@ -3299,7 +3484,7 @@ qla84xx_verify_chip(struct scsi_qla_host *vha, uint16_t *status) | |||
3299 | retry = 1; | 3484 | retry = 1; |
3300 | } | 3485 | } |
3301 | } else { | 3486 | } else { |
3302 | ql_dbg(ql_dbg_mbx, vha, 0x10d0, | 3487 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d0, |
3303 | "Firmware updated to %x.\n", | 3488 | "Firmware updated to %x.\n", |
3304 | le32_to_cpu(mn->p.rsp.fw_ver)); | 3489 | le32_to_cpu(mn->p.rsp.fw_ver)); |
3305 | 3490 | ||
@@ -3316,9 +3501,11 @@ verify_done: | |||
3316 | dma_pool_free(ha->s_dma_pool, mn, mn_dma); | 3501 | dma_pool_free(ha->s_dma_pool, mn, mn_dma); |
3317 | 3502 | ||
3318 | if (rval != QLA_SUCCESS) { | 3503 | if (rval != QLA_SUCCESS) { |
3319 | ql_dbg(ql_dbg_mbx, vha, 0x10d1, "Failed=%x.\n", rval); | 3504 | ql_dbg(ql_dbg_mbx, vha, 0x10d1, |
3505 | "Failed=%x.\n", rval); | ||
3320 | } else { | 3506 | } else { |
3321 | ql_dbg(ql_dbg_mbx, vha, 0x10d2, "Done %s.\n", __func__); | 3507 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d2, |
3508 | "Done %s.\n", __func__); | ||
3322 | } | 3509 | } |
3323 | 3510 | ||
3324 | return rval; | 3511 | return rval; |
@@ -3334,7 +3521,8 @@ qla25xx_init_req_que(struct scsi_qla_host *vha, struct req_que *req) | |||
3334 | struct device_reg_25xxmq __iomem *reg; | 3521 | struct device_reg_25xxmq __iomem *reg; |
3335 | struct qla_hw_data *ha = vha->hw; | 3522 | struct qla_hw_data *ha = vha->hw; |
3336 | 3523 | ||
3337 | ql_dbg(ql_dbg_mbx, vha, 0x10d3, "Entered %s.\n", __func__); | 3524 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d3, |
3525 | "Entered %s.\n", __func__); | ||
3338 | 3526 | ||
3339 | mcp->mb[0] = MBC_INITIALIZE_MULTIQ; | 3527 | mcp->mb[0] = MBC_INITIALIZE_MULTIQ; |
3340 | mcp->mb[1] = req->options; | 3528 | mcp->mb[1] = req->options; |
@@ -3388,7 +3576,8 @@ qla25xx_init_req_que(struct scsi_qla_host *vha, struct req_que *req) | |||
3388 | ql_dbg(ql_dbg_mbx, vha, 0x10d4, | 3576 | ql_dbg(ql_dbg_mbx, vha, 0x10d4, |
3389 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 3577 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
3390 | } else { | 3578 | } else { |
3391 | ql_dbg(ql_dbg_mbx, vha, 0x10d5, "Done %s.\n", __func__); | 3579 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d5, |
3580 | "Done %s.\n", __func__); | ||
3392 | } | 3581 | } |
3393 | 3582 | ||
3394 | return rval; | 3583 | return rval; |
@@ -3404,7 +3593,8 @@ qla25xx_init_rsp_que(struct scsi_qla_host *vha, struct rsp_que *rsp) | |||
3404 | struct device_reg_25xxmq __iomem *reg; | 3593 | struct device_reg_25xxmq __iomem *reg; |
3405 | struct qla_hw_data *ha = vha->hw; | 3594 | struct qla_hw_data *ha = vha->hw; |
3406 | 3595 | ||
3407 | ql_dbg(ql_dbg_mbx, vha, 0x10d6, "Entered %s.\n", __func__); | 3596 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d6, |
3597 | "Entered %s.\n", __func__); | ||
3408 | 3598 | ||
3409 | mcp->mb[0] = MBC_INITIALIZE_MULTIQ; | 3599 | mcp->mb[0] = MBC_INITIALIZE_MULTIQ; |
3410 | mcp->mb[1] = rsp->options; | 3600 | mcp->mb[1] = rsp->options; |
@@ -3456,7 +3646,8 @@ qla25xx_init_rsp_que(struct scsi_qla_host *vha, struct rsp_que *rsp) | |||
3456 | ql_dbg(ql_dbg_mbx, vha, 0x10d7, | 3646 | ql_dbg(ql_dbg_mbx, vha, 0x10d7, |
3457 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 3647 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
3458 | } else { | 3648 | } else { |
3459 | ql_dbg(ql_dbg_mbx, vha, 0x10d8, "Done %s.\n", __func__); | 3649 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d8, |
3650 | "Done %s.\n", __func__); | ||
3460 | } | 3651 | } |
3461 | 3652 | ||
3462 | return rval; | 3653 | return rval; |
@@ -3469,7 +3660,8 @@ qla81xx_idc_ack(scsi_qla_host_t *vha, uint16_t *mb) | |||
3469 | mbx_cmd_t mc; | 3660 | mbx_cmd_t mc; |
3470 | mbx_cmd_t *mcp = &mc; | 3661 | mbx_cmd_t *mcp = &mc; |
3471 | 3662 | ||
3472 | ql_dbg(ql_dbg_mbx, vha, 0x10d9, "Entered %s.\n", __func__); | 3663 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10d9, |
3664 | "Entered %s.\n", __func__); | ||
3473 | 3665 | ||
3474 | mcp->mb[0] = MBC_IDC_ACK; | 3666 | mcp->mb[0] = MBC_IDC_ACK; |
3475 | memcpy(&mcp->mb[1], mb, QLA_IDC_ACK_REGS * sizeof(uint16_t)); | 3667 | memcpy(&mcp->mb[1], mb, QLA_IDC_ACK_REGS * sizeof(uint16_t)); |
@@ -3483,7 +3675,8 @@ qla81xx_idc_ack(scsi_qla_host_t *vha, uint16_t *mb) | |||
3483 | ql_dbg(ql_dbg_mbx, vha, 0x10da, | 3675 | ql_dbg(ql_dbg_mbx, vha, 0x10da, |
3484 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 3676 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
3485 | } else { | 3677 | } else { |
3486 | ql_dbg(ql_dbg_mbx, vha, 0x10db, "Done %s.\n", __func__); | 3678 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10db, |
3679 | "Done %s.\n", __func__); | ||
3487 | } | 3680 | } |
3488 | 3681 | ||
3489 | return rval; | 3682 | return rval; |
@@ -3496,7 +3689,8 @@ qla81xx_fac_get_sector_size(scsi_qla_host_t *vha, uint32_t *sector_size) | |||
3496 | mbx_cmd_t mc; | 3689 | mbx_cmd_t mc; |
3497 | mbx_cmd_t *mcp = &mc; | 3690 | mbx_cmd_t *mcp = &mc; |
3498 | 3691 | ||
3499 | ql_dbg(ql_dbg_mbx, vha, 0x10dc, "Entered %s.\n", __func__); | 3692 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10dc, |
3693 | "Entered %s.\n", __func__); | ||
3500 | 3694 | ||
3501 | if (!IS_QLA81XX(vha->hw) && !IS_QLA83XX(vha->hw)) | 3695 | if (!IS_QLA81XX(vha->hw) && !IS_QLA83XX(vha->hw)) |
3502 | return QLA_FUNCTION_FAILED; | 3696 | return QLA_FUNCTION_FAILED; |
@@ -3514,7 +3708,8 @@ qla81xx_fac_get_sector_size(scsi_qla_host_t *vha, uint32_t *sector_size) | |||
3514 | "Failed=%x mb[0]=%x mb[1]=%x.\n", | 3708 | "Failed=%x mb[0]=%x mb[1]=%x.\n", |
3515 | rval, mcp->mb[0], mcp->mb[1]); | 3709 | rval, mcp->mb[0], mcp->mb[1]); |
3516 | } else { | 3710 | } else { |
3517 | ql_dbg(ql_dbg_mbx, vha, 0x10de, "Done %s.\n", __func__); | 3711 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10de, |
3712 | "Done %s.\n", __func__); | ||
3518 | *sector_size = mcp->mb[1]; | 3713 | *sector_size = mcp->mb[1]; |
3519 | } | 3714 | } |
3520 | 3715 | ||
@@ -3531,7 +3726,8 @@ qla81xx_fac_do_write_enable(scsi_qla_host_t *vha, int enable) | |||
3531 | if (!IS_QLA81XX(vha->hw) && !IS_QLA83XX(vha->hw)) | 3726 | if (!IS_QLA81XX(vha->hw) && !IS_QLA83XX(vha->hw)) |
3532 | return QLA_FUNCTION_FAILED; | 3727 | return QLA_FUNCTION_FAILED; |
3533 | 3728 | ||
3534 | ql_dbg(ql_dbg_mbx, vha, 0x10df, "Entered %s.\n", __func__); | 3729 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10df, |
3730 | "Entered %s.\n", __func__); | ||
3535 | 3731 | ||
3536 | mcp->mb[0] = MBC_FLASH_ACCESS_CTRL; | 3732 | mcp->mb[0] = MBC_FLASH_ACCESS_CTRL; |
3537 | mcp->mb[1] = enable ? FAC_OPT_CMD_WRITE_ENABLE : | 3733 | mcp->mb[1] = enable ? FAC_OPT_CMD_WRITE_ENABLE : |
@@ -3547,7 +3743,8 @@ qla81xx_fac_do_write_enable(scsi_qla_host_t *vha, int enable) | |||
3547 | "Failed=%x mb[0]=%x mb[1]=%x.\n", | 3743 | "Failed=%x mb[0]=%x mb[1]=%x.\n", |
3548 | rval, mcp->mb[0], mcp->mb[1]); | 3744 | rval, mcp->mb[0], mcp->mb[1]); |
3549 | } else { | 3745 | } else { |
3550 | ql_dbg(ql_dbg_mbx, vha, 0x10e1, "Done %s.\n", __func__); | 3746 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10e1, |
3747 | "Done %s.\n", __func__); | ||
3551 | } | 3748 | } |
3552 | 3749 | ||
3553 | return rval; | 3750 | return rval; |
@@ -3563,7 +3760,8 @@ qla81xx_fac_erase_sector(scsi_qla_host_t *vha, uint32_t start, uint32_t finish) | |||
3563 | if (!IS_QLA81XX(vha->hw) && !IS_QLA83XX(vha->hw)) | 3760 | if (!IS_QLA81XX(vha->hw) && !IS_QLA83XX(vha->hw)) |
3564 | return QLA_FUNCTION_FAILED; | 3761 | return QLA_FUNCTION_FAILED; |
3565 | 3762 | ||
3566 | ql_dbg(ql_dbg_mbx, vha, 0x10e2, "Entered %s.\n", __func__); | 3763 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10e2, |
3764 | "Entered %s.\n", __func__); | ||
3567 | 3765 | ||
3568 | mcp->mb[0] = MBC_FLASH_ACCESS_CTRL; | 3766 | mcp->mb[0] = MBC_FLASH_ACCESS_CTRL; |
3569 | mcp->mb[1] = FAC_OPT_CMD_ERASE_SECTOR; | 3767 | mcp->mb[1] = FAC_OPT_CMD_ERASE_SECTOR; |
@@ -3582,7 +3780,8 @@ qla81xx_fac_erase_sector(scsi_qla_host_t *vha, uint32_t start, uint32_t finish) | |||
3582 | "Failed=%x mb[0]=%x mb[1]=%x mb[2]=%x.\n", | 3780 | "Failed=%x mb[0]=%x mb[1]=%x mb[2]=%x.\n", |
3583 | rval, mcp->mb[0], mcp->mb[1], mcp->mb[2]); | 3781 | rval, mcp->mb[0], mcp->mb[1], mcp->mb[2]); |
3584 | } else { | 3782 | } else { |
3585 | ql_dbg(ql_dbg_mbx, vha, 0x10e4, "Done %s.\n", __func__); | 3783 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10e4, |
3784 | "Done %s.\n", __func__); | ||
3586 | } | 3785 | } |
3587 | 3786 | ||
3588 | return rval; | 3787 | return rval; |
@@ -3595,7 +3794,8 @@ qla81xx_restart_mpi_firmware(scsi_qla_host_t *vha) | |||
3595 | mbx_cmd_t mc; | 3794 | mbx_cmd_t mc; |
3596 | mbx_cmd_t *mcp = &mc; | 3795 | mbx_cmd_t *mcp = &mc; |
3597 | 3796 | ||
3598 | ql_dbg(ql_dbg_mbx, vha, 0x10e5, "Entered %s.\n", __func__); | 3797 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10e5, |
3798 | "Entered %s.\n", __func__); | ||
3599 | 3799 | ||
3600 | mcp->mb[0] = MBC_RESTART_MPI_FW; | 3800 | mcp->mb[0] = MBC_RESTART_MPI_FW; |
3601 | mcp->out_mb = MBX_0; | 3801 | mcp->out_mb = MBX_0; |
@@ -3609,7 +3809,8 @@ qla81xx_restart_mpi_firmware(scsi_qla_host_t *vha) | |||
3609 | "Failed=%x mb[0]=%x mb[1]=%x.\n", | 3809 | "Failed=%x mb[0]=%x mb[1]=%x.\n", |
3610 | rval, mcp->mb[0], mcp->mb[1]); | 3810 | rval, mcp->mb[0], mcp->mb[1]); |
3611 | } else { | 3811 | } else { |
3612 | ql_dbg(ql_dbg_mbx, vha, 0x10e7, "Done %s.\n", __func__); | 3812 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10e7, |
3813 | "Done %s.\n", __func__); | ||
3613 | } | 3814 | } |
3614 | 3815 | ||
3615 | return rval; | 3816 | return rval; |
@@ -3624,7 +3825,8 @@ qla2x00_read_sfp(scsi_qla_host_t *vha, dma_addr_t sfp_dma, uint8_t *sfp, | |||
3624 | mbx_cmd_t *mcp = &mc; | 3825 | mbx_cmd_t *mcp = &mc; |
3625 | struct qla_hw_data *ha = vha->hw; | 3826 | struct qla_hw_data *ha = vha->hw; |
3626 | 3827 | ||
3627 | ql_dbg(ql_dbg_mbx, vha, 0x10e8, "Entered %s.\n", __func__); | 3828 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10e8, |
3829 | "Entered %s.\n", __func__); | ||
3628 | 3830 | ||
3629 | if (!IS_FWI2_CAPABLE(ha)) | 3831 | if (!IS_FWI2_CAPABLE(ha)) |
3630 | return QLA_FUNCTION_FAILED; | 3832 | return QLA_FUNCTION_FAILED; |
@@ -3654,7 +3856,8 @@ qla2x00_read_sfp(scsi_qla_host_t *vha, dma_addr_t sfp_dma, uint8_t *sfp, | |||
3654 | ql_dbg(ql_dbg_mbx, vha, 0x10e9, | 3856 | ql_dbg(ql_dbg_mbx, vha, 0x10e9, |
3655 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 3857 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
3656 | } else { | 3858 | } else { |
3657 | ql_dbg(ql_dbg_mbx, vha, 0x10ea, "Done %s.\n", __func__); | 3859 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ea, |
3860 | "Done %s.\n", __func__); | ||
3658 | } | 3861 | } |
3659 | 3862 | ||
3660 | return rval; | 3863 | return rval; |
@@ -3669,7 +3872,8 @@ qla2x00_write_sfp(scsi_qla_host_t *vha, dma_addr_t sfp_dma, uint8_t *sfp, | |||
3669 | mbx_cmd_t *mcp = &mc; | 3872 | mbx_cmd_t *mcp = &mc; |
3670 | struct qla_hw_data *ha = vha->hw; | 3873 | struct qla_hw_data *ha = vha->hw; |
3671 | 3874 | ||
3672 | ql_dbg(ql_dbg_mbx, vha, 0x10eb, "Entered %s.\n", __func__); | 3875 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10eb, |
3876 | "Entered %s.\n", __func__); | ||
3673 | 3877 | ||
3674 | if (!IS_FWI2_CAPABLE(ha)) | 3878 | if (!IS_FWI2_CAPABLE(ha)) |
3675 | return QLA_FUNCTION_FAILED; | 3879 | return QLA_FUNCTION_FAILED; |
@@ -3699,7 +3903,8 @@ qla2x00_write_sfp(scsi_qla_host_t *vha, dma_addr_t sfp_dma, uint8_t *sfp, | |||
3699 | ql_dbg(ql_dbg_mbx, vha, 0x10ec, | 3903 | ql_dbg(ql_dbg_mbx, vha, 0x10ec, |
3700 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 3904 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
3701 | } else { | 3905 | } else { |
3702 | ql_dbg(ql_dbg_mbx, vha, 0x10ed, "Done %s.\n", __func__); | 3906 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ed, |
3907 | "Done %s.\n", __func__); | ||
3703 | } | 3908 | } |
3704 | 3909 | ||
3705 | return rval; | 3910 | return rval; |
@@ -3713,7 +3918,8 @@ qla2x00_get_xgmac_stats(scsi_qla_host_t *vha, dma_addr_t stats_dma, | |||
3713 | mbx_cmd_t mc; | 3918 | mbx_cmd_t mc; |
3714 | mbx_cmd_t *mcp = &mc; | 3919 | mbx_cmd_t *mcp = &mc; |
3715 | 3920 | ||
3716 | ql_dbg(ql_dbg_mbx, vha, 0x10ee, "Entered %s.\n", __func__); | 3921 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ee, |
3922 | "Entered %s.\n", __func__); | ||
3717 | 3923 | ||
3718 | if (!IS_CNA_CAPABLE(vha->hw)) | 3924 | if (!IS_CNA_CAPABLE(vha->hw)) |
3719 | return QLA_FUNCTION_FAILED; | 3925 | return QLA_FUNCTION_FAILED; |
@@ -3735,7 +3941,8 @@ qla2x00_get_xgmac_stats(scsi_qla_host_t *vha, dma_addr_t stats_dma, | |||
3735 | "Failed=%x mb[0]=%x mb[1]=%x mb[2]=%x.\n", | 3941 | "Failed=%x mb[0]=%x mb[1]=%x mb[2]=%x.\n", |
3736 | rval, mcp->mb[0], mcp->mb[1], mcp->mb[2]); | 3942 | rval, mcp->mb[0], mcp->mb[1], mcp->mb[2]); |
3737 | } else { | 3943 | } else { |
3738 | ql_dbg(ql_dbg_mbx, vha, 0x10f0, "Done %s.\n", __func__); | 3944 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10f0, |
3945 | "Done %s.\n", __func__); | ||
3739 | 3946 | ||
3740 | 3947 | ||
3741 | *actual_size = mcp->mb[2] << 2; | 3948 | *actual_size = mcp->mb[2] << 2; |
@@ -3752,7 +3959,8 @@ qla2x00_get_dcbx_params(scsi_qla_host_t *vha, dma_addr_t tlv_dma, | |||
3752 | mbx_cmd_t mc; | 3959 | mbx_cmd_t mc; |
3753 | mbx_cmd_t *mcp = &mc; | 3960 | mbx_cmd_t *mcp = &mc; |
3754 | 3961 | ||
3755 | ql_dbg(ql_dbg_mbx, vha, 0x10f1, "Entered %s.\n", __func__); | 3962 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10f1, |
3963 | "Entered %s.\n", __func__); | ||
3756 | 3964 | ||
3757 | if (!IS_CNA_CAPABLE(vha->hw)) | 3965 | if (!IS_CNA_CAPABLE(vha->hw)) |
3758 | return QLA_FUNCTION_FAILED; | 3966 | return QLA_FUNCTION_FAILED; |
@@ -3775,7 +3983,8 @@ qla2x00_get_dcbx_params(scsi_qla_host_t *vha, dma_addr_t tlv_dma, | |||
3775 | "Failed=%x mb[0]=%x mb[1]=%x mb[2]=%x.\n", | 3983 | "Failed=%x mb[0]=%x mb[1]=%x mb[2]=%x.\n", |
3776 | rval, mcp->mb[0], mcp->mb[1], mcp->mb[2]); | 3984 | rval, mcp->mb[0], mcp->mb[1], mcp->mb[2]); |
3777 | } else { | 3985 | } else { |
3778 | ql_dbg(ql_dbg_mbx, vha, 0x10f3, "Done %s.\n", __func__); | 3986 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10f3, |
3987 | "Done %s.\n", __func__); | ||
3779 | } | 3988 | } |
3780 | 3989 | ||
3781 | return rval; | 3990 | return rval; |
@@ -3788,7 +3997,8 @@ qla2x00_read_ram_word(scsi_qla_host_t *vha, uint32_t risc_addr, uint32_t *data) | |||
3788 | mbx_cmd_t mc; | 3997 | mbx_cmd_t mc; |
3789 | mbx_cmd_t *mcp = &mc; | 3998 | mbx_cmd_t *mcp = &mc; |
3790 | 3999 | ||
3791 | ql_dbg(ql_dbg_mbx, vha, 0x10f4, "Entered %s.\n", __func__); | 4000 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10f4, |
4001 | "Entered %s.\n", __func__); | ||
3792 | 4002 | ||
3793 | if (!IS_FWI2_CAPABLE(vha->hw)) | 4003 | if (!IS_FWI2_CAPABLE(vha->hw)) |
3794 | return QLA_FUNCTION_FAILED; | 4004 | return QLA_FUNCTION_FAILED; |
@@ -3805,7 +4015,8 @@ qla2x00_read_ram_word(scsi_qla_host_t *vha, uint32_t risc_addr, uint32_t *data) | |||
3805 | ql_dbg(ql_dbg_mbx, vha, 0x10f5, | 4015 | ql_dbg(ql_dbg_mbx, vha, 0x10f5, |
3806 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 4016 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
3807 | } else { | 4017 | } else { |
3808 | ql_dbg(ql_dbg_mbx, vha, 0x10f6, "Done %s.\n", __func__); | 4018 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10f6, |
4019 | "Done %s.\n", __func__); | ||
3809 | *data = mcp->mb[3] << 16 | mcp->mb[2]; | 4020 | *data = mcp->mb[3] << 16 | mcp->mb[2]; |
3810 | } | 4021 | } |
3811 | 4022 | ||
@@ -3821,7 +4032,8 @@ qla2x00_loopback_test(scsi_qla_host_t *vha, struct msg_echo_lb *mreq, | |||
3821 | mbx_cmd_t *mcp = &mc; | 4032 | mbx_cmd_t *mcp = &mc; |
3822 | uint32_t iter_cnt = 0x1; | 4033 | uint32_t iter_cnt = 0x1; |
3823 | 4034 | ||
3824 | ql_dbg(ql_dbg_mbx, vha, 0x10f7, "Entered %s.\n", __func__); | 4035 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10f7, |
4036 | "Entered %s.\n", __func__); | ||
3825 | 4037 | ||
3826 | memset(mcp->mb, 0 , sizeof(mcp->mb)); | 4038 | memset(mcp->mb, 0 , sizeof(mcp->mb)); |
3827 | mcp->mb[0] = MBC_DIAGNOSTIC_LOOP_BACK; | 4039 | mcp->mb[0] = MBC_DIAGNOSTIC_LOOP_BACK; |
@@ -3865,7 +4077,8 @@ qla2x00_loopback_test(scsi_qla_host_t *vha, struct msg_echo_lb *mreq, | |||
3865 | "mb[19]=%x.\n", rval, mcp->mb[0], mcp->mb[1], mcp->mb[2], | 4077 | "mb[19]=%x.\n", rval, mcp->mb[0], mcp->mb[1], mcp->mb[2], |
3866 | mcp->mb[3], mcp->mb[18], mcp->mb[19]); | 4078 | mcp->mb[3], mcp->mb[18], mcp->mb[19]); |
3867 | } else { | 4079 | } else { |
3868 | ql_dbg(ql_dbg_mbx, vha, 0x10f9, "Done %s.\n", __func__); | 4080 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10f9, |
4081 | "Done %s.\n", __func__); | ||
3869 | } | 4082 | } |
3870 | 4083 | ||
3871 | /* Copy mailbox information */ | 4084 | /* Copy mailbox information */ |
@@ -3882,7 +4095,8 @@ qla2x00_echo_test(scsi_qla_host_t *vha, struct msg_echo_lb *mreq, | |||
3882 | mbx_cmd_t *mcp = &mc; | 4095 | mbx_cmd_t *mcp = &mc; |
3883 | struct qla_hw_data *ha = vha->hw; | 4096 | struct qla_hw_data *ha = vha->hw; |
3884 | 4097 | ||
3885 | ql_dbg(ql_dbg_mbx, vha, 0x10fa, "Entered %s.\n", __func__); | 4098 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10fa, |
4099 | "Entered %s.\n", __func__); | ||
3886 | 4100 | ||
3887 | memset(mcp->mb, 0 , sizeof(mcp->mb)); | 4101 | memset(mcp->mb, 0 , sizeof(mcp->mb)); |
3888 | mcp->mb[0] = MBC_DIAGNOSTIC_ECHO; | 4102 | mcp->mb[0] = MBC_DIAGNOSTIC_ECHO; |
@@ -3926,7 +4140,8 @@ qla2x00_echo_test(scsi_qla_host_t *vha, struct msg_echo_lb *mreq, | |||
3926 | "Failed=%x mb[0]=%x mb[1]=%x.\n", | 4140 | "Failed=%x mb[0]=%x mb[1]=%x.\n", |
3927 | rval, mcp->mb[0], mcp->mb[1]); | 4141 | rval, mcp->mb[0], mcp->mb[1]); |
3928 | } else { | 4142 | } else { |
3929 | ql_dbg(ql_dbg_mbx, vha, 0x10fc, "Done %s.\n", __func__); | 4143 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10fc, |
4144 | "Done %s.\n", __func__); | ||
3930 | } | 4145 | } |
3931 | 4146 | ||
3932 | /* Copy mailbox information */ | 4147 | /* Copy mailbox information */ |
@@ -3941,7 +4156,7 @@ qla84xx_reset_chip(scsi_qla_host_t *vha, uint16_t enable_diagnostic) | |||
3941 | mbx_cmd_t mc; | 4156 | mbx_cmd_t mc; |
3942 | mbx_cmd_t *mcp = &mc; | 4157 | mbx_cmd_t *mcp = &mc; |
3943 | 4158 | ||
3944 | ql_dbg(ql_dbg_mbx, vha, 0x10fd, | 4159 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10fd, |
3945 | "Entered %s enable_diag=%d.\n", __func__, enable_diagnostic); | 4160 | "Entered %s enable_diag=%d.\n", __func__, enable_diagnostic); |
3946 | 4161 | ||
3947 | mcp->mb[0] = MBC_ISP84XX_RESET; | 4162 | mcp->mb[0] = MBC_ISP84XX_RESET; |
@@ -3955,7 +4170,8 @@ qla84xx_reset_chip(scsi_qla_host_t *vha, uint16_t enable_diagnostic) | |||
3955 | if (rval != QLA_SUCCESS) | 4170 | if (rval != QLA_SUCCESS) |
3956 | ql_dbg(ql_dbg_mbx, vha, 0x10fe, "Failed=%x.\n", rval); | 4171 | ql_dbg(ql_dbg_mbx, vha, 0x10fe, "Failed=%x.\n", rval); |
3957 | else | 4172 | else |
3958 | ql_dbg(ql_dbg_mbx, vha, 0x10ff, "Done %s.\n", __func__); | 4173 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ff, |
4174 | "Done %s.\n", __func__); | ||
3959 | 4175 | ||
3960 | return rval; | 4176 | return rval; |
3961 | } | 4177 | } |
@@ -3967,7 +4183,8 @@ qla2x00_write_ram_word(scsi_qla_host_t *vha, uint32_t risc_addr, uint32_t data) | |||
3967 | mbx_cmd_t mc; | 4183 | mbx_cmd_t mc; |
3968 | mbx_cmd_t *mcp = &mc; | 4184 | mbx_cmd_t *mcp = &mc; |
3969 | 4185 | ||
3970 | ql_dbg(ql_dbg_mbx, vha, 0x1100, "Entered %s.\n", __func__); | 4186 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1100, |
4187 | "Entered %s.\n", __func__); | ||
3971 | 4188 | ||
3972 | if (!IS_FWI2_CAPABLE(vha->hw)) | 4189 | if (!IS_FWI2_CAPABLE(vha->hw)) |
3973 | return QLA_FUNCTION_FAILED; | 4190 | return QLA_FUNCTION_FAILED; |
@@ -3986,7 +4203,8 @@ qla2x00_write_ram_word(scsi_qla_host_t *vha, uint32_t risc_addr, uint32_t data) | |||
3986 | ql_dbg(ql_dbg_mbx, vha, 0x1101, | 4203 | ql_dbg(ql_dbg_mbx, vha, 0x1101, |
3987 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 4204 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
3988 | } else { | 4205 | } else { |
3989 | ql_dbg(ql_dbg_mbx, vha, 0x1102, "Done %s.\n", __func__); | 4206 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1102, |
4207 | "Done %s.\n", __func__); | ||
3990 | } | 4208 | } |
3991 | 4209 | ||
3992 | return rval; | 4210 | return rval; |
@@ -4003,7 +4221,8 @@ qla81xx_write_mpi_register(scsi_qla_host_t *vha, uint16_t *mb) | |||
4003 | 4221 | ||
4004 | rval = QLA_SUCCESS; | 4222 | rval = QLA_SUCCESS; |
4005 | 4223 | ||
4006 | ql_dbg(ql_dbg_mbx, vha, 0x1103, "Entered %s.\n", __func__); | 4224 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1103, |
4225 | "Entered %s.\n", __func__); | ||
4007 | 4226 | ||
4008 | clear_bit(MBX_INTERRUPT, &ha->mbx_cmd_flags); | 4227 | clear_bit(MBX_INTERRUPT, &ha->mbx_cmd_flags); |
4009 | 4228 | ||
@@ -4046,7 +4265,8 @@ qla81xx_write_mpi_register(scsi_qla_host_t *vha, uint16_t *mb) | |||
4046 | ql_dbg(ql_dbg_mbx, vha, 0x1104, | 4265 | ql_dbg(ql_dbg_mbx, vha, 0x1104, |
4047 | "Failed=%x mb[0]=%x.\n", rval, mb[0]); | 4266 | "Failed=%x mb[0]=%x.\n", rval, mb[0]); |
4048 | } else { | 4267 | } else { |
4049 | ql_dbg(ql_dbg_mbx, vha, 0x1105, "Done %s.\n", __func__); | 4268 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1105, |
4269 | "Done %s.\n", __func__); | ||
4050 | } | 4270 | } |
4051 | 4271 | ||
4052 | return rval; | 4272 | return rval; |
@@ -4060,7 +4280,8 @@ qla2x00_get_data_rate(scsi_qla_host_t *vha) | |||
4060 | mbx_cmd_t *mcp = &mc; | 4280 | mbx_cmd_t *mcp = &mc; |
4061 | struct qla_hw_data *ha = vha->hw; | 4281 | struct qla_hw_data *ha = vha->hw; |
4062 | 4282 | ||
4063 | ql_dbg(ql_dbg_mbx, vha, 0x1106, "Entered %s.\n", __func__); | 4283 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1106, |
4284 | "Entered %s.\n", __func__); | ||
4064 | 4285 | ||
4065 | if (!IS_FWI2_CAPABLE(ha)) | 4286 | if (!IS_FWI2_CAPABLE(ha)) |
4066 | return QLA_FUNCTION_FAILED; | 4287 | return QLA_FUNCTION_FAILED; |
@@ -4078,7 +4299,8 @@ qla2x00_get_data_rate(scsi_qla_host_t *vha) | |||
4078 | ql_dbg(ql_dbg_mbx, vha, 0x1107, | 4299 | ql_dbg(ql_dbg_mbx, vha, 0x1107, |
4079 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 4300 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
4080 | } else { | 4301 | } else { |
4081 | ql_dbg(ql_dbg_mbx, vha, 0x1108, "Done %s.\n", __func__); | 4302 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1108, |
4303 | "Done %s.\n", __func__); | ||
4082 | if (mcp->mb[1] != 0x7) | 4304 | if (mcp->mb[1] != 0x7) |
4083 | ha->link_data_rate = mcp->mb[1]; | 4305 | ha->link_data_rate = mcp->mb[1]; |
4084 | } | 4306 | } |
@@ -4094,7 +4316,8 @@ qla81xx_get_port_config(scsi_qla_host_t *vha, uint16_t *mb) | |||
4094 | mbx_cmd_t *mcp = &mc; | 4316 | mbx_cmd_t *mcp = &mc; |
4095 | struct qla_hw_data *ha = vha->hw; | 4317 | struct qla_hw_data *ha = vha->hw; |
4096 | 4318 | ||
4097 | ql_dbg(ql_dbg_mbx, vha, 0x1109, "Entered %s.\n", __func__); | 4319 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1109, |
4320 | "Entered %s.\n", __func__); | ||
4098 | 4321 | ||
4099 | if (!IS_QLA81XX(ha) && !IS_QLA83XX(ha)) | 4322 | if (!IS_QLA81XX(ha) && !IS_QLA83XX(ha)) |
4100 | return QLA_FUNCTION_FAILED; | 4323 | return QLA_FUNCTION_FAILED; |
@@ -4113,7 +4336,8 @@ qla81xx_get_port_config(scsi_qla_host_t *vha, uint16_t *mb) | |||
4113 | /* Copy all bits to preserve original value */ | 4336 | /* Copy all bits to preserve original value */ |
4114 | memcpy(mb, &mcp->mb[1], sizeof(uint16_t) * 4); | 4337 | memcpy(mb, &mcp->mb[1], sizeof(uint16_t) * 4); |
4115 | 4338 | ||
4116 | ql_dbg(ql_dbg_mbx, vha, 0x110b, "Done %s.\n", __func__); | 4339 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x110b, |
4340 | "Done %s.\n", __func__); | ||
4117 | } | 4341 | } |
4118 | return rval; | 4342 | return rval; |
4119 | } | 4343 | } |
@@ -4125,7 +4349,8 @@ qla81xx_set_port_config(scsi_qla_host_t *vha, uint16_t *mb) | |||
4125 | mbx_cmd_t mc; | 4349 | mbx_cmd_t mc; |
4126 | mbx_cmd_t *mcp = &mc; | 4350 | mbx_cmd_t *mcp = &mc; |
4127 | 4351 | ||
4128 | ql_dbg(ql_dbg_mbx, vha, 0x110c, "Entered %s.\n", __func__); | 4352 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x110c, |
4353 | "Entered %s.\n", __func__); | ||
4129 | 4354 | ||
4130 | mcp->mb[0] = MBC_SET_PORT_CONFIG; | 4355 | mcp->mb[0] = MBC_SET_PORT_CONFIG; |
4131 | /* Copy all bits to preserve original setting */ | 4356 | /* Copy all bits to preserve original setting */ |
@@ -4140,7 +4365,8 @@ qla81xx_set_port_config(scsi_qla_host_t *vha, uint16_t *mb) | |||
4140 | ql_dbg(ql_dbg_mbx, vha, 0x110d, | 4365 | ql_dbg(ql_dbg_mbx, vha, 0x110d, |
4141 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 4366 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
4142 | } else | 4367 | } else |
4143 | ql_dbg(ql_dbg_mbx, vha, 0x110e, "Done %s.\n", __func__); | 4368 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x110e, |
4369 | "Done %s.\n", __func__); | ||
4144 | 4370 | ||
4145 | return rval; | 4371 | return rval; |
4146 | } | 4372 | } |
@@ -4155,7 +4381,8 @@ qla24xx_set_fcp_prio(scsi_qla_host_t *vha, uint16_t loop_id, uint16_t priority, | |||
4155 | mbx_cmd_t *mcp = &mc; | 4381 | mbx_cmd_t *mcp = &mc; |
4156 | struct qla_hw_data *ha = vha->hw; | 4382 | struct qla_hw_data *ha = vha->hw; |
4157 | 4383 | ||
4158 | ql_dbg(ql_dbg_mbx, vha, 0x110f, "Entered %s.\n", __func__); | 4384 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x110f, |
4385 | "Entered %s.\n", __func__); | ||
4159 | 4386 | ||
4160 | if (!IS_QLA24XX_TYPE(ha) && !IS_QLA25XX(ha)) | 4387 | if (!IS_QLA24XX_TYPE(ha) && !IS_QLA25XX(ha)) |
4161 | return QLA_FUNCTION_FAILED; | 4388 | return QLA_FUNCTION_FAILED; |
@@ -4183,7 +4410,8 @@ qla24xx_set_fcp_prio(scsi_qla_host_t *vha, uint16_t loop_id, uint16_t priority, | |||
4183 | if (rval != QLA_SUCCESS) { | 4410 | if (rval != QLA_SUCCESS) { |
4184 | ql_dbg(ql_dbg_mbx, vha, 0x10cd, "Failed=%x.\n", rval); | 4411 | ql_dbg(ql_dbg_mbx, vha, 0x10cd, "Failed=%x.\n", rval); |
4185 | } else { | 4412 | } else { |
4186 | ql_dbg(ql_dbg_mbx, vha, 0x10cc, "Done %s.\n", __func__); | 4413 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10cc, |
4414 | "Done %s.\n", __func__); | ||
4187 | } | 4415 | } |
4188 | 4416 | ||
4189 | return rval; | 4417 | return rval; |
@@ -4196,7 +4424,8 @@ qla2x00_get_thermal_temp(scsi_qla_host_t *vha, uint16_t *temp, uint16_t *frac) | |||
4196 | uint8_t byte; | 4424 | uint8_t byte; |
4197 | struct qla_hw_data *ha = vha->hw; | 4425 | struct qla_hw_data *ha = vha->hw; |
4198 | 4426 | ||
4199 | ql_dbg(ql_dbg_mbx, vha, 0x10ca, "Entered %s.\n", __func__); | 4427 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x10ca, |
4428 | "Entered %s.\n", __func__); | ||
4200 | 4429 | ||
4201 | /* Integer part */ | 4430 | /* Integer part */ |
4202 | rval = qla2x00_read_sfp(vha, 0, &byte, 0x98, 0x01, 1, BIT_13|BIT_0); | 4431 | rval = qla2x00_read_sfp(vha, 0, &byte, 0x98, 0x01, 1, BIT_13|BIT_0); |
@@ -4216,7 +4445,8 @@ qla2x00_get_thermal_temp(scsi_qla_host_t *vha, uint16_t *temp, uint16_t *frac) | |||
4216 | } | 4445 | } |
4217 | *frac = (byte >> 6) * 25; | 4446 | *frac = (byte >> 6) * 25; |
4218 | 4447 | ||
4219 | ql_dbg(ql_dbg_mbx, vha, 0x1018, "Done %s.\n", __func__); | 4448 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1018, |
4449 | "Done %s.\n", __func__); | ||
4220 | fail: | 4450 | fail: |
4221 | return rval; | 4451 | return rval; |
4222 | } | 4452 | } |
@@ -4229,7 +4459,8 @@ qla82xx_mbx_intr_enable(scsi_qla_host_t *vha) | |||
4229 | mbx_cmd_t mc; | 4459 | mbx_cmd_t mc; |
4230 | mbx_cmd_t *mcp = &mc; | 4460 | mbx_cmd_t *mcp = &mc; |
4231 | 4461 | ||
4232 | ql_dbg(ql_dbg_mbx, vha, 0x1017, "Entered %s.\n", __func__); | 4462 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1017, |
4463 | "Entered %s.\n", __func__); | ||
4233 | 4464 | ||
4234 | if (!IS_FWI2_CAPABLE(ha)) | 4465 | if (!IS_FWI2_CAPABLE(ha)) |
4235 | return QLA_FUNCTION_FAILED; | 4466 | return QLA_FUNCTION_FAILED; |
@@ -4248,7 +4479,8 @@ qla82xx_mbx_intr_enable(scsi_qla_host_t *vha) | |||
4248 | ql_dbg(ql_dbg_mbx, vha, 0x1016, | 4479 | ql_dbg(ql_dbg_mbx, vha, 0x1016, |
4249 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 4480 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
4250 | } else { | 4481 | } else { |
4251 | ql_dbg(ql_dbg_mbx, vha, 0x100e, "Done %s.\n", __func__); | 4482 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x100e, |
4483 | "Done %s.\n", __func__); | ||
4252 | } | 4484 | } |
4253 | 4485 | ||
4254 | return rval; | 4486 | return rval; |
@@ -4262,7 +4494,8 @@ qla82xx_mbx_intr_disable(scsi_qla_host_t *vha) | |||
4262 | mbx_cmd_t mc; | 4494 | mbx_cmd_t mc; |
4263 | mbx_cmd_t *mcp = &mc; | 4495 | mbx_cmd_t *mcp = &mc; |
4264 | 4496 | ||
4265 | ql_dbg(ql_dbg_mbx, vha, 0x100d, "Entered %s.\n", __func__); | 4497 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x100d, |
4498 | "Entered %s.\n", __func__); | ||
4266 | 4499 | ||
4267 | if (!IS_QLA82XX(ha)) | 4500 | if (!IS_QLA82XX(ha)) |
4268 | return QLA_FUNCTION_FAILED; | 4501 | return QLA_FUNCTION_FAILED; |
@@ -4281,7 +4514,8 @@ qla82xx_mbx_intr_disable(scsi_qla_host_t *vha) | |||
4281 | ql_dbg(ql_dbg_mbx, vha, 0x100c, | 4514 | ql_dbg(ql_dbg_mbx, vha, 0x100c, |
4282 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 4515 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
4283 | } else { | 4516 | } else { |
4284 | ql_dbg(ql_dbg_mbx, vha, 0x100b, "Done %s.\n", __func__); | 4517 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x100b, |
4518 | "Done %s.\n", __func__); | ||
4285 | } | 4519 | } |
4286 | 4520 | ||
4287 | return rval; | 4521 | return rval; |
@@ -4295,7 +4529,8 @@ qla82xx_md_get_template_size(scsi_qla_host_t *vha) | |||
4295 | mbx_cmd_t *mcp = &mc; | 4529 | mbx_cmd_t *mcp = &mc; |
4296 | int rval = QLA_FUNCTION_FAILED; | 4530 | int rval = QLA_FUNCTION_FAILED; |
4297 | 4531 | ||
4298 | ql_dbg(ql_dbg_mbx, vha, 0x111f, "Entered %s.\n", __func__); | 4532 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x111f, |
4533 | "Entered %s.\n", __func__); | ||
4299 | 4534 | ||
4300 | memset(mcp->mb, 0 , sizeof(mcp->mb)); | 4535 | memset(mcp->mb, 0 , sizeof(mcp->mb)); |
4301 | mcp->mb[0] = LSW(MBC_DIAGNOSTIC_MINIDUMP_TEMPLATE); | 4536 | mcp->mb[0] = LSW(MBC_DIAGNOSTIC_MINIDUMP_TEMPLATE); |
@@ -4318,7 +4553,8 @@ qla82xx_md_get_template_size(scsi_qla_host_t *vha) | |||
4318 | (mcp->mb[1] << 16) | mcp->mb[0], | 4553 | (mcp->mb[1] << 16) | mcp->mb[0], |
4319 | (mcp->mb[3] << 16) | mcp->mb[2]); | 4554 | (mcp->mb[3] << 16) | mcp->mb[2]); |
4320 | } else { | 4555 | } else { |
4321 | ql_dbg(ql_dbg_mbx, vha, 0x1121, "Done %s.\n", __func__); | 4556 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1121, |
4557 | "Done %s.\n", __func__); | ||
4322 | ha->md_template_size = ((mcp->mb[3] << 16) | mcp->mb[2]); | 4558 | ha->md_template_size = ((mcp->mb[3] << 16) | mcp->mb[2]); |
4323 | if (!ha->md_template_size) { | 4559 | if (!ha->md_template_size) { |
4324 | ql_dbg(ql_dbg_mbx, vha, 0x1122, | 4560 | ql_dbg(ql_dbg_mbx, vha, 0x1122, |
@@ -4337,7 +4573,8 @@ qla82xx_md_get_template(scsi_qla_host_t *vha) | |||
4337 | mbx_cmd_t *mcp = &mc; | 4573 | mbx_cmd_t *mcp = &mc; |
4338 | int rval = QLA_FUNCTION_FAILED; | 4574 | int rval = QLA_FUNCTION_FAILED; |
4339 | 4575 | ||
4340 | ql_dbg(ql_dbg_mbx, vha, 0x1123, "Entered %s.\n", __func__); | 4576 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1123, |
4577 | "Entered %s.\n", __func__); | ||
4341 | 4578 | ||
4342 | ha->md_tmplt_hdr = dma_alloc_coherent(&ha->pdev->dev, | 4579 | ha->md_tmplt_hdr = dma_alloc_coherent(&ha->pdev->dev, |
4343 | ha->md_template_size, &ha->md_tmplt_hdr_dma, GFP_KERNEL); | 4580 | ha->md_template_size, &ha->md_tmplt_hdr_dma, GFP_KERNEL); |
@@ -4372,7 +4609,8 @@ qla82xx_md_get_template(scsi_qla_host_t *vha) | |||
4372 | ((mcp->mb[1] << 16) | mcp->mb[0]), | 4609 | ((mcp->mb[1] << 16) | mcp->mb[0]), |
4373 | ((mcp->mb[3] << 16) | mcp->mb[2])); | 4610 | ((mcp->mb[3] << 16) | mcp->mb[2])); |
4374 | } else | 4611 | } else |
4375 | ql_dbg(ql_dbg_mbx, vha, 0x1126, "Done %s.\n", __func__); | 4612 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1126, |
4613 | "Done %s.\n", __func__); | ||
4376 | return rval; | 4614 | return rval; |
4377 | } | 4615 | } |
4378 | 4616 | ||
@@ -4387,7 +4625,8 @@ qla81xx_set_led_config(scsi_qla_host_t *vha, uint16_t *led_cfg) | |||
4387 | if (!IS_QLA81XX(ha) && !IS_QLA8031(ha)) | 4625 | if (!IS_QLA81XX(ha) && !IS_QLA8031(ha)) |
4388 | return QLA_FUNCTION_FAILED; | 4626 | return QLA_FUNCTION_FAILED; |
4389 | 4627 | ||
4390 | ql_dbg(ql_dbg_mbx, vha, 0x1133, "Entered %s.\n", __func__); | 4628 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1133, |
4629 | "Entered %s.\n", __func__); | ||
4391 | 4630 | ||
4392 | memset(mcp, 0, sizeof(mbx_cmd_t)); | 4631 | memset(mcp, 0, sizeof(mbx_cmd_t)); |
4393 | mcp->mb[0] = MBC_SET_LED_CONFIG; | 4632 | mcp->mb[0] = MBC_SET_LED_CONFIG; |
@@ -4412,7 +4651,8 @@ qla81xx_set_led_config(scsi_qla_host_t *vha, uint16_t *led_cfg) | |||
4412 | ql_dbg(ql_dbg_mbx, vha, 0x1134, | 4651 | ql_dbg(ql_dbg_mbx, vha, 0x1134, |
4413 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 4652 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
4414 | } else { | 4653 | } else { |
4415 | ql_dbg(ql_dbg_mbx, vha, 0x1135, "Done %s.\n", __func__); | 4654 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1135, |
4655 | "Done %s.\n", __func__); | ||
4416 | } | 4656 | } |
4417 | 4657 | ||
4418 | return rval; | 4658 | return rval; |
@@ -4429,7 +4669,8 @@ qla81xx_get_led_config(scsi_qla_host_t *vha, uint16_t *led_cfg) | |||
4429 | if (!IS_QLA81XX(ha) && !IS_QLA8031(ha)) | 4669 | if (!IS_QLA81XX(ha) && !IS_QLA8031(ha)) |
4430 | return QLA_FUNCTION_FAILED; | 4670 | return QLA_FUNCTION_FAILED; |
4431 | 4671 | ||
4432 | ql_dbg(ql_dbg_mbx, vha, 0x1136, "Entered %s.\n", __func__); | 4672 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1136, |
4673 | "Entered %s.\n", __func__); | ||
4433 | 4674 | ||
4434 | memset(mcp, 0, sizeof(mbx_cmd_t)); | 4675 | memset(mcp, 0, sizeof(mbx_cmd_t)); |
4435 | mcp->mb[0] = MBC_GET_LED_CONFIG; | 4676 | mcp->mb[0] = MBC_GET_LED_CONFIG; |
@@ -4454,7 +4695,8 @@ qla81xx_get_led_config(scsi_qla_host_t *vha, uint16_t *led_cfg) | |||
4454 | led_cfg[4] = mcp->mb[5]; | 4695 | led_cfg[4] = mcp->mb[5]; |
4455 | led_cfg[5] = mcp->mb[6]; | 4696 | led_cfg[5] = mcp->mb[6]; |
4456 | } | 4697 | } |
4457 | ql_dbg(ql_dbg_mbx, vha, 0x1138, "Done %s.\n", __func__); | 4698 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1138, |
4699 | "Done %s.\n", __func__); | ||
4458 | } | 4700 | } |
4459 | 4701 | ||
4460 | return rval; | 4702 | return rval; |
@@ -4471,7 +4713,7 @@ qla82xx_mbx_beacon_ctl(scsi_qla_host_t *vha, int enable) | |||
4471 | if (!IS_QLA82XX(ha)) | 4713 | if (!IS_QLA82XX(ha)) |
4472 | return QLA_FUNCTION_FAILED; | 4714 | return QLA_FUNCTION_FAILED; |
4473 | 4715 | ||
4474 | ql_dbg(ql_dbg_mbx, vha, 0x1127, | 4716 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1127, |
4475 | "Entered %s.\n", __func__); | 4717 | "Entered %s.\n", __func__); |
4476 | 4718 | ||
4477 | memset(mcp, 0, sizeof(mbx_cmd_t)); | 4719 | memset(mcp, 0, sizeof(mbx_cmd_t)); |
@@ -4491,7 +4733,7 @@ qla82xx_mbx_beacon_ctl(scsi_qla_host_t *vha, int enable) | |||
4491 | ql_dbg(ql_dbg_mbx, vha, 0x1128, | 4733 | ql_dbg(ql_dbg_mbx, vha, 0x1128, |
4492 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 4734 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
4493 | } else { | 4735 | } else { |
4494 | ql_dbg(ql_dbg_mbx, vha, 0x1129, | 4736 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1129, |
4495 | "Done %s.\n", __func__); | 4737 | "Done %s.\n", __func__); |
4496 | } | 4738 | } |
4497 | 4739 | ||
@@ -4509,7 +4751,8 @@ qla83xx_write_remote_reg(scsi_qla_host_t *vha, uint32_t reg, uint32_t data) | |||
4509 | if (!IS_QLA83XX(ha)) | 4751 | if (!IS_QLA83XX(ha)) |
4510 | return QLA_FUNCTION_FAILED; | 4752 | return QLA_FUNCTION_FAILED; |
4511 | 4753 | ||
4512 | ql_dbg(ql_dbg_mbx, vha, 0x1130, "Entered %s.\n", __func__); | 4754 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1130, |
4755 | "Entered %s.\n", __func__); | ||
4513 | 4756 | ||
4514 | mcp->mb[0] = MBC_WRITE_REMOTE_REG; | 4757 | mcp->mb[0] = MBC_WRITE_REMOTE_REG; |
4515 | mcp->mb[1] = LSW(reg); | 4758 | mcp->mb[1] = LSW(reg); |
@@ -4527,7 +4770,7 @@ qla83xx_write_remote_reg(scsi_qla_host_t *vha, uint32_t reg, uint32_t data) | |||
4527 | ql_dbg(ql_dbg_mbx, vha, 0x1131, | 4770 | ql_dbg(ql_dbg_mbx, vha, 0x1131, |
4528 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 4771 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
4529 | } else { | 4772 | } else { |
4530 | ql_dbg(ql_dbg_mbx, vha, 0x1132, | 4773 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x1132, |
4531 | "Done %s.\n", __func__); | 4774 | "Done %s.\n", __func__); |
4532 | } | 4775 | } |
4533 | 4776 | ||
@@ -4543,13 +4786,14 @@ qla2x00_port_logout(scsi_qla_host_t *vha, struct fc_port *fcport) | |||
4543 | mbx_cmd_t *mcp = &mc; | 4786 | mbx_cmd_t *mcp = &mc; |
4544 | 4787 | ||
4545 | if (IS_QLA2100(ha) || IS_QLA2200(ha)) { | 4788 | if (IS_QLA2100(ha) || IS_QLA2200(ha)) { |
4546 | ql_dbg(ql_dbg_mbx, vha, 0x113b, | 4789 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x113b, |
4547 | "Implicit LOGO Unsupported.\n"); | 4790 | "Implicit LOGO Unsupported.\n"); |
4548 | return QLA_FUNCTION_FAILED; | 4791 | return QLA_FUNCTION_FAILED; |
4549 | } | 4792 | } |
4550 | 4793 | ||
4551 | 4794 | ||
4552 | ql_dbg(ql_dbg_mbx, vha, 0x113c, "Done %s.\n", __func__); | 4795 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x113c, |
4796 | "Entering %s.\n", __func__); | ||
4553 | 4797 | ||
4554 | /* Perform Implicit LOGO. */ | 4798 | /* Perform Implicit LOGO. */ |
4555 | mcp->mb[0] = MBC_PORT_LOGOUT; | 4799 | mcp->mb[0] = MBC_PORT_LOGOUT; |
@@ -4564,7 +4808,8 @@ qla2x00_port_logout(scsi_qla_host_t *vha, struct fc_port *fcport) | |||
4564 | ql_dbg(ql_dbg_mbx, vha, 0x113d, | 4808 | ql_dbg(ql_dbg_mbx, vha, 0x113d, |
4565 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); | 4809 | "Failed=%x mb[0]=%x.\n", rval, mcp->mb[0]); |
4566 | else | 4810 | else |
4567 | ql_dbg(ql_dbg_mbx, vha, 0x113e, "Done %s.\n", __func__); | 4811 | ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x113e, |
4812 | "Done %s.\n", __func__); | ||
4568 | 4813 | ||
4569 | return rval; | 4814 | return rval; |
4570 | } | 4815 | } |