Lines Matching refs:scp

1085 		scb->scp		= NULL;  in megaraid_alloc_cmd_packets()
1289 megaraid_alloc_scb(adapter_t *adapter, struct scsi_cmnd *scp) in megaraid_alloc_scb() argument
1309 scb->scp = scp; in megaraid_alloc_scb()
1333 scb->scp = NULL; in megaraid_dealloc_scb()
1356 struct scsi_cmnd *scp; in megaraid_mbox_mksgl() local
1361 scp = scb->scp; in megaraid_mbox_mksgl()
1364 sgcnt = scsi_dma_map(scp); in megaraid_mbox_mksgl()
1373 scsi_for_each_sg(scp, sgl, sgcnt, i) { in megaraid_mbox_mksgl()
1435 scsi_sglist(scb->scp), in mbox_post_cmd()
1436 scsi_sg_count(scb->scp), in mbox_post_cmd()
1460 megaraid_queue_command_lck(struct scsi_cmnd *scp, void (*done)(struct scsi_cmnd *)) in megaraid_queue_command_lck() argument
1466 adapter = SCP2ADAPTER(scp); in megaraid_queue_command_lck()
1467 scp->scsi_done = done; in megaraid_queue_command_lck()
1468 scp->result = 0; in megaraid_queue_command_lck()
1479 scb = megaraid_mbox_build_cmd(adapter, scp, &if_busy); in megaraid_queue_command_lck()
1481 done(scp); in megaraid_queue_command_lck()
1503 megaraid_mbox_build_cmd(adapter_t *adapter, struct scsi_cmnd *scp, int *busy) in DEF_SCSI_QCMD()
1523 MRAID_GET_DEVICE_MAP(adapter, scp, channel, target, islogical); in DEF_SCSI_QCMD()
1529 switch (scp->cmnd[0]) { in DEF_SCSI_QCMD()
1536 scp->result = (DID_OK << 16); in DEF_SCSI_QCMD()
1540 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1541 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1546 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1566 sgl = scsi_sglist(scp); in DEF_SCSI_QCMD()
1570 memset(vaddr, 0, scp->cmnd[4]); in DEF_SCSI_QCMD()
1578 scp->result = (DID_OK << 16); in DEF_SCSI_QCMD()
1586 if (!(rdev->last_disp & (1L << SCP2CHANNEL(scp)))) { in DEF_SCSI_QCMD()
1591 SCP2CHANNEL(scp))); in DEF_SCSI_QCMD()
1596 rdev->last_disp |= (1L << SCP2CHANNEL(scp)); in DEF_SCSI_QCMD()
1599 if (scp->cmnd[1] & MEGA_SCSI_INQ_EVPD) { in DEF_SCSI_QCMD()
1600 scp->sense_buffer[0] = 0x70; in DEF_SCSI_QCMD()
1601 scp->sense_buffer[2] = ILLEGAL_REQUEST; in DEF_SCSI_QCMD()
1602 scp->sense_buffer[12] = MEGA_INVALID_FIELD_IN_CDB; in DEF_SCSI_QCMD()
1603 scp->result = CHECK_CONDITION << 1; in DEF_SCSI_QCMD()
1614 if (SCP2LUN(scp)) { in DEF_SCSI_QCMD()
1615 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1619 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1625 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1626 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1643 pthru->cdblen = scp->cmd_len; in DEF_SCSI_QCMD()
1644 memcpy(pthru->cdb, scp->cmnd, scp->cmd_len); in DEF_SCSI_QCMD()
1647 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1649 pthru->dataxferlen = scsi_bufflen(scp); in DEF_SCSI_QCMD()
1670 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1671 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1686 mbox->cmd = (scp->cmnd[0] & 0x02) ? MBOXCMD_LWRITE64: in DEF_SCSI_QCMD()
1692 if (scp->cmd_len == 6) { in DEF_SCSI_QCMD()
1693 mbox->numsectors = (uint32_t)scp->cmnd[4]; in DEF_SCSI_QCMD()
1695 ((uint32_t)scp->cmnd[1] << 16) | in DEF_SCSI_QCMD()
1696 ((uint32_t)scp->cmnd[2] << 8) | in DEF_SCSI_QCMD()
1697 (uint32_t)scp->cmnd[3]; in DEF_SCSI_QCMD()
1705 else if (scp->cmd_len == 10) { in DEF_SCSI_QCMD()
1707 (uint32_t)scp->cmnd[8] | in DEF_SCSI_QCMD()
1708 ((uint32_t)scp->cmnd[7] << 8); in DEF_SCSI_QCMD()
1710 ((uint32_t)scp->cmnd[2] << 24) | in DEF_SCSI_QCMD()
1711 ((uint32_t)scp->cmnd[3] << 16) | in DEF_SCSI_QCMD()
1712 ((uint32_t)scp->cmnd[4] << 8) | in DEF_SCSI_QCMD()
1713 (uint32_t)scp->cmnd[5]; in DEF_SCSI_QCMD()
1719 else if (scp->cmd_len == 12) { in DEF_SCSI_QCMD()
1721 ((uint32_t)scp->cmnd[2] << 24) | in DEF_SCSI_QCMD()
1722 ((uint32_t)scp->cmnd[3] << 16) | in DEF_SCSI_QCMD()
1723 ((uint32_t)scp->cmnd[4] << 8) | in DEF_SCSI_QCMD()
1724 (uint32_t)scp->cmnd[5]; in DEF_SCSI_QCMD()
1727 ((uint32_t)scp->cmnd[6] << 24) | in DEF_SCSI_QCMD()
1728 ((uint32_t)scp->cmnd[7] << 16) | in DEF_SCSI_QCMD()
1729 ((uint32_t)scp->cmnd[8] << 8) | in DEF_SCSI_QCMD()
1730 (uint32_t)scp->cmnd[9]; in DEF_SCSI_QCMD()
1738 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1742 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1759 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1766 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1767 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1776 ccb->raw_mbox[2] = (scp->cmnd[0] == RESERVE) ? in DEF_SCSI_QCMD()
1780 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1785 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1792 if (target > 15 || SCP2LUN(scp) > 7) { in DEF_SCSI_QCMD()
1793 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1801 (SCP2CHANNEL(scp) == adapter->max_channel -1)) { in DEF_SCSI_QCMD()
1812 if (!(rdev->last_disp & (1L << SCP2CHANNEL(scp)))) { in DEF_SCSI_QCMD()
1818 adapter->host->host_no, ss, SCP2CHANNEL(scp), in DEF_SCSI_QCMD()
1824 rdev->last_disp |= (1L << SCP2CHANNEL(scp)); in DEF_SCSI_QCMD()
1829 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1834 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1835 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1843 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1851 megaraid_mbox_prepare_epthru(adapter, scb, scp); in DEF_SCSI_QCMD()
1860 megaraid_mbox_prepare_pthru(adapter, scb, scp); in DEF_SCSI_QCMD()
1959 struct scsi_cmnd *scp) in megaraid_mbox_prepare_pthru() argument
1977 pthru->logdrv = SCP2LUN(scp); in megaraid_mbox_prepare_pthru()
1979 pthru->cdblen = scp->cmd_len; in megaraid_mbox_prepare_pthru()
1981 memcpy(pthru->cdb, scp->cmnd, scp->cmd_len); in megaraid_mbox_prepare_pthru()
1983 if (scsi_bufflen(scp)) { in megaraid_mbox_prepare_pthru()
1984 pthru->dataxferlen = scsi_bufflen(scp); in megaraid_mbox_prepare_pthru()
2008 struct scsi_cmnd *scp) in megaraid_mbox_prepare_epthru() argument
2026 epthru->logdrv = SCP2LUN(scp); in megaraid_mbox_prepare_epthru()
2028 epthru->cdblen = scp->cmd_len; in megaraid_mbox_prepare_epthru()
2030 memcpy(epthru->cdb, scp->cmnd, scp->cmd_len); in megaraid_mbox_prepare_epthru()
2032 if (scsi_bufflen(scp)) { in megaraid_mbox_prepare_epthru()
2033 epthru->dataxferlen = scsi_bufflen(scp); in megaraid_mbox_prepare_epthru()
2201 scsi_sglist(scb->scp), in megaraid_mbox_sync_scb()
2202 scsi_sg_count(scb->scp), in megaraid_mbox_sync_scb()
2205 scsi_dma_unmap(scb->scp); in megaraid_mbox_sync_scb()
2227 struct scsi_cmnd *scp; in megaraid_mbox_dpc() local
2258 scp = scb->scp; in megaraid_mbox_dpc()
2268 scb->sno, scb->state, scp)); in megaraid_mbox_dpc()
2304 islogical = MRAID_IS_LOGICAL(adapter, scp); in megaraid_mbox_dpc()
2305 if (scp->cmnd[0] == INQUIRY && status == 0 && islogical == 0 in megaraid_mbox_dpc()
2308 sgl = scsi_sglist(scp); in megaraid_mbox_dpc()
2340 scp->result = (DID_OK << 16); in megaraid_mbox_dpc()
2349 memcpy(scp->sense_buffer, pthru->reqsensearea, in megaraid_mbox_dpc()
2352 scp->result = DRIVER_SENSE << 24 | in megaraid_mbox_dpc()
2358 memcpy(scp->sense_buffer, in megaraid_mbox_dpc()
2361 scp->result = DRIVER_SENSE << 24 | in megaraid_mbox_dpc()
2365 scp->sense_buffer[0] = 0x70; in megaraid_mbox_dpc()
2366 scp->sense_buffer[2] = ABORTED_COMMAND; in megaraid_mbox_dpc()
2367 scp->result = CHECK_CONDITION << 1; in megaraid_mbox_dpc()
2374 scp->result = DID_BUS_BUSY << 16 | status; in megaraid_mbox_dpc()
2383 if (scp->cmnd[0] == TEST_UNIT_READY) { in megaraid_mbox_dpc()
2384 scp->result = DID_ERROR << 16 | in megaraid_mbox_dpc()
2392 if (status == 1 && (scp->cmnd[0] == RESERVE || in megaraid_mbox_dpc()
2393 scp->cmnd[0] == RELEASE)) { in megaraid_mbox_dpc()
2395 scp->result = DID_ERROR << 16 | in megaraid_mbox_dpc()
2399 scp->result = DID_BAD_TARGET << 16 | status; in megaraid_mbox_dpc()
2419 scp->scsi_done(scp); in megaraid_mbox_dpc()
2434 megaraid_abort_handler(struct scsi_cmnd *scp) in megaraid_abort_handler() argument
2445 adapter = SCP2ADAPTER(scp); in megaraid_abort_handler()
2450 scp->cmnd[0], SCP2CHANNEL(scp), in megaraid_abort_handler()
2451 SCP2TARGET(scp), SCP2LUN(scp))); in megaraid_abort_handler()
2468 if (scb->scp == scp) { // Found command in megaraid_abort_handler()
2476 scp->result = (DID_ABORT << 16); in megaraid_abort_handler()
2477 scp->scsi_done(scp); in megaraid_abort_handler()
2496 if (scb->scp == scp) { // Found command in megaraid_abort_handler()
2506 scp->result = (DID_ABORT << 16); in megaraid_abort_handler()
2507 scp->scsi_done(scp); in megaraid_abort_handler()
2529 if (scb->scp == scp) { in megaraid_abort_handler()
2572 megaraid_reset_handler(struct scsi_cmnd *scp) in megaraid_reset_handler() argument
2586 adapter = SCP2ADAPTER(scp); in megaraid_reset_handler()
2618 if (scb->scp == scp) { // Found command in megaraid_reset_handler()
2628 scb->scp->result = (DID_RESET << 16); in megaraid_reset_handler()
2629 scb->scp->scsi_done(scb->scp); in megaraid_reset_handler()
3383 struct scsi_cmnd *scp; in megaraid_mbox_display_scb() local
3390 scp = scb->scp; in megaraid_mbox_display_scb()
3403 if (!scp) return; in megaraid_mbox_display_scb()
3407 for (i = 0; i < scp->cmd_len; i++) { in megaraid_mbox_display_scb()
3408 con_log(level, ("%#2.02x ", scp->cmnd[i])); in megaraid_mbox_display_scb()
3518 scb->scp = NULL; in megaraid_cmm_register()
3768 scb->scp = NULL; in megaraid_mbox_mm_done()