Lines Matching refs:cmd

92 megadev_unlocked_ioctl(struct file *filep, unsigned int cmd, unsigned long arg);
238 mbox->m_out.cmd = MEGA_MBOXCMD_ADPEXTINQ; in mega_query_adapter()
428 mega_allocate_scb(adapter_t *adapter, struct scsi_cmnd *cmd) in DEF_SCSI_QCMD()
441 scb->cmd = cmd; in DEF_SCSI_QCMD()
460 mega_get_ldrv_num(adapter_t *adapter, struct scsi_cmnd *cmd, int channel) in mega_get_ldrv_num() argument
465 tgt = cmd->device->id; in mega_get_ldrv_num()
498 switch (cmd->cmnd[0]) { in mega_get_ldrv_num()
523 mega_build_cmd(adapter_t *adapter, struct scsi_cmnd *cmd, int *busy) in mega_build_cmd() argument
538 islogical = adapter->logdrv_chan[cmd->device->channel]; in mega_build_cmd()
550 channel = cmd->device->channel - in mega_build_cmd()
555 channel = cmd->device->channel; in mega_build_cmd()
556 target = cmd->device->id; in mega_build_cmd()
574 channel = cmd->device->channel; in mega_build_cmd()
578 channel = cmd->device->channel - NVIRT_CHAN; in mega_build_cmd()
579 target = cmd->device->id; in mega_build_cmd()
587 if (cmd->device->lun) { in mega_build_cmd()
588 cmd->result = (DID_BAD_TARGET << 16); in mega_build_cmd()
589 cmd->scsi_done(cmd); in mega_build_cmd()
593 ldrv_num = mega_get_ldrv_num(adapter, cmd, channel); in mega_build_cmd()
607 cmd->result = (DID_BAD_TARGET << 16); in mega_build_cmd()
608 cmd->scsi_done(cmd); in mega_build_cmd()
614 if( cmd->device->lun > 7) { in mega_build_cmd()
619 cmd->result = (DID_BAD_TARGET << 16); in mega_build_cmd()
620 cmd->scsi_done(cmd); in mega_build_cmd()
631 switch (cmd->cmnd[0]) { in mega_build_cmd()
639 cmd->result = (DID_OK << 16); in mega_build_cmd()
640 cmd->scsi_done(cmd); in mega_build_cmd()
644 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
657 cmd->result = (DID_OK << 16); in mega_build_cmd()
658 cmd->scsi_done(cmd); in mega_build_cmd()
666 sg = scsi_sglist(cmd); in mega_build_cmd()
669 memset(buf, 0, cmd->cmnd[4]); in mega_build_cmd()
672 cmd->result = (DID_OK << 16); in mega_build_cmd()
673 cmd->scsi_done(cmd); in mega_build_cmd()
680 if(!(adapter->flag & (1L << cmd->device->channel))) { in mega_build_cmd()
686 cmd->device->channel); in mega_build_cmd()
688 adapter->flag |= (1L << cmd->device->channel); in mega_build_cmd()
692 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
707 pthru->cdblen = cmd->cmd_len; in mega_build_cmd()
708 memcpy(pthru->cdb, cmd->cmnd, cmd->cmd_len); in mega_build_cmd()
711 mbox->m_out.cmd = MEGA_MBOXCMD_PASSTHRU64; in mega_build_cmd()
714 mbox->m_out.cmd = MEGA_MBOXCMD_PASSTHRU; in mega_build_cmd()
734 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
748 mbox->m_out.cmd = (*cmd->cmnd & 0x02) ? in mega_build_cmd()
753 mbox->m_out.cmd = (*cmd->cmnd & 0x02) ? in mega_build_cmd()
761 if( cmd->cmd_len == 6 ) { in mega_build_cmd()
762 mbox->m_out.numsectors = (u32) cmd->cmnd[4]; in mega_build_cmd()
764 ((u32)cmd->cmnd[1] << 16) | in mega_build_cmd()
765 ((u32)cmd->cmnd[2] << 8) | in mega_build_cmd()
766 (u32)cmd->cmnd[3]; in mega_build_cmd()
776 if (*cmd->cmnd == READ_6) { in mega_build_cmd()
791 if( cmd->cmd_len == 10 ) { in mega_build_cmd()
793 (u32)cmd->cmnd[8] | in mega_build_cmd()
794 ((u32)cmd->cmnd[7] << 8); in mega_build_cmd()
796 ((u32)cmd->cmnd[2] << 24) | in mega_build_cmd()
797 ((u32)cmd->cmnd[3] << 16) | in mega_build_cmd()
798 ((u32)cmd->cmnd[4] << 8) | in mega_build_cmd()
799 (u32)cmd->cmnd[5]; in mega_build_cmd()
802 if (*cmd->cmnd == READ_10) { in mega_build_cmd()
817 if( cmd->cmd_len == 12 ) { in mega_build_cmd()
819 ((u32)cmd->cmnd[2] << 24) | in mega_build_cmd()
820 ((u32)cmd->cmnd[3] << 16) | in mega_build_cmd()
821 ((u32)cmd->cmnd[4] << 8) | in mega_build_cmd()
822 (u32)cmd->cmnd[5]; in mega_build_cmd()
825 ((u32)cmd->cmnd[6] << 24) | in mega_build_cmd()
826 ((u32)cmd->cmnd[7] << 16) | in mega_build_cmd()
827 ((u32)cmd->cmnd[8] << 8) | in mega_build_cmd()
828 (u32)cmd->cmnd[9]; in mega_build_cmd()
831 if (*cmd->cmnd == READ_12) { in mega_build_cmd()
846 if( (*cmd->cmnd & 0x0F) == 0x08 ) { in mega_build_cmd()
868 cmd->result = (DID_BAD_TARGET << 16); in mega_build_cmd()
869 cmd->scsi_done(cmd); in mega_build_cmd()
874 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
880 scb->raw_mbox[2] = ( *cmd->cmnd == RESERVE ) ? in mega_build_cmd()
891 cmd->result = (DID_BAD_TARGET << 16); in mega_build_cmd()
892 cmd->scsi_done(cmd); in mega_build_cmd()
902 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
912 mega_prepare_extpassthru(adapter, scb, cmd, in mega_build_cmd()
915 mbox->m_out.cmd = MEGA_MBOXCMD_EXTPTHRU; in mega_build_cmd()
922 pthru = mega_prepare_passthru(adapter, scb, cmd, in mega_build_cmd()
927 mbox->m_out.cmd = MEGA_MBOXCMD_PASSTHRU64; in mega_build_cmd()
930 mbox->m_out.cmd = MEGA_MBOXCMD_PASSTHRU; in mega_build_cmd()
953 mega_prepare_passthru(adapter_t *adapter, scb_t *scb, struct scsi_cmnd *cmd, in mega_prepare_passthru() argument
973 pthru->cdblen = cmd->cmd_len; in mega_prepare_passthru()
974 pthru->logdrv = cmd->device->lun; in mega_prepare_passthru()
976 memcpy(pthru->cdb, cmd->cmnd, cmd->cmd_len); in mega_prepare_passthru()
982 switch (cmd->cmnd[0]) { in mega_prepare_passthru()
985 if(!(adapter->flag & (1L << cmd->device->channel))) { in mega_prepare_passthru()
991 cmd->device->channel, channel); in mega_prepare_passthru()
993 adapter->flag |= (1L << cmd->device->channel); in mega_prepare_passthru()
1018 struct scsi_cmnd *cmd, in mega_prepare_extpassthru() argument
1037 epthru->cdblen = cmd->cmd_len; in mega_prepare_extpassthru()
1038 epthru->logdrv = cmd->device->lun; in mega_prepare_extpassthru()
1040 memcpy(epthru->cdb, cmd->cmnd, cmd->cmd_len); in mega_prepare_extpassthru()
1045 switch(cmd->cmnd[0]) { in mega_prepare_extpassthru()
1048 if(!(adapter->flag & (1L << cmd->device->channel))) { in mega_prepare_extpassthru()
1054 cmd->device->channel, channel); in mega_prepare_extpassthru()
1056 adapter->flag |= (1L << cmd->device->channel); in mega_prepare_extpassthru()
1128 switch (mbox->m_out.cmd) { in issue_scb()
1420 struct scsi_cmnd *cmd = NULL; in mega_cmd_done() local
1458 if( !(scb->state & SCB_ISSUED) || scb->cmd == NULL ) { in mega_cmd_done()
1461 cmdid, scb->state, scb->cmd); in mega_cmd_done()
1475 scb->cmd->result = (DID_ABORT << 16); in mega_cmd_done()
1477 list_add_tail(SCSI_LIST(scb->cmd), in mega_cmd_done()
1494 scb->cmd->result = (DID_RESET << 16); in mega_cmd_done()
1496 list_add_tail(SCSI_LIST(scb->cmd), in mega_cmd_done()
1504 cmd = scb->cmd; in mega_cmd_done()
1514 islogical = adapter->logdrv_chan[cmd->channel]; in mega_cmd_done()
1520 if( status && islogical && (cmd->cmnd[0] == READ_6 || in mega_cmd_done()
1521 cmd->cmnd[0] == READ_10 || in mega_cmd_done()
1522 cmd->cmnd[0] == READ_12)) { in mega_cmd_done()
1530 if( status && islogical && (cmd->cmnd[0] == WRITE_6 || in mega_cmd_done()
1531 cmd->cmnd[0] == WRITE_10 || in mega_cmd_done()
1532 cmd->cmnd[0] == WRITE_12)) { in mega_cmd_done()
1550 islogical = adapter->logdrv_chan[cmd->device->channel]; in mega_cmd_done()
1551 if( cmd->cmnd[0] == INQUIRY && !islogical ) { in mega_cmd_done()
1553 sgl = scsi_sglist(cmd); in mega_cmd_done()
1561 if(IS_RAID_CH(adapter, cmd->device->channel) && in mega_cmd_done()
1568 cmd->result = 0; in mega_cmd_done()
1573 cmd->result |= (DID_OK << 16); in mega_cmd_done()
1580 if( mbox->m_out.cmd == MEGA_MBOXCMD_PASSTHRU || in mega_cmd_done()
1581 mbox->m_out.cmd == MEGA_MBOXCMD_PASSTHRU64 ) { in mega_cmd_done()
1583 memcpy(cmd->sense_buffer, pthru->reqsensearea, in mega_cmd_done()
1586 cmd->result = (DRIVER_SENSE << 24) | in mega_cmd_done()
1591 if (mbox->m_out.cmd == MEGA_MBOXCMD_EXTPTHRU) { in mega_cmd_done()
1593 memcpy(cmd->sense_buffer, in mega_cmd_done()
1596 cmd->result = (DRIVER_SENSE << 24) | in mega_cmd_done()
1600 cmd->sense_buffer[0] = 0x70; in mega_cmd_done()
1601 cmd->sense_buffer[2] = ABORTED_COMMAND; in mega_cmd_done()
1602 cmd->result |= (CHECK_CONDITION << 1); in mega_cmd_done()
1609 cmd->result |= (DID_BUS_BUSY << 16) | status; in mega_cmd_done()
1618 if( cmd->cmnd[0] == TEST_UNIT_READY ) { in mega_cmd_done()
1619 cmd->result |= (DID_ERROR << 16) | in mega_cmd_done()
1628 (cmd->cmnd[0] == RESERVE || in mega_cmd_done()
1629 cmd->cmnd[0] == RELEASE) ) { in mega_cmd_done()
1631 cmd->result |= (DID_ERROR << 16) | in mega_cmd_done()
1636 cmd->result |= (DID_BAD_TARGET << 16)|status; in mega_cmd_done()
1642 list_add_tail(SCSI_LIST(cmd), &adapter->completed_list); in mega_cmd_done()
1655 struct scsi_cmnd *cmd; in mega_rundoneq() local
1662 cmd = list_entry(spos, struct scsi_cmnd, SCp); in mega_rundoneq()
1663 cmd->scsi_done(cmd); in mega_rundoneq()
1683 scsi_dma_unmap(scb->cmd); in mega_free_scb()
1696 scb->cmd = NULL; in mega_free_scb()
1725 struct scsi_cmnd *cmd; in mega_build_sglist() local
1729 cmd = scb->cmd; in mega_build_sglist()
1736 sgcnt = scsi_dma_map(cmd); in mega_build_sglist()
1744 if (scsi_sg_count(cmd) == 1 && !adapter->has_64bit_addr) { in mega_build_sglist()
1745 sg = scsi_sglist(cmd); in mega_build_sglist()
1752 scsi_for_each_sg(cmd, sg, sgcnt, idx) { in mega_build_sglist()
1872 megaraid_abort(struct scsi_cmnd *cmd) in megaraid_abort() argument
1877 adapter = (adapter_t *)cmd->device->host->hostdata; in megaraid_abort()
1879 rval = megaraid_abort_and_reset(adapter, cmd, SCB_ABORT); in megaraid_abort()
1892 megaraid_reset(struct scsi_cmnd *cmd) in megaraid_reset() argument
1898 adapter = (adapter_t *)cmd->device->host->hostdata; in megaraid_reset()
1901 mc.cmd = MEGA_CLUSTER_CMD; in megaraid_reset()
1914 rval = megaraid_abort_and_reset(adapter, cmd, SCB_RESET); in megaraid_reset()
1936 megaraid_abort_and_reset(adapter_t *adapter, struct scsi_cmnd *cmd, int aor) in megaraid_abort_and_reset() argument
1943 cmd->cmnd[0], cmd->device->channel, in megaraid_abort_and_reset()
1944 cmd->device->id, (u32)cmd->device->lun); in megaraid_abort_and_reset()
1953 if (scb->cmd == cmd) { /* Found command */ in megaraid_abort_and_reset()
1986 cmd->result = (DID_ABORT << 16); in megaraid_abort_and_reset()
1989 cmd->result = (DID_RESET << 16); in megaraid_abort_and_reset()
1992 list_add_tail(SCSI_LIST(cmd), in megaraid_abort_and_reset()
2165 seq_printf(m, " Fw Command = 0x%02x\n", mbox->m_out.cmd); in proc_show_mbox()
2564 mc.cmd = FC_NEW_CONFIG; in proc_show_rdrv()
2574 mc.cmd = NEW_READ_CONFIG_8LD; in proc_show_rdrv()
2577 mc.cmd = READ_CONFIG_8LD; in proc_show_rdrv()
2934 scb->cmd = NULL; in mega_init_scb()
2974 megadev_ioctl(struct file *filep, unsigned int cmd, unsigned long arg) in megadev_ioctl() argument
2997 if( (_IOC_TYPE(cmd) != MEGAIOC_MAGIC) && (cmd != USCSICMD) ) { in megadev_ioctl()
3230 mc.cmd = MEGA_MBOXCMD_PASSTHRU; in megadev_ioctl()
3367 megadev_unlocked_ioctl(struct file *filep, unsigned int cmd, unsigned long arg) in megadev_unlocked_ioctl() argument
3372 ret = megadev_ioctl(filep, cmd, arg); in megadev_unlocked_ioctl()
3536 if( mc->cmd == MEGA_MBOXCMD_PASSTHRU ) { in mega_n_to_m()
3553 if( mc->cmd == MEGA_MBOXCMD_PASSTHRU ) { in mega_n_to_m()
3846 mc.cmd = FC_DEL_LOGDRV; in mega_do_del_logdrv()
3973 mc.cmd = FC_NEW_CONFIG; in mega_adapinq()
3978 mc.cmd = MEGA_MBOXCMD_ADPEXTINQ; in mega_adapinq()
4049 mc.cmd = MEGA_MBOXCMD_PASSTHRU; in mega_internal_dev_inquiry()
4100 if (mc->cmd == MEGA_MBOXCMD_PASSTHRU) in mega_internal_command()
4124 mc->cmd, mc->opcode, mc->subopcode, rval); in mega_internal_command()