Lines Matching refs:mbs
162 mbreg_t mbs; in isp_reset() local
689 ISP_MEMZERO(&mbs, sizeof (mbs)); in isp_reset()
690 mbs.param[0] = MBOX_NO_OP; in isp_reset()
691 mbs.logval = MBLOGALL; in isp_reset()
692 isp_mboxcmd(isp, &mbs); in isp_reset()
693 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_reset()
694 isp_prt(isp, ISP_LOGERR, "NOP command failed (%x)", mbs.param[0]); in isp_reset()
704 ISP_MEMZERO(&mbs, sizeof (mbs)); in isp_reset()
705 mbs.param[0] = MBOX_MAILBOX_REG_TEST; in isp_reset()
706 mbs.param[1] = 0xdead; in isp_reset()
707 mbs.param[2] = 0xbeef; in isp_reset()
708 mbs.param[3] = 0xffff; in isp_reset()
709 mbs.param[4] = 0x1111; in isp_reset()
710 mbs.param[5] = 0xa5a5; in isp_reset()
711 mbs.param[6] = 0x0000; in isp_reset()
712 mbs.param[7] = 0x0000; in isp_reset()
713 mbs.logval = MBLOGALL; in isp_reset()
714 isp_mboxcmd(isp, &mbs); in isp_reset()
715 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_reset()
719 if (mbs.param[1] != 0xdead || mbs.param[2] != 0xbeef || in isp_reset()
720 mbs.param[3] != 0xffff || mbs.param[4] != 0x1111 || in isp_reset()
721 mbs.param[5] != 0xa5a5) { in isp_reset()
723 …ister Test Failed (0x%x 0x%x 0x%x 0x%x 0x%x)", mbs.param[1], mbs.param[2], mbs.param[3], mbs.param… in isp_reset()
781 ISP_MEMZERO(&mbs, sizeof (mbs)); in isp_reset()
783 mbs.param[0] = MBOX_LOAD_RISC_RAM_2100; in isp_reset()
784 mbs.param[1] = la; in isp_reset()
785 mbs.param[2] = DMA_WD1(isp->isp_rquest_dma); in isp_reset()
786 mbs.param[3] = DMA_WD0(isp->isp_rquest_dma); in isp_reset()
787 mbs.param[4] = nw; in isp_reset()
788 mbs.param[6] = DMA_WD3(isp->isp_rquest_dma); in isp_reset()
789 mbs.param[7] = DMA_WD2(isp->isp_rquest_dma); in isp_reset()
791 mbs.param[0] = MBOX_LOAD_RISC_RAM; in isp_reset()
792 mbs.param[1] = la; in isp_reset()
793 mbs.param[2] = DMA_WD1(isp->isp_rquest_dma); in isp_reset()
794 mbs.param[3] = DMA_WD0(isp->isp_rquest_dma); in isp_reset()
795 mbs.param[4] = nw >> 16; in isp_reset()
796 mbs.param[5] = nw; in isp_reset()
797 mbs.param[6] = DMA_WD3(isp->isp_rquest_dma); in isp_reset()
798 mbs.param[7] = DMA_WD2(isp->isp_rquest_dma); in isp_reset()
799 mbs.param[8] = la >> 16; in isp_reset()
801 mbs.logval = MBLOGALL; in isp_reset()
802 isp_mboxcmd(isp, &mbs); in isp_reset()
803 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_reset()
850 ISP_MEMZERO(&mbs, sizeof (mbs)); in isp_reset()
852 mbs.param[0] = MBOX_LOAD_RISC_RAM_2100; in isp_reset()
853 mbs.param[1] = la; in isp_reset()
854 mbs.param[2] = DMA_WD1(isp->isp_rquest_dma); in isp_reset()
855 mbs.param[3] = DMA_WD0(isp->isp_rquest_dma); in isp_reset()
856 mbs.param[4] = nw; in isp_reset()
857 mbs.param[6] = DMA_WD3(isp->isp_rquest_dma); in isp_reset()
858 mbs.param[7] = DMA_WD2(isp->isp_rquest_dma); in isp_reset()
860 mbs.param[0] = MBOX_LOAD_RISC_RAM; in isp_reset()
861 mbs.param[1] = la; in isp_reset()
862 mbs.param[2] = DMA_WD1(isp->isp_rquest_dma); in isp_reset()
863 mbs.param[3] = DMA_WD0(isp->isp_rquest_dma); in isp_reset()
864 mbs.param[4] = nw; in isp_reset()
865 mbs.param[6] = DMA_WD3(isp->isp_rquest_dma); in isp_reset()
866 mbs.param[7] = DMA_WD2(isp->isp_rquest_dma); in isp_reset()
867 mbs.param[8] = la >> 16; in isp_reset()
869 mbs.logval = MBLOGALL; in isp_reset()
870 isp_mboxcmd(isp, &mbs); in isp_reset()
871 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_reset()
909 ISP_MEMZERO(&mbs, sizeof (mbs)); in isp_reset()
910 mbs.param[0] = MBOX_WRITE_RAM_WORD; in isp_reset()
911 mbs.param[1] = code_org; in isp_reset()
912 mbs.param[2] = ucd.np[0]; in isp_reset()
913 mbs.logval = MBLOGNONE; in isp_reset()
914 isp_mboxcmd(isp, &mbs); in isp_reset()
915 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_reset()
929 ISP_MEMZERO(&mbs, sizeof (mbs)); in isp_reset()
930 mbs.param[0] = MBOX_VERIFY_CHECKSUM; in isp_reset()
932 mbs.param[1] = code_org >> 16; in isp_reset()
933 mbs.param[2] = code_org; in isp_reset()
935 mbs.param[1] = code_org; in isp_reset()
937 isp_mboxcmd(isp, &mbs); in isp_reset()
938 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_reset()
953 MBSINIT(&mbs, MBOX_EXEC_FIRMWARE, MBLOGALL, 1000000); in isp_reset()
955 mbs.param[1] = code_org >> 16; in isp_reset()
956 mbs.param[2] = code_org; in isp_reset()
958 mbs.param[3] = 0; in isp_reset()
960 mbs.param[3] = 1; in isp_reset()
963 mbs.ibits |= 0x10; in isp_reset()
966 mbs.param[1] = code_org; in isp_reset()
968 mbs.param[2] = 0; in isp_reset()
970 mbs.param[2] = 1; in isp_reset()
973 mbs.param[1] = code_org; in isp_reset()
975 isp_mboxcmd(isp, &mbs); in isp_reset()
977 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_reset()
992 if (mbs.param[1] == 0xdead) { in isp_reset()
1004 mbs.param[0] = MBOX_SET_CLOCK_RATE; in isp_reset()
1005 mbs.param[1] = isp->isp_clock; in isp_reset()
1006 mbs.logval = MBLOGNONE; in isp_reset()
1007 isp_mboxcmd(isp, &mbs); in isp_reset()
1017 MBSINIT(&mbs, MBOX_ABOUT_FIRMWARE, MBLOGALL, 0); in isp_reset()
1018 isp_mboxcmd(isp, &mbs); in isp_reset()
1019 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_reset()
1041 isp->isp_fwrev[0] = mbs.param[1]; in isp_reset()
1042 isp->isp_fwrev[1] = mbs.param[2]; in isp_reset()
1043 isp->isp_fwrev[2] = mbs.param[3]; in isp_reset()
1064 isp->isp_fwattr = mbs.param[6]; in isp_reset()
1065 isp_prt(isp, ISP_LOGDEBUG0, "Firmware Attributes = 0x%x", mbs.param[6]); in isp_reset()
1076 MBSINIT(&mbs, MBOX_GET_FIRMWARE_STATUS, MBLOGALL, 0); in isp_reset()
1077 isp_mboxcmd(isp, &mbs); in isp_reset()
1078 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_reset()
1082 if (isp->isp_maxcmds >= mbs.param[2]) { in isp_reset()
1083 isp->isp_maxcmds = mbs.param[2]; in isp_reset()
1185 mbreg_t mbs; in isp_scsi_init() local
1206 MBSINIT(&mbs, MBOX_SET_RETRY_COUNT, MBLOGALL, 0); in isp_scsi_init()
1207 mbs.param[1] = sdp_chan0->isp_retry_count; in isp_scsi_init()
1208 mbs.param[2] = sdp_chan0->isp_retry_delay; in isp_scsi_init()
1209 mbs.param[6] = sdp_chan1->isp_retry_count; in isp_scsi_init()
1210 mbs.param[7] = sdp_chan1->isp_retry_delay; in isp_scsi_init()
1211 isp_mboxcmd(isp, &mbs); in isp_scsi_init()
1212 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_scsi_init()
1219 MBSINIT(&mbs, MBOX_SET_ASYNC_DATA_SETUP_TIME, MBLOGALL, 0); in isp_scsi_init()
1220 mbs.param[1] = sdp_chan0->isp_async_data_setup; in isp_scsi_init()
1221 mbs.param[2] = sdp_chan1->isp_async_data_setup; in isp_scsi_init()
1222 isp_mboxcmd(isp, &mbs); in isp_scsi_init()
1223 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_scsi_init()
1230 MBSINIT(&mbs, MBOX_SET_ACT_NEG_STATE, MBLOGNONE, 0); in isp_scsi_init()
1231 mbs.param[1] = in isp_scsi_init()
1234 mbs.param[2] = in isp_scsi_init()
1237 isp_mboxcmd(isp, &mbs); in isp_scsi_init()
1238 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_scsi_init()
1253 MBSINIT(&mbs, MBOX_SET_TAG_AGE_LIMIT, MBLOGALL, 0); in isp_scsi_init()
1254 mbs.param[1] = sdp_chan0->isp_tag_aging; in isp_scsi_init()
1255 mbs.param[2] = sdp_chan1->isp_tag_aging; in isp_scsi_init()
1256 isp_mboxcmd(isp, &mbs); in isp_scsi_init()
1257 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_scsi_init()
1266 MBSINIT(&mbs, MBOX_SET_SELECT_TIMEOUT, MBLOGALL, 0); in isp_scsi_init()
1267 mbs.param[1] = sdp_chan0->isp_selection_timeout; in isp_scsi_init()
1268 mbs.param[2] = sdp_chan1->isp_selection_timeout; in isp_scsi_init()
1269 isp_mboxcmd(isp, &mbs); in isp_scsi_init()
1270 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_scsi_init()
1284 MBSINIT(&mbs, MBOX_INIT_RES_QUEUE_A64, MBLOGALL, 0); in isp_scsi_init()
1285 mbs.param[1] = RESULT_QUEUE_LEN(isp); in isp_scsi_init()
1286 mbs.param[2] = DMA_WD1(isp->isp_result_dma); in isp_scsi_init()
1287 mbs.param[3] = DMA_WD0(isp->isp_result_dma); in isp_scsi_init()
1288 mbs.param[4] = 0; in isp_scsi_init()
1289 mbs.param[6] = DMA_WD3(isp->isp_result_dma); in isp_scsi_init()
1290 mbs.param[7] = DMA_WD2(isp->isp_result_dma); in isp_scsi_init()
1291 isp_mboxcmd(isp, &mbs); in isp_scsi_init()
1292 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_scsi_init()
1295 isp->isp_residx = mbs.param[5]; in isp_scsi_init()
1297 MBSINIT(&mbs, MBOX_INIT_REQ_QUEUE_A64, MBLOGALL, 0); in isp_scsi_init()
1298 mbs.param[1] = RQUEST_QUEUE_LEN(isp); in isp_scsi_init()
1299 mbs.param[2] = DMA_WD1(isp->isp_rquest_dma); in isp_scsi_init()
1300 mbs.param[3] = DMA_WD0(isp->isp_rquest_dma); in isp_scsi_init()
1301 mbs.param[5] = 0; in isp_scsi_init()
1302 mbs.param[6] = DMA_WD3(isp->isp_result_dma); in isp_scsi_init()
1303 mbs.param[7] = DMA_WD2(isp->isp_result_dma); in isp_scsi_init()
1304 isp_mboxcmd(isp, &mbs); in isp_scsi_init()
1305 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_scsi_init()
1308 isp->isp_reqidx = isp->isp_reqodx = mbs.param[4]; in isp_scsi_init()
1310 MBSINIT(&mbs, MBOX_INIT_RES_QUEUE, MBLOGALL, 0); in isp_scsi_init()
1311 mbs.param[1] = RESULT_QUEUE_LEN(isp); in isp_scsi_init()
1312 mbs.param[2] = DMA_WD1(isp->isp_result_dma); in isp_scsi_init()
1313 mbs.param[3] = DMA_WD0(isp->isp_result_dma); in isp_scsi_init()
1314 mbs.param[4] = 0; in isp_scsi_init()
1315 isp_mboxcmd(isp, &mbs); in isp_scsi_init()
1316 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_scsi_init()
1319 isp->isp_residx = mbs.param[5]; in isp_scsi_init()
1321 MBSINIT(&mbs, MBOX_INIT_REQ_QUEUE, MBLOGALL, 0); in isp_scsi_init()
1322 mbs.param[1] = RQUEST_QUEUE_LEN(isp); in isp_scsi_init()
1323 mbs.param[2] = DMA_WD1(isp->isp_rquest_dma); in isp_scsi_init()
1324 mbs.param[3] = DMA_WD0(isp->isp_rquest_dma); in isp_scsi_init()
1325 mbs.param[5] = 0; in isp_scsi_init()
1326 isp_mboxcmd(isp, &mbs); in isp_scsi_init()
1327 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_scsi_init()
1330 isp->isp_reqidx = isp->isp_reqodx = mbs.param[4]; in isp_scsi_init()
1343 MBSINIT(&mbs, MBOX_SET_FW_FEATURES, MBLOGALL, 0); in isp_scsi_init()
1345 mbs.param[1] |= FW_FEATURE_LVD_NOTIFY; in isp_scsi_init()
1348 mbs.param[1] |= FW_FEATURE_FAST_POST; in isp_scsi_init()
1351 mbs.param[1] |= FW_FEATURE_RIO_32BIT; in isp_scsi_init()
1353 if (mbs.param[1] != 0) { in isp_scsi_init()
1354 uint16_t sfeat = mbs.param[1]; in isp_scsi_init()
1355 isp_mboxcmd(isp, &mbs); in isp_scsi_init()
1356 if (mbs.param[0] == MBOX_COMMAND_COMPLETE) { in isp_scsi_init()
1369 mbreg_t mbs; in isp_scsi_channel_init() local
1377 MBSINIT(&mbs, MBOX_SET_INIT_SCSI_ID, MBLOGALL, 0); in isp_scsi_channel_init()
1378 mbs.param[1] = (chan << 7) | sdp->isp_initiator_id; in isp_scsi_channel_init()
1379 isp_mboxcmd(isp, &mbs); in isp_scsi_channel_init()
1380 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_scsi_channel_init()
1420 MBSINIT(&mbs, MBOX_SET_TARGET_PARAMS, MBLOGNONE, 0); in isp_scsi_channel_init()
1421 mbs.param[1] = (chan << 15) | (tgt << 8); in isp_scsi_channel_init()
1422 mbs.param[2] = sdf; in isp_scsi_channel_init()
1424 mbs.param[3] = 0; in isp_scsi_channel_init()
1426 mbs.param[3] = in isp_scsi_channel_init()
1431 chan, tgt, mbs.param[2], mbs.param[3] >> 8, mbs.param[3] & 0xff); in isp_scsi_channel_init()
1432 isp_mboxcmd(isp, &mbs); in isp_scsi_channel_init()
1433 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_scsi_channel_init()
1435 MBSINIT(&mbs, MBOX_SET_TARGET_PARAMS, MBLOGALL, 0); in isp_scsi_channel_init()
1436 mbs.param[1] = (tgt << 8) | (chan << 15); in isp_scsi_channel_init()
1437 mbs.param[2] = sdf; in isp_scsi_channel_init()
1438 mbs.param[3] = 0; in isp_scsi_channel_init()
1439 isp_mboxcmd(isp, &mbs); in isp_scsi_channel_init()
1440 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_scsi_channel_init()
1458 MBSINIT(&mbs, MBOX_SET_DEV_QUEUE_PARAMS, MBLOGALL, 0); in isp_scsi_channel_init()
1459 mbs.param[1] = (chan << 15) | (tgt << 8) | lun; in isp_scsi_channel_init()
1460 mbs.param[2] = sdp->isp_max_queue_depth; in isp_scsi_channel_init()
1461 mbs.param[3] = sdp->isp_devparam[tgt].exc_throttle; in isp_scsi_channel_init()
1462 isp_mboxcmd(isp, &mbs); in isp_scsi_channel_init()
1463 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_scsi_channel_init()
1485 mbreg_t mbs; in isp_fibre_init() local
1648 MBSINIT(&mbs, MBOX_SET_FIRMWARE_OPTIONS, MBLOGALL, 0); in isp_fibre_init()
1649 mbs.param[1] = IFCOPT1_DISF7SWTCH|IFCOPT1_LIPASYNC|IFCOPT1_LIPF8; in isp_fibre_init()
1650 mbs.param[2] = 0; in isp_fibre_init()
1651 mbs.param[3] = 0; in isp_fibre_init()
1653 mbs.param[1] |= IFCOPT1_EQFQASYNC|IFCOPT1_CTIO_RETRY; in isp_fibre_init()
1655 mbs.param[3] = IFCOPT3_NOPRLI; in isp_fibre_init()
1658 isp_mboxcmd(isp, &mbs); in isp_fibre_init()
1659 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_fibre_init()
1716 MBSINIT(&mbs, MBOX_INIT_FIRMWARE, MBLOGALL, 30000000); in isp_fibre_init()
1717 mbs.param[2] = DMA_WD1(fcp->isp_scdma); in isp_fibre_init()
1718 mbs.param[3] = DMA_WD0(fcp->isp_scdma); in isp_fibre_init()
1719 mbs.param[6] = DMA_WD3(fcp->isp_scdma); in isp_fibre_init()
1720 mbs.param[7] = DMA_WD2(fcp->isp_scdma); in isp_fibre_init()
1721 mbs.logval = MBLOGALL; in isp_fibre_init()
1726 isp_mboxcmd(isp, &mbs); in isp_fibre_init()
1728 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_fibre_init()
1747 mbreg_t mbs; in isp_fibre_init_2400() local
1773 MBSINIT(&mbs, MBOX_SET_FIRMWARE_OPTIONS, MBLOGALL, 0); in isp_fibre_init_2400()
1774 mbs.param[1] = 1; in isp_fibre_init_2400()
1775 isp_mboxcmd(isp, &mbs); in isp_fibre_init_2400()
1776 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_fibre_init_2400()
1811 MBSINIT(&mbs, MBOX_GET_RESOURCE_COUNT, MBLOGALL, 0); in isp_fibre_init_2400()
1812 mbs.obits = 0x4cf; in isp_fibre_init_2400()
1813 isp_mboxcmd(isp, &mbs); in isp_fibre_init_2400()
1814 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_fibre_init_2400()
1817 icbp->icb_xchgcnt = mbs.param[3]; in isp_fibre_init_2400()
2006 MBSINIT(&mbs, 0, MBLOGALL, 30000000); in isp_fibre_init_2400()
2008 mbs.param[0] = MBOX_INIT_FIRMWARE_MULTI_ID; in isp_fibre_init_2400()
2010 mbs.param[0] = MBOX_INIT_FIRMWARE; in isp_fibre_init_2400()
2012 mbs.param[2] = DMA_WD1(fcp->isp_scdma); in isp_fibre_init_2400()
2013 mbs.param[3] = DMA_WD0(fcp->isp_scdma); in isp_fibre_init_2400()
2014 mbs.param[6] = DMA_WD3(fcp->isp_scdma); in isp_fibre_init_2400()
2015 mbs.param[7] = DMA_WD2(fcp->isp_scdma); in isp_fibre_init_2400()
2018 isp_mboxcmd(isp, &mbs); in isp_fibre_init_2400()
2021 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_fibre_init_2400()
2082 mbreg_t mbs; in isp_plogx() local
2128 MBSINIT(&mbs, MBOX_EXEC_COMMAND_IOCB_A64, MBLOGALL, 500000); in isp_plogx()
2129 mbs.param[1] = QENTRY_LEN; in isp_plogx()
2130 mbs.param[2] = DMA_WD1(fcp->isp_scdma); in isp_plogx()
2131 mbs.param[3] = DMA_WD0(fcp->isp_scdma); in isp_plogx()
2132 mbs.param[6] = DMA_WD3(fcp->isp_scdma); in isp_plogx()
2133 mbs.param[7] = DMA_WD2(fcp->isp_scdma); in isp_plogx()
2135 isp_mboxcmd(isp, &mbs); in isp_plogx()
2136 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_plogx()
2137 rval = mbs.param[0]; in isp_plogx()
2234 mbreg_t mbs; in isp_port_login() local
2236 MBSINIT(&mbs, MBOX_FABRIC_LOGIN, MBLOGNONE, 500000); in isp_port_login()
2238 mbs.param[1] = handle; in isp_port_login()
2239 mbs.ibits = (1 << 10); in isp_port_login()
2241 mbs.param[1] = handle << 8; in isp_port_login()
2243 mbs.param[2] = portid >> 16; in isp_port_login()
2244 mbs.param[3] = portid; in isp_port_login()
2245 mbs.logval = MBLOGNONE; in isp_port_login()
2246 mbs.timeout = 500000; in isp_port_login()
2247 isp_mboxcmd(isp, &mbs); in isp_port_login()
2249 switch (mbs.param[0]) { in isp_port_login()
2253 portid, mbs.param[1]); in isp_port_login()
2254 return (MBOX_PORT_ID_USED | (mbs.param[1] << 16)); in isp_port_login()
2259 handle, mbs.param[1] & 0xff); in isp_port_login()
2268 mbs.param[1], portid); in isp_port_login()
2279 mbs.param[0], portid, handle); in isp_port_login()
2280 return (mbs.param[0]); in isp_port_login()
2287 mbreg_t mbs; in isp_port_logout() local
2289 MBSINIT(&mbs, MBOX_FABRIC_LOGOUT, MBLOGNONE, 500000); in isp_port_logout()
2291 mbs.param[1] = handle; in isp_port_logout()
2292 mbs.ibits = (1 << 10); in isp_port_logout()
2294 mbs.param[1] = handle << 8; in isp_port_logout()
2296 isp_mboxcmd(isp, &mbs); in isp_port_logout()
2297 return (mbs.param[0] == MBOX_COMMAND_COMPLETE? 0 : mbs.param[0]); in isp_port_logout()
2304 mbreg_t mbs; in isp_getpdb() local
2310 MBSINIT(&mbs, MBOX_GET_PORT_DB, MBLOGALL & ~MBOX_COMMAND_PARAM_ERROR, 250000); in isp_getpdb()
2312 mbs.ibits = (1 << 9)|(1 << 10); in isp_getpdb()
2313 mbs.param[1] = id; in isp_getpdb()
2314 mbs.param[9] = chan; in isp_getpdb()
2316 mbs.param[1] = id; in isp_getpdb()
2318 mbs.param[1] = id << 8; in isp_getpdb()
2320 mbs.param[2] = DMA_WD1(fcp->isp_scdma); in isp_getpdb()
2321 mbs.param[3] = DMA_WD0(fcp->isp_scdma); in isp_getpdb()
2322 mbs.param[6] = DMA_WD3(fcp->isp_scdma); in isp_getpdb()
2323 mbs.param[7] = DMA_WD2(fcp->isp_scdma); in isp_getpdb()
2331 isp_mboxcmd(isp, &mbs); in isp_getpdb()
2332 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_getpdb()
2336 return (mbs.param[0]); in isp_getpdb()
2351 mbs.param[0] = MBOX_NOT_LOGGED_IN; in isp_getpdb()
2355 return (mbs.param[0]); in isp_getpdb()
2399 mbreg_t mbs; in isp_get_wwn() local
2405 MBSINIT(&mbs, MBOX_GET_PORT_NAME, MBLOGALL & ~MBOX_COMMAND_PARAM_ERROR, 500000); in isp_get_wwn()
2407 mbs.param[1] = loopid; in isp_get_wwn()
2408 mbs.ibits = (1 << 10); in isp_get_wwn()
2410 mbs.param[10] = 1; in isp_get_wwn()
2413 mbs.ibits |= (1 << 9); in isp_get_wwn()
2414 mbs.param[9] = chan; in isp_get_wwn()
2417 mbs.param[1] = loopid << 8; in isp_get_wwn()
2419 mbs.param[1] |= 1; in isp_get_wwn()
2422 isp_mboxcmd(isp, &mbs); in isp_get_wwn()
2423 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_get_wwn()
2428 (((uint64_t)(mbs.param[2] >> 8)) << 56) | in isp_get_wwn()
2429 (((uint64_t)(mbs.param[2] & 0xff)) << 48) | in isp_get_wwn()
2430 (((uint64_t)(mbs.param[3] >> 8)) << 40) | in isp_get_wwn()
2431 (((uint64_t)(mbs.param[3] & 0xff)) << 32) | in isp_get_wwn()
2432 (((uint64_t)(mbs.param[6] >> 8)) << 24) | in isp_get_wwn()
2433 (((uint64_t)(mbs.param[6] & 0xff)) << 16) | in isp_get_wwn()
2434 (((uint64_t)(mbs.param[7] >> 8)) << 8) | in isp_get_wwn()
2435 (((uint64_t)(mbs.param[7] & 0xff))); in isp_get_wwn()
2438 (((uint64_t)(mbs.param[2] & 0xff)) << 56) | in isp_get_wwn()
2439 (((uint64_t)(mbs.param[2] >> 8)) << 48) | in isp_get_wwn()
2440 (((uint64_t)(mbs.param[3] & 0xff)) << 40) | in isp_get_wwn()
2441 (((uint64_t)(mbs.param[3] >> 8)) << 32) | in isp_get_wwn()
2442 (((uint64_t)(mbs.param[6] & 0xff)) << 24) | in isp_get_wwn()
2443 (((uint64_t)(mbs.param[6] >> 8)) << 16) | in isp_get_wwn()
2444 (((uint64_t)(mbs.param[7] & 0xff)) << 8) | in isp_get_wwn()
2445 (((uint64_t)(mbs.param[7] >> 8))); in isp_get_wwn()
2457 mbreg_t mbs; in isp_fclink_test() local
2541 MBSINIT(&mbs, MBOX_GET_LOOP_ID, MBLOGALL, 0); in isp_fclink_test()
2543 mbs.param[9] = chan; in isp_fclink_test()
2544 mbs.ibits = (1 << 9); in isp_fclink_test()
2545 mbs.obits = (1 << 7); in isp_fclink_test()
2547 isp_mboxcmd(isp, &mbs); in isp_fclink_test()
2548 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_fclink_test()
2553 fcp->isp_loopid = mbs.param[1]; in isp_fclink_test()
2555 fcp->isp_loopid = mbs.param[1] & 0xff; in isp_fclink_test()
2561 int topo = (int) mbs.param[6]; in isp_fclink_test()
2567 fcp->isp_portid = mbs.param[2] | (mbs.param[3] << 16); in isp_fclink_test()
2649 fcp->inorder = (mbs.param[7] & ISP24XX_INORDER) != 0; in isp_fclink_test()
2651 fcp->npiv_fabric = (mbs.param[7] & ISP24XX_NPIV_SAN) != 0; in isp_fclink_test()
2682 MBSINIT(&mbs, MBOX_GET_SET_DATA_RATE, MBLOGALL, 3000000); in isp_fclink_test()
2683 mbs.param[1] = MBGSD_GET_RATE; in isp_fclink_test()
2685 isp_mboxcmd(isp, &mbs); in isp_fclink_test()
2686 if (mbs.param[0] == MBOX_COMMAND_COMPLETE) { in isp_fclink_test()
2687 if (mbs.param[1] == MBGSD_EIGHTGB) { in isp_fclink_test()
2690 } else if (mbs.param[1] == MBGSD_FOURGB) { in isp_fclink_test()
2693 } else if (mbs.param[1] == MBGSD_TWOGB) { in isp_fclink_test()
2696 } else if (mbs.param[1] == MBGSD_ONEGB) { in isp_fclink_test()
3204 mbreg_t mbs; in isp_gid_ft_sns() local
3223 MBSINIT(&mbs, MBOX_SEND_SNS, MBLOGALL, 10000000); in isp_gid_ft_sns()
3224 mbs.param[0] = MBOX_SEND_SNS; in isp_gid_ft_sns()
3225 mbs.param[1] = SNS_GID_FT_REQ_SIZE >> 1; in isp_gid_ft_sns()
3226 mbs.param[2] = DMA_WD1(fcp->isp_scdma); in isp_gid_ft_sns()
3227 mbs.param[3] = DMA_WD0(fcp->isp_scdma); in isp_gid_ft_sns()
3228 mbs.param[6] = DMA_WD3(fcp->isp_scdma); in isp_gid_ft_sns()
3229 mbs.param[7] = DMA_WD2(fcp->isp_scdma); in isp_gid_ft_sns()
3230 isp_mboxcmd(isp, &mbs); in isp_gid_ft_sns()
3231 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_gid_ft_sns()
3232 if (mbs.param[0] == MBOX_INVALID_COMMAND) { in isp_gid_ft_sns()
3244 mbreg_t mbs; in isp_gid_ft_ct_passthru() local
3310 MBSINIT(&mbs, MBOX_EXEC_COMMAND_IOCB_A64, MBLOGALL, 500000); in isp_gid_ft_ct_passthru()
3311 mbs.param[1] = QENTRY_LEN; in isp_gid_ft_ct_passthru()
3312 mbs.param[2] = DMA_WD1(fcp->isp_scdma + CTXOFF); in isp_gid_ft_ct_passthru()
3313 mbs.param[3] = DMA_WD0(fcp->isp_scdma + CTXOFF); in isp_gid_ft_ct_passthru()
3314 mbs.param[6] = DMA_WD3(fcp->isp_scdma + CTXOFF); in isp_gid_ft_ct_passthru()
3315 mbs.param[7] = DMA_WD2(fcp->isp_scdma + CTXOFF); in isp_gid_ft_ct_passthru()
3317 isp_mboxcmd(isp, &mbs); in isp_gid_ft_ct_passthru()
3318 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_gid_ft_ct_passthru()
3990 mbreg_t mbs; in isp_register_fc4_type() local
4008 MBSINIT(&mbs, MBOX_SEND_SNS, MBLOGALL, 1000000); in isp_register_fc4_type()
4009 mbs.param[1] = SNS_RFT_ID_REQ_SIZE >> 1; in isp_register_fc4_type()
4010 mbs.param[2] = DMA_WD1(fcp->isp_scdma); in isp_register_fc4_type()
4011 mbs.param[3] = DMA_WD0(fcp->isp_scdma); in isp_register_fc4_type()
4012 mbs.param[6] = DMA_WD3(fcp->isp_scdma); in isp_register_fc4_type()
4013 mbs.param[7] = DMA_WD2(fcp->isp_scdma); in isp_register_fc4_type()
4015 isp_mboxcmd(isp, &mbs); in isp_register_fc4_type()
4017 if (mbs.param[0] == MBOX_COMMAND_COMPLETE) { in isp_register_fc4_type()
4027 mbreg_t mbs; in isp_register_fc4_type_24xx() local
4094 MBSINIT(&mbs, MBOX_EXEC_COMMAND_IOCB_A64, MBLOGALL, 1000000); in isp_register_fc4_type_24xx()
4095 mbs.param[1] = QENTRY_LEN; in isp_register_fc4_type_24xx()
4096 mbs.param[2] = DMA_WD1(fcp->isp_scdma + CTXOFF); in isp_register_fc4_type_24xx()
4097 mbs.param[3] = DMA_WD0(fcp->isp_scdma + CTXOFF); in isp_register_fc4_type_24xx()
4098 mbs.param[6] = DMA_WD3(fcp->isp_scdma + CTXOFF); in isp_register_fc4_type_24xx()
4099 mbs.param[7] = DMA_WD2(fcp->isp_scdma + CTXOFF); in isp_register_fc4_type_24xx()
4101 isp_mboxcmd(isp, &mbs); in isp_register_fc4_type_24xx()
4102 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_register_fc4_type_24xx()
4469 mbreg_t *mbr, mbs; in isp_control() local
4483 mbs.param[1] = 10; in isp_control()
4489 mbs.param[1] = SDPARAM(isp, chan)->isp_bus_reset_delay; in isp_control()
4490 if (mbs.param[1] < 2) { in isp_control()
4491 mbs.param[1] = 2; in isp_control()
4493 mbs.param[2] = chan; in isp_control()
4495 MBSINIT(&mbs, MBOX_BUS_RESET, MBLOGALL, 0); in isp_control()
4497 isp_mboxcmd(isp, &mbs); in isp_control()
4498 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_control()
4546 MBSINIT(&mbs, MBOX_EXEC_COMMAND_IOCB_A64, MBLOGALL, 5000000); in isp_control()
4547 mbs.param[1] = QENTRY_LEN; in isp_control()
4548 mbs.param[2] = DMA_WD1(fcp->isp_scdma); in isp_control()
4549 mbs.param[3] = DMA_WD0(fcp->isp_scdma); in isp_control()
4550 mbs.param[6] = DMA_WD3(fcp->isp_scdma); in isp_control()
4551 mbs.param[7] = DMA_WD2(fcp->isp_scdma); in isp_control()
4560 isp_mboxcmd(isp, &mbs); in isp_control()
4561 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_control()
4580 mbs.param[1] = tgt; in isp_control()
4581 mbs.ibits = (1 << 10); in isp_control()
4583 mbs.param[1] = (tgt << 8); in isp_control()
4586 mbs.param[1] = (chan << 15) | (tgt << 8); in isp_control()
4588 MBSINIT(&mbs, MBOX_ABORT_TARGET, MBLOGALL, 0); in isp_control()
4589 mbs.param[2] = 3; /* 'delay', in seconds */ in isp_control()
4590 isp_mboxcmd(isp, &mbs); in isp_control()
4591 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_control()
4646 ISP_MEMZERO(&mbs, sizeof (mbs)); in isp_control()
4647 MBSINIT(&mbs, MBOX_EXEC_COMMAND_IOCB_A64, MBLOGALL, 5000000); in isp_control()
4648 mbs.param[1] = QENTRY_LEN; in isp_control()
4649 mbs.param[2] = DMA_WD1(fcp->isp_scdma); in isp_control()
4650 mbs.param[3] = DMA_WD0(fcp->isp_scdma); in isp_control()
4651 mbs.param[6] = DMA_WD3(fcp->isp_scdma); in isp_control()
4652 mbs.param[7] = DMA_WD2(fcp->isp_scdma); in isp_control()
4663 isp_mboxcmd(isp, &mbs); in isp_control()
4664 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_control()
4682 mbs.param[1] = tgt; in isp_control()
4684 mbs.param[1] = tgt << 8; in isp_control()
4686 mbs.param[6] = XS_LUN(xs); in isp_control()
4688 mbs.param[1] = tgt << 8 | XS_LUN(xs); in isp_control()
4691 mbs.param[1] = (chan << 15) | (tgt << 8) | XS_LUN(xs); in isp_control()
4693 MBSINIT(&mbs, MBOX_ABORT, MBLOGALL & ~MBOX_COMMAND_ERROR, 0); in isp_control()
4694 mbs.param[2] = handle; in isp_control()
4695 isp_mboxcmd(isp, &mbs); in isp_control()
4696 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_control()
4757 MBSINIT(&mbs, MBOX_INIT_LIP, MBLOGALL, 0); in isp_control()
4759 mbs.ibits = (1 << 10); in isp_control()
4761 isp_mboxcmd(isp, &mbs); in isp_control()
4762 if (mbs.param[0] == MBOX_COMMAND_COMPLETE) { in isp_control()
6318 mbreg_t mbs; in isp_parse_status() local
6319 MBSINIT(&mbs, MBOX_INIT_LIP, MBLOGALL, 0); in isp_parse_status()
6321 mbs.ibits = (1 << 10); in isp_parse_status()
6323 isp_mboxcmd_qnw(isp, &mbs, 1); in isp_parse_status()
6553 mbreg_t mbs; in isp_mbox_continue() local
6584 ISP_MEMZERO(&mbs, sizeof (mbs)); in isp_mbox_continue()
6588 mbs.param[1] = isp->isp_mbxwrk1++; in isp_mbox_continue()
6589 mbs.param[2] = *ptr++; in isp_mbox_continue()
6593 mbs.param[1] = isp->isp_mbxwrk1++; in isp_mbox_continue()
6599 mbs.param[2] = *ptr++; in isp_mbox_continue()
6600 mbs.param[1] = offset; in isp_mbox_continue()
6601 mbs.param[8] = offset >> 16; in isp_mbox_continue()
6610 mbs.param[1] = offset; in isp_mbox_continue()
6611 mbs.param[8] = offset >> 16; in isp_mbox_continue()
6618 mbs.param[0] = isp->isp_lastmbxcmd; in isp_mbox_continue()
6619 mbs.logval = MBLOGALL; in isp_mbox_continue()
6620 isp_mboxcmd_qnw(isp, &mbs, 0); in isp_mbox_continue()
7309 mbreg_t mbs; in isp_fw_state() local
7312 MBSINIT(&mbs, MBOX_GET_FW_STATE, MBLOGALL, 0); in isp_fw_state()
7313 isp_mboxcmd(isp, &mbs); in isp_fw_state()
7314 if (mbs.param[0] == MBOX_COMMAND_COMPLETE) { in isp_fw_state()
7315 fcp->isp_fwstate = mbs.param[1]; in isp_fw_state()
7324 mbreg_t mbs; in isp_spi_update() local
7353 MBSINIT(&mbs, 0, MBLOGALL, 0); in isp_spi_update()
7359 mbs.param[0] = MBOX_GET_TARGET_PARAMS; in isp_spi_update()
7362 mbs.param[0] = MBOX_SET_TARGET_PARAMS; in isp_spi_update()
7370 mbs.param[2] = sdp->isp_devparam[tgt].goal_flags; in isp_spi_update()
7376 if ((mbs.param[2] & (DPARM_SYNC|DPARM_WIDE)) != 0) { in isp_spi_update()
7377 mbs.param[2] |= DPARM_PARITY; in isp_spi_update()
7380 if (mbs.param[2] & DPARM_SYNC) { in isp_spi_update()
7381 mbs.param[3] = in isp_spi_update()
7400 chan, tgt, mbs.param[2], mbs.param[3] >> 8, mbs.param[3] & 0xff); in isp_spi_update()
7405 mbs.param[1] = (chan << 15) | (tgt << 8); in isp_spi_update()
7406 isp_mboxcmd(isp, &mbs); in isp_spi_update()
7407 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_spi_update()
7416 flags = mbs.param[2]; in isp_spi_update()
7417 period = mbs.param[3] & 0xff; in isp_spi_update()
7418 offset = mbs.param[3] >> 8; in isp_spi_update()
7540 mbreg_t mbs; in isp_setdfltsdparm() local
7549 MBSINIT(&mbs, MBOX_GET_ACT_NEG_STATE, MBLOGNONE, 0); in isp_setdfltsdparm()
7550 isp_mboxcmd(isp, &mbs); in isp_setdfltsdparm()
7551 if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { in isp_setdfltsdparm()
7560 (mbs.param[1] >> 4) & 0x1; in isp_setdfltsdparm()
7562 (mbs.param[1] >> 5) & 0x1; in isp_setdfltsdparm()
7565 (mbs.param[2] >> 4) & 0x1; in isp_setdfltsdparm()
7567 (mbs.param[2] >> 5) & 0x1; in isp_setdfltsdparm()