• Home
  • Raw
  • Download

Lines Matching refs:scp

1106 		scb->scp		= NULL;  in megaraid_alloc_cmd_packets()
1310 megaraid_alloc_scb(adapter_t *adapter, struct scsi_cmnd *scp) in megaraid_alloc_scb() argument
1330 scb->scp = scp; in megaraid_alloc_scb()
1354 scb->scp = NULL; in megaraid_dealloc_scb()
1377 struct scsi_cmnd *scp; in megaraid_mbox_mksgl() local
1382 scp = scb->scp; in megaraid_mbox_mksgl()
1385 sgcnt = scsi_dma_map(scp); in megaraid_mbox_mksgl()
1394 scsi_for_each_sg(scp, sgl, sgcnt, i) { in megaraid_mbox_mksgl()
1456 scsi_sglist(scb->scp), in mbox_post_cmd()
1457 scsi_sg_count(scb->scp), in mbox_post_cmd()
1481 megaraid_queue_command_lck(struct scsi_cmnd *scp, void (*done)(struct scsi_cmnd *)) in megaraid_queue_command_lck() argument
1487 adapter = SCP2ADAPTER(scp); in megaraid_queue_command_lck()
1488 scp->scsi_done = done; in megaraid_queue_command_lck()
1489 scp->result = 0; in megaraid_queue_command_lck()
1500 scb = megaraid_mbox_build_cmd(adapter, scp, &if_busy); in megaraid_queue_command_lck()
1502 done(scp); in megaraid_queue_command_lck()
1524 megaraid_mbox_build_cmd(adapter_t *adapter, struct scsi_cmnd *scp, int *busy) in DEF_SCSI_QCMD()
1544 MRAID_GET_DEVICE_MAP(adapter, scp, channel, target, islogical); in DEF_SCSI_QCMD()
1550 switch (scp->cmnd[0]) { in DEF_SCSI_QCMD()
1557 scp->result = (DID_OK << 16); in DEF_SCSI_QCMD()
1561 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1562 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1567 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1587 sgl = scsi_sglist(scp); in DEF_SCSI_QCMD()
1591 memset(vaddr, 0, scp->cmnd[4]); in DEF_SCSI_QCMD()
1599 scp->result = (DID_OK << 16); in DEF_SCSI_QCMD()
1607 if (!(rdev->last_disp & (1L << SCP2CHANNEL(scp)))) { in DEF_SCSI_QCMD()
1612 SCP2CHANNEL(scp))); in DEF_SCSI_QCMD()
1617 rdev->last_disp |= (1L << SCP2CHANNEL(scp)); in DEF_SCSI_QCMD()
1620 if (scp->cmnd[1] & MEGA_SCSI_INQ_EVPD) { in DEF_SCSI_QCMD()
1621 scp->sense_buffer[0] = 0x70; in DEF_SCSI_QCMD()
1622 scp->sense_buffer[2] = ILLEGAL_REQUEST; in DEF_SCSI_QCMD()
1623 scp->sense_buffer[12] = MEGA_INVALID_FIELD_IN_CDB; in DEF_SCSI_QCMD()
1624 scp->result = CHECK_CONDITION << 1; in DEF_SCSI_QCMD()
1635 if (SCP2LUN(scp)) { in DEF_SCSI_QCMD()
1636 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1640 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1646 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1647 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1664 pthru->cdblen = scp->cmd_len; in DEF_SCSI_QCMD()
1665 memcpy(pthru->cdb, scp->cmnd, scp->cmd_len); in DEF_SCSI_QCMD()
1668 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1670 pthru->dataxferlen = scsi_bufflen(scp); in DEF_SCSI_QCMD()
1691 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1692 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1707 mbox->cmd = (scp->cmnd[0] & 0x02) ? MBOXCMD_LWRITE64: in DEF_SCSI_QCMD()
1713 if (scp->cmd_len == 6) { in DEF_SCSI_QCMD()
1714 mbox->numsectors = (uint32_t)scp->cmnd[4]; in DEF_SCSI_QCMD()
1716 ((uint32_t)scp->cmnd[1] << 16) | in DEF_SCSI_QCMD()
1717 ((uint32_t)scp->cmnd[2] << 8) | in DEF_SCSI_QCMD()
1718 (uint32_t)scp->cmnd[3]; in DEF_SCSI_QCMD()
1726 else if (scp->cmd_len == 10) { in DEF_SCSI_QCMD()
1728 (uint32_t)scp->cmnd[8] | in DEF_SCSI_QCMD()
1729 ((uint32_t)scp->cmnd[7] << 8); in DEF_SCSI_QCMD()
1731 ((uint32_t)scp->cmnd[2] << 24) | in DEF_SCSI_QCMD()
1732 ((uint32_t)scp->cmnd[3] << 16) | in DEF_SCSI_QCMD()
1733 ((uint32_t)scp->cmnd[4] << 8) | in DEF_SCSI_QCMD()
1734 (uint32_t)scp->cmnd[5]; in DEF_SCSI_QCMD()
1740 else if (scp->cmd_len == 12) { in DEF_SCSI_QCMD()
1742 ((uint32_t)scp->cmnd[2] << 24) | in DEF_SCSI_QCMD()
1743 ((uint32_t)scp->cmnd[3] << 16) | in DEF_SCSI_QCMD()
1744 ((uint32_t)scp->cmnd[4] << 8) | in DEF_SCSI_QCMD()
1745 (uint32_t)scp->cmnd[5]; in DEF_SCSI_QCMD()
1748 ((uint32_t)scp->cmnd[6] << 24) | in DEF_SCSI_QCMD()
1749 ((uint32_t)scp->cmnd[7] << 16) | in DEF_SCSI_QCMD()
1750 ((uint32_t)scp->cmnd[8] << 8) | in DEF_SCSI_QCMD()
1751 (uint32_t)scp->cmnd[9]; in DEF_SCSI_QCMD()
1759 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1763 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1780 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1787 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1788 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1797 ccb->raw_mbox[2] = (scp->cmnd[0] == RESERVE) ? in DEF_SCSI_QCMD()
1801 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1806 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1813 if (target > 15 || SCP2LUN(scp) > 7) { in DEF_SCSI_QCMD()
1814 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1822 (SCP2CHANNEL(scp) == adapter->max_channel -1)) { in DEF_SCSI_QCMD()
1833 if (!(rdev->last_disp & (1L << SCP2CHANNEL(scp)))) { in DEF_SCSI_QCMD()
1839 adapter->host->host_no, ss, SCP2CHANNEL(scp), in DEF_SCSI_QCMD()
1845 rdev->last_disp |= (1L << SCP2CHANNEL(scp)); in DEF_SCSI_QCMD()
1850 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1855 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1856 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1864 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1872 megaraid_mbox_prepare_epthru(adapter, scb, scp); in DEF_SCSI_QCMD()
1881 megaraid_mbox_prepare_pthru(adapter, scb, scp); in DEF_SCSI_QCMD()
1980 struct scsi_cmnd *scp) in megaraid_mbox_prepare_pthru() argument
1998 pthru->logdrv = SCP2LUN(scp); in megaraid_mbox_prepare_pthru()
2000 pthru->cdblen = scp->cmd_len; in megaraid_mbox_prepare_pthru()
2002 memcpy(pthru->cdb, scp->cmnd, scp->cmd_len); in megaraid_mbox_prepare_pthru()
2004 if (scsi_bufflen(scp)) { in megaraid_mbox_prepare_pthru()
2005 pthru->dataxferlen = scsi_bufflen(scp); in megaraid_mbox_prepare_pthru()
2029 struct scsi_cmnd *scp) in megaraid_mbox_prepare_epthru() argument
2047 epthru->logdrv = SCP2LUN(scp); in megaraid_mbox_prepare_epthru()
2049 epthru->cdblen = scp->cmd_len; in megaraid_mbox_prepare_epthru()
2051 memcpy(epthru->cdb, scp->cmnd, scp->cmd_len); in megaraid_mbox_prepare_epthru()
2053 if (scsi_bufflen(scp)) { in megaraid_mbox_prepare_epthru()
2054 epthru->dataxferlen = scsi_bufflen(scp); in megaraid_mbox_prepare_epthru()
2222 scsi_sglist(scb->scp), in megaraid_mbox_sync_scb()
2223 scsi_sg_count(scb->scp), in megaraid_mbox_sync_scb()
2226 scsi_dma_unmap(scb->scp); in megaraid_mbox_sync_scb()
2248 struct scsi_cmnd *scp; in megaraid_mbox_dpc() local
2279 scp = scb->scp; in megaraid_mbox_dpc()
2289 scb->sno, scb->state, scp)); in megaraid_mbox_dpc()
2325 islogical = MRAID_IS_LOGICAL(adapter, scp); in megaraid_mbox_dpc()
2326 if (scp->cmnd[0] == INQUIRY && status == 0 && islogical == 0 in megaraid_mbox_dpc()
2329 sgl = scsi_sglist(scp); in megaraid_mbox_dpc()
2361 scp->result = (DID_OK << 16); in megaraid_mbox_dpc()
2370 memcpy(scp->sense_buffer, pthru->reqsensearea, in megaraid_mbox_dpc()
2373 scp->result = DRIVER_SENSE << 24 | in megaraid_mbox_dpc()
2379 memcpy(scp->sense_buffer, in megaraid_mbox_dpc()
2382 scp->result = DRIVER_SENSE << 24 | in megaraid_mbox_dpc()
2386 scp->sense_buffer[0] = 0x70; in megaraid_mbox_dpc()
2387 scp->sense_buffer[2] = ABORTED_COMMAND; in megaraid_mbox_dpc()
2388 scp->result = CHECK_CONDITION << 1; in megaraid_mbox_dpc()
2395 scp->result = DID_BUS_BUSY << 16 | status; in megaraid_mbox_dpc()
2404 if (scp->cmnd[0] == TEST_UNIT_READY) { in megaraid_mbox_dpc()
2405 scp->result = DID_ERROR << 16 | in megaraid_mbox_dpc()
2413 if (status == 1 && (scp->cmnd[0] == RESERVE || in megaraid_mbox_dpc()
2414 scp->cmnd[0] == RELEASE)) { in megaraid_mbox_dpc()
2416 scp->result = DID_ERROR << 16 | in megaraid_mbox_dpc()
2420 scp->result = DID_BAD_TARGET << 16 | status; in megaraid_mbox_dpc()
2440 scp->scsi_done(scp); in megaraid_mbox_dpc()
2455 megaraid_abort_handler(struct scsi_cmnd *scp) in megaraid_abort_handler() argument
2466 adapter = SCP2ADAPTER(scp); in megaraid_abort_handler()
2471 scp->cmnd[0], SCP2CHANNEL(scp), in megaraid_abort_handler()
2472 SCP2TARGET(scp), SCP2LUN(scp))); in megaraid_abort_handler()
2489 if (scb->scp == scp) { // Found command in megaraid_abort_handler()
2497 scp->result = (DID_ABORT << 16); in megaraid_abort_handler()
2498 scp->scsi_done(scp); in megaraid_abort_handler()
2517 if (scb->scp == scp) { // Found command in megaraid_abort_handler()
2527 scp->result = (DID_ABORT << 16); in megaraid_abort_handler()
2528 scp->scsi_done(scp); in megaraid_abort_handler()
2550 if (scb->scp == scp) { in megaraid_abort_handler()
2593 megaraid_reset_handler(struct scsi_cmnd *scp) in megaraid_reset_handler() argument
2607 adapter = SCP2ADAPTER(scp); in megaraid_reset_handler()
2639 if (scb->scp == scp) { // Found command in megaraid_reset_handler()
2649 scb->scp->result = (DID_RESET << 16); in megaraid_reset_handler()
2650 scb->scp->scsi_done(scb->scp); in megaraid_reset_handler()
3404 struct scsi_cmnd *scp; in megaraid_mbox_display_scb() local
3411 scp = scb->scp; in megaraid_mbox_display_scb()
3424 if (!scp) return; in megaraid_mbox_display_scb()
3428 for (i = 0; i < scp->cmd_len; i++) { in megaraid_mbox_display_scb()
3429 con_log(level, ("%#2.02x ", scp->cmnd[i])); in megaraid_mbox_display_scb()
3539 scb->scp = NULL; in megaraid_cmm_register()
3789 scb->scp = NULL; in megaraid_mbox_mm_done()