• Home
  • Raw
  • Download

Lines Matching refs:scp

1071 		scb->scp		= NULL;  in megaraid_alloc_cmd_packets()
1272 megaraid_alloc_scb(adapter_t *adapter, struct scsi_cmnd *scp) in megaraid_alloc_scb() argument
1292 scb->scp = scp; in megaraid_alloc_scb()
1316 scb->scp = NULL; in megaraid_dealloc_scb()
1339 struct scsi_cmnd *scp; in megaraid_mbox_mksgl() local
1344 scp = scb->scp; in megaraid_mbox_mksgl()
1347 sgcnt = scsi_dma_map(scp); in megaraid_mbox_mksgl()
1356 scsi_for_each_sg(scp, sgl, sgcnt, i) { in megaraid_mbox_mksgl()
1437 megaraid_queue_command_lck(struct scsi_cmnd *scp, void (*done)(struct scsi_cmnd *)) in megaraid_queue_command_lck() argument
1443 adapter = SCP2ADAPTER(scp); in megaraid_queue_command_lck()
1444 scp->scsi_done = done; in megaraid_queue_command_lck()
1445 scp->result = 0; in megaraid_queue_command_lck()
1456 scb = megaraid_mbox_build_cmd(adapter, scp, &if_busy); in megaraid_queue_command_lck()
1458 done(scp); in megaraid_queue_command_lck()
1480 megaraid_mbox_build_cmd(adapter_t *adapter, struct scsi_cmnd *scp, int *busy) in DEF_SCSI_QCMD()
1500 MRAID_GET_DEVICE_MAP(adapter, scp, channel, target, islogical); in DEF_SCSI_QCMD()
1506 switch (scp->cmnd[0]) { in DEF_SCSI_QCMD()
1513 scp->result = (DID_OK << 16); in DEF_SCSI_QCMD()
1517 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1518 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1523 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1543 sgl = scsi_sglist(scp); in DEF_SCSI_QCMD()
1547 memset(vaddr, 0, scp->cmnd[4]); in DEF_SCSI_QCMD()
1555 scp->result = (DID_OK << 16); in DEF_SCSI_QCMD()
1563 if (!(rdev->last_disp & (1L << SCP2CHANNEL(scp)))) { in DEF_SCSI_QCMD()
1568 SCP2CHANNEL(scp))); in DEF_SCSI_QCMD()
1573 rdev->last_disp |= (1L << SCP2CHANNEL(scp)); in DEF_SCSI_QCMD()
1576 if (scp->cmnd[1] & MEGA_SCSI_INQ_EVPD) { in DEF_SCSI_QCMD()
1577 scp->sense_buffer[0] = 0x70; in DEF_SCSI_QCMD()
1578 scp->sense_buffer[2] = ILLEGAL_REQUEST; in DEF_SCSI_QCMD()
1579 scp->sense_buffer[12] = MEGA_INVALID_FIELD_IN_CDB; in DEF_SCSI_QCMD()
1580 scp->result = CHECK_CONDITION << 1; in DEF_SCSI_QCMD()
1591 if (SCP2LUN(scp)) { in DEF_SCSI_QCMD()
1592 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1596 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1602 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1603 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1620 pthru->cdblen = scp->cmd_len; in DEF_SCSI_QCMD()
1621 memcpy(pthru->cdb, scp->cmnd, scp->cmd_len); in DEF_SCSI_QCMD()
1624 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1626 pthru->dataxferlen = scsi_bufflen(scp); in DEF_SCSI_QCMD()
1647 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1648 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1663 mbox->cmd = (scp->cmnd[0] & 0x02) ? MBOXCMD_LWRITE64: in DEF_SCSI_QCMD()
1669 if (scp->cmd_len == 6) { in DEF_SCSI_QCMD()
1670 mbox->numsectors = (uint32_t)scp->cmnd[4]; in DEF_SCSI_QCMD()
1672 ((uint32_t)scp->cmnd[1] << 16) | in DEF_SCSI_QCMD()
1673 ((uint32_t)scp->cmnd[2] << 8) | in DEF_SCSI_QCMD()
1674 (uint32_t)scp->cmnd[3]; in DEF_SCSI_QCMD()
1682 else if (scp->cmd_len == 10) { in DEF_SCSI_QCMD()
1684 (uint32_t)scp->cmnd[8] | in DEF_SCSI_QCMD()
1685 ((uint32_t)scp->cmnd[7] << 8); in DEF_SCSI_QCMD()
1687 ((uint32_t)scp->cmnd[2] << 24) | in DEF_SCSI_QCMD()
1688 ((uint32_t)scp->cmnd[3] << 16) | in DEF_SCSI_QCMD()
1689 ((uint32_t)scp->cmnd[4] << 8) | in DEF_SCSI_QCMD()
1690 (uint32_t)scp->cmnd[5]; in DEF_SCSI_QCMD()
1696 else if (scp->cmd_len == 12) { in DEF_SCSI_QCMD()
1698 ((uint32_t)scp->cmnd[2] << 24) | in DEF_SCSI_QCMD()
1699 ((uint32_t)scp->cmnd[3] << 16) | in DEF_SCSI_QCMD()
1700 ((uint32_t)scp->cmnd[4] << 8) | in DEF_SCSI_QCMD()
1701 (uint32_t)scp->cmnd[5]; in DEF_SCSI_QCMD()
1704 ((uint32_t)scp->cmnd[6] << 24) | in DEF_SCSI_QCMD()
1705 ((uint32_t)scp->cmnd[7] << 16) | in DEF_SCSI_QCMD()
1706 ((uint32_t)scp->cmnd[8] << 8) | in DEF_SCSI_QCMD()
1707 (uint32_t)scp->cmnd[9]; in DEF_SCSI_QCMD()
1715 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1719 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1736 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1743 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1744 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1753 ccb->raw_mbox[2] = (scp->cmnd[0] == RESERVE) ? in DEF_SCSI_QCMD()
1757 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1762 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1769 if (target > 15 || SCP2LUN(scp) > 7) { in DEF_SCSI_QCMD()
1770 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1778 (SCP2CHANNEL(scp) == adapter->max_channel -1)) { in DEF_SCSI_QCMD()
1789 if (!(rdev->last_disp & (1L << SCP2CHANNEL(scp)))) { in DEF_SCSI_QCMD()
1795 adapter->host->host_no, ss, SCP2CHANNEL(scp), in DEF_SCSI_QCMD()
1801 rdev->last_disp |= (1L << SCP2CHANNEL(scp)); in DEF_SCSI_QCMD()
1806 scp->result = (DID_BAD_TARGET << 16); in DEF_SCSI_QCMD()
1811 if (!(scb = megaraid_alloc_scb(adapter, scp))) { in DEF_SCSI_QCMD()
1812 scp->result = (DID_ERROR << 16); in DEF_SCSI_QCMD()
1820 scb->dma_direction = scp->sc_data_direction; in DEF_SCSI_QCMD()
1828 megaraid_mbox_prepare_epthru(adapter, scb, scp); in DEF_SCSI_QCMD()
1837 megaraid_mbox_prepare_pthru(adapter, scb, scp); in DEF_SCSI_QCMD()
1936 struct scsi_cmnd *scp) in megaraid_mbox_prepare_pthru() argument
1954 pthru->logdrv = SCP2LUN(scp); in megaraid_mbox_prepare_pthru()
1956 pthru->cdblen = scp->cmd_len; in megaraid_mbox_prepare_pthru()
1958 memcpy(pthru->cdb, scp->cmnd, scp->cmd_len); in megaraid_mbox_prepare_pthru()
1960 if (scsi_bufflen(scp)) { in megaraid_mbox_prepare_pthru()
1961 pthru->dataxferlen = scsi_bufflen(scp); in megaraid_mbox_prepare_pthru()
1985 struct scsi_cmnd *scp) in megaraid_mbox_prepare_epthru() argument
2003 epthru->logdrv = SCP2LUN(scp); in megaraid_mbox_prepare_epthru()
2005 epthru->cdblen = scp->cmd_len; in megaraid_mbox_prepare_epthru()
2007 memcpy(epthru->cdb, scp->cmnd, scp->cmd_len); in megaraid_mbox_prepare_epthru()
2009 if (scsi_bufflen(scp)) { in megaraid_mbox_prepare_epthru()
2010 epthru->dataxferlen = scsi_bufflen(scp); in megaraid_mbox_prepare_epthru()
2179 struct scsi_cmnd *scp; in megaraid_mbox_dpc() local
2210 scp = scb->scp; in megaraid_mbox_dpc()
2220 scb->sno, scb->state, scp)); in megaraid_mbox_dpc()
2256 islogical = MRAID_IS_LOGICAL(adapter, scp); in megaraid_mbox_dpc()
2257 if (scp->cmnd[0] == INQUIRY && status == 0 && islogical == 0 in megaraid_mbox_dpc()
2260 sgl = scsi_sglist(scp); in megaraid_mbox_dpc()
2292 scp->result = (DID_OK << 16); in megaraid_mbox_dpc()
2301 memcpy(scp->sense_buffer, pthru->reqsensearea, in megaraid_mbox_dpc()
2304 scp->result = DRIVER_SENSE << 24 | in megaraid_mbox_dpc()
2310 memcpy(scp->sense_buffer, in megaraid_mbox_dpc()
2313 scp->result = DRIVER_SENSE << 24 | in megaraid_mbox_dpc()
2317 scp->sense_buffer[0] = 0x70; in megaraid_mbox_dpc()
2318 scp->sense_buffer[2] = ABORTED_COMMAND; in megaraid_mbox_dpc()
2319 scp->result = CHECK_CONDITION << 1; in megaraid_mbox_dpc()
2326 scp->result = DID_BUS_BUSY << 16 | status; in megaraid_mbox_dpc()
2335 if (scp->cmnd[0] == TEST_UNIT_READY) { in megaraid_mbox_dpc()
2336 scp->result = DID_ERROR << 16 | in megaraid_mbox_dpc()
2344 if (status == 1 && (scp->cmnd[0] == RESERVE || in megaraid_mbox_dpc()
2345 scp->cmnd[0] == RELEASE)) { in megaraid_mbox_dpc()
2347 scp->result = DID_ERROR << 16 | in megaraid_mbox_dpc()
2351 scp->result = DID_BAD_TARGET << 16 | status; in megaraid_mbox_dpc()
2360 scsi_dma_unmap(scp); in megaraid_mbox_dpc()
2369 scp->scsi_done(scp); in megaraid_mbox_dpc()
2384 megaraid_abort_handler(struct scsi_cmnd *scp) in megaraid_abort_handler() argument
2395 adapter = SCP2ADAPTER(scp); in megaraid_abort_handler()
2400 scp->cmnd[0], SCP2CHANNEL(scp), in megaraid_abort_handler()
2401 SCP2TARGET(scp), SCP2LUN(scp))); in megaraid_abort_handler()
2418 if (scb->scp == scp) { // Found command in megaraid_abort_handler()
2426 scp->result = (DID_ABORT << 16); in megaraid_abort_handler()
2427 scp->scsi_done(scp); in megaraid_abort_handler()
2446 if (scb->scp == scp) { // Found command in megaraid_abort_handler()
2456 scp->result = (DID_ABORT << 16); in megaraid_abort_handler()
2457 scp->scsi_done(scp); in megaraid_abort_handler()
2479 if (scb->scp == scp) { in megaraid_abort_handler()
2522 megaraid_reset_handler(struct scsi_cmnd *scp) in megaraid_reset_handler() argument
2535 adapter = SCP2ADAPTER(scp); in megaraid_reset_handler()
2566 if (scb->scp == scp) { // Found command in megaraid_reset_handler()
2576 scb->scp->result = (DID_RESET << 16); in megaraid_reset_handler()
2577 scb->scp->scsi_done(scb->scp); in megaraid_reset_handler()
3315 struct scsi_cmnd *scp; in megaraid_mbox_display_scb() local
3322 scp = scb->scp; in megaraid_mbox_display_scb()
3335 if (!scp) return; in megaraid_mbox_display_scb()
3339 for (i = 0; i < scp->cmd_len; i++) { in megaraid_mbox_display_scb()
3340 con_log(level, ("%#2.02x ", scp->cmnd[i])); in megaraid_mbox_display_scb()
3450 scb->scp = NULL; in megaraid_cmm_register()
3700 scb->scp = NULL; in megaraid_mbox_mm_done()