Lines Matching refs:cmd

97 megadev_unlocked_ioctl(struct file *filep, unsigned int cmd, unsigned long arg);
240 mbox->m_out.cmd = MEGA_MBOXCMD_ADPEXTINQ; in mega_query_adapter()
426 mega_allocate_scb(adapter_t *adapter, Scsi_Cmnd *cmd) in DEF_SCSI_QCMD()
439 scb->cmd = cmd; in DEF_SCSI_QCMD()
458 mega_get_ldrv_num(adapter_t *adapter, Scsi_Cmnd *cmd, int channel) in mega_get_ldrv_num() argument
463 tgt = cmd->device->id; in mega_get_ldrv_num()
496 switch (cmd->cmnd[0]) { in mega_get_ldrv_num()
521 mega_build_cmd(adapter_t *adapter, Scsi_Cmnd *cmd, int *busy) in mega_build_cmd() argument
537 islogical = adapter->logdrv_chan[cmd->device->channel]; in mega_build_cmd()
549 channel = cmd->device->channel - in mega_build_cmd()
554 channel = cmd->device->channel; in mega_build_cmd()
555 target = cmd->device->id; in mega_build_cmd()
573 channel = cmd->device->channel; in mega_build_cmd()
577 channel = cmd->device->channel - NVIRT_CHAN; in mega_build_cmd()
578 target = cmd->device->id; in mega_build_cmd()
586 if (cmd->device->lun) { in mega_build_cmd()
587 cmd->result = (DID_BAD_TARGET << 16); in mega_build_cmd()
588 cmd->scsi_done(cmd); in mega_build_cmd()
592 ldrv_num = mega_get_ldrv_num(adapter, cmd, channel); in mega_build_cmd()
606 cmd->result = (DID_BAD_TARGET << 16); in mega_build_cmd()
607 cmd->scsi_done(cmd); in mega_build_cmd()
613 if( cmd->device->lun > 7) { in mega_build_cmd()
618 cmd->result = (DID_BAD_TARGET << 16); in mega_build_cmd()
619 cmd->scsi_done(cmd); in mega_build_cmd()
630 switch (cmd->cmnd[0]) { in mega_build_cmd()
638 cmd->result = (DID_OK << 16); in mega_build_cmd()
639 cmd->scsi_done(cmd); in mega_build_cmd()
643 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
656 cmd->result = (DID_OK << 16); in mega_build_cmd()
657 cmd->scsi_done(cmd); in mega_build_cmd()
665 sg = scsi_sglist(cmd); in mega_build_cmd()
668 memset(buf, 0, cmd->cmnd[4]); in mega_build_cmd()
671 cmd->result = (DID_OK << 16); in mega_build_cmd()
672 cmd->scsi_done(cmd); in mega_build_cmd()
679 if(!(adapter->flag & (1L << cmd->device->channel))) { in mega_build_cmd()
685 cmd->device->channel); in mega_build_cmd()
687 adapter->flag |= (1L << cmd->device->channel); in mega_build_cmd()
691 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
706 pthru->cdblen = cmd->cmd_len; in mega_build_cmd()
707 memcpy(pthru->cdb, cmd->cmnd, cmd->cmd_len); in mega_build_cmd()
710 mbox->m_out.cmd = MEGA_MBOXCMD_PASSTHRU64; in mega_build_cmd()
713 mbox->m_out.cmd = MEGA_MBOXCMD_PASSTHRU; in mega_build_cmd()
733 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
747 mbox->m_out.cmd = (*cmd->cmnd & 0x02) ? in mega_build_cmd()
752 mbox->m_out.cmd = (*cmd->cmnd & 0x02) ? in mega_build_cmd()
760 if( cmd->cmd_len == 6 ) { in mega_build_cmd()
761 mbox->m_out.numsectors = (u32) cmd->cmnd[4]; in mega_build_cmd()
763 ((u32)cmd->cmnd[1] << 16) | in mega_build_cmd()
764 ((u32)cmd->cmnd[2] << 8) | in mega_build_cmd()
765 (u32)cmd->cmnd[3]; in mega_build_cmd()
775 if (*cmd->cmnd == READ_6) { in mega_build_cmd()
790 if( cmd->cmd_len == 10 ) { in mega_build_cmd()
792 (u32)cmd->cmnd[8] | in mega_build_cmd()
793 ((u32)cmd->cmnd[7] << 8); in mega_build_cmd()
795 ((u32)cmd->cmnd[2] << 24) | in mega_build_cmd()
796 ((u32)cmd->cmnd[3] << 16) | in mega_build_cmd()
797 ((u32)cmd->cmnd[4] << 8) | in mega_build_cmd()
798 (u32)cmd->cmnd[5]; in mega_build_cmd()
801 if (*cmd->cmnd == READ_10) { in mega_build_cmd()
816 if( cmd->cmd_len == 12 ) { in mega_build_cmd()
818 ((u32)cmd->cmnd[2] << 24) | in mega_build_cmd()
819 ((u32)cmd->cmnd[3] << 16) | in mega_build_cmd()
820 ((u32)cmd->cmnd[4] << 8) | in mega_build_cmd()
821 (u32)cmd->cmnd[5]; in mega_build_cmd()
824 ((u32)cmd->cmnd[6] << 24) | in mega_build_cmd()
825 ((u32)cmd->cmnd[7] << 16) | in mega_build_cmd()
826 ((u32)cmd->cmnd[8] << 8) | in mega_build_cmd()
827 (u32)cmd->cmnd[9]; in mega_build_cmd()
830 if (*cmd->cmnd == READ_12) { in mega_build_cmd()
845 if( (*cmd->cmnd & 0x0F) == 0x08 ) { in mega_build_cmd()
867 cmd->result = (DID_BAD_TARGET << 16); in mega_build_cmd()
868 cmd->scsi_done(cmd); in mega_build_cmd()
873 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
879 scb->raw_mbox[2] = ( *cmd->cmnd == RESERVE ) ? in mega_build_cmd()
890 cmd->result = (DID_BAD_TARGET << 16); in mega_build_cmd()
891 cmd->scsi_done(cmd); in mega_build_cmd()
901 if(!(scb = mega_allocate_scb(adapter, cmd))) { in mega_build_cmd()
911 epthru = mega_prepare_extpassthru(adapter, scb, cmd, in mega_build_cmd()
914 mbox->m_out.cmd = MEGA_MBOXCMD_EXTPTHRU; in mega_build_cmd()
921 pthru = mega_prepare_passthru(adapter, scb, cmd, in mega_build_cmd()
926 mbox->m_out.cmd = MEGA_MBOXCMD_PASSTHRU64; in mega_build_cmd()
929 mbox->m_out.cmd = MEGA_MBOXCMD_PASSTHRU; in mega_build_cmd()
952 mega_prepare_passthru(adapter_t *adapter, scb_t *scb, Scsi_Cmnd *cmd, in mega_prepare_passthru() argument
972 pthru->cdblen = cmd->cmd_len; in mega_prepare_passthru()
973 pthru->logdrv = cmd->device->lun; in mega_prepare_passthru()
975 memcpy(pthru->cdb, cmd->cmnd, cmd->cmd_len); in mega_prepare_passthru()
981 switch (cmd->cmnd[0]) { in mega_prepare_passthru()
984 if(!(adapter->flag & (1L << cmd->device->channel))) { in mega_prepare_passthru()
990 cmd->device->channel, channel); in mega_prepare_passthru()
992 adapter->flag |= (1L << cmd->device->channel); in mega_prepare_passthru()
1016 mega_prepare_extpassthru(adapter_t *adapter, scb_t *scb, Scsi_Cmnd *cmd, in mega_prepare_extpassthru() argument
1035 epthru->cdblen = cmd->cmd_len; in mega_prepare_extpassthru()
1036 epthru->logdrv = cmd->device->lun; in mega_prepare_extpassthru()
1038 memcpy(epthru->cdb, cmd->cmnd, cmd->cmd_len); in mega_prepare_extpassthru()
1043 switch(cmd->cmnd[0]) { in mega_prepare_extpassthru()
1046 if(!(adapter->flag & (1L << cmd->device->channel))) { in mega_prepare_extpassthru()
1052 cmd->device->channel, channel); in mega_prepare_extpassthru()
1054 adapter->flag |= (1L << cmd->device->channel); in mega_prepare_extpassthru()
1126 switch (mbox->m_out.cmd) { in issue_scb()
1418 Scsi_Cmnd *cmd = NULL; in mega_cmd_done() local
1456 if( !(scb->state & SCB_ISSUED) || scb->cmd == NULL ) { in mega_cmd_done()
1459 cmdid, scb->state, scb->cmd); in mega_cmd_done()
1473 scb->cmd->result = (DID_ABORT << 16); in mega_cmd_done()
1475 list_add_tail(SCSI_LIST(scb->cmd), in mega_cmd_done()
1492 scb->cmd->result = (DID_RESET << 16); in mega_cmd_done()
1494 list_add_tail(SCSI_LIST(scb->cmd), in mega_cmd_done()
1502 cmd = scb->cmd; in mega_cmd_done()
1512 islogical = adapter->logdrv_chan[cmd->channel]; in mega_cmd_done()
1518 if( status && islogical && (cmd->cmnd[0] == READ_6 || in mega_cmd_done()
1519 cmd->cmnd[0] == READ_10 || in mega_cmd_done()
1520 cmd->cmnd[0] == READ_12)) { in mega_cmd_done()
1528 if( status && islogical && (cmd->cmnd[0] == WRITE_6 || in mega_cmd_done()
1529 cmd->cmnd[0] == WRITE_10 || in mega_cmd_done()
1530 cmd->cmnd[0] == WRITE_12)) { in mega_cmd_done()
1548 islogical = adapter->logdrv_chan[cmd->device->channel]; in mega_cmd_done()
1549 if( cmd->cmnd[0] == INQUIRY && !islogical ) { in mega_cmd_done()
1551 sgl = scsi_sglist(cmd); in mega_cmd_done()
1559 if(IS_RAID_CH(adapter, cmd->device->channel) && in mega_cmd_done()
1566 cmd->result = 0; in mega_cmd_done()
1571 cmd->result |= (DID_OK << 16); in mega_cmd_done()
1578 if( mbox->m_out.cmd == MEGA_MBOXCMD_PASSTHRU || in mega_cmd_done()
1579 mbox->m_out.cmd == MEGA_MBOXCMD_PASSTHRU64 ) { in mega_cmd_done()
1581 memcpy(cmd->sense_buffer, pthru->reqsensearea, in mega_cmd_done()
1584 cmd->result = (DRIVER_SENSE << 24) | in mega_cmd_done()
1589 if (mbox->m_out.cmd == MEGA_MBOXCMD_EXTPTHRU) { in mega_cmd_done()
1591 memcpy(cmd->sense_buffer, in mega_cmd_done()
1594 cmd->result = (DRIVER_SENSE << 24) | in mega_cmd_done()
1598 cmd->sense_buffer[0] = 0x70; in mega_cmd_done()
1599 cmd->sense_buffer[2] = ABORTED_COMMAND; in mega_cmd_done()
1600 cmd->result |= (CHECK_CONDITION << 1); in mega_cmd_done()
1607 cmd->result |= (DID_BUS_BUSY << 16) | status; in mega_cmd_done()
1616 if( cmd->cmnd[0] == TEST_UNIT_READY ) { in mega_cmd_done()
1617 cmd->result |= (DID_ERROR << 16) | in mega_cmd_done()
1626 (cmd->cmnd[0] == RESERVE || in mega_cmd_done()
1627 cmd->cmnd[0] == RELEASE) ) { in mega_cmd_done()
1629 cmd->result |= (DID_ERROR << 16) | in mega_cmd_done()
1634 cmd->result |= (DID_BAD_TARGET << 16)|status; in mega_cmd_done()
1640 list_add_tail(SCSI_LIST(cmd), &adapter->completed_list); in mega_cmd_done()
1653 Scsi_Cmnd *cmd; in mega_rundoneq() local
1660 cmd = list_entry(spos, Scsi_Cmnd, SCp); in mega_rundoneq()
1661 cmd->scsi_done(cmd); in mega_rundoneq()
1681 scsi_dma_unmap(scb->cmd); in mega_free_scb()
1694 scb->cmd = NULL; in mega_free_scb()
1723 Scsi_Cmnd *cmd; in mega_build_sglist() local
1727 cmd = scb->cmd; in mega_build_sglist()
1734 sgcnt = scsi_dma_map(cmd); in mega_build_sglist()
1742 if (scsi_sg_count(cmd) == 1 && !adapter->has_64bit_addr) { in mega_build_sglist()
1743 sg = scsi_sglist(cmd); in mega_build_sglist()
1750 scsi_for_each_sg(cmd, sg, sgcnt, idx) { in mega_build_sglist()
1870 megaraid_abort(Scsi_Cmnd *cmd) in megaraid_abort() argument
1875 adapter = (adapter_t *)cmd->device->host->hostdata; in megaraid_abort()
1877 rval = megaraid_abort_and_reset(adapter, cmd, SCB_ABORT); in megaraid_abort()
1890 megaraid_reset(struct scsi_cmnd *cmd) in megaraid_reset() argument
1896 adapter = (adapter_t *)cmd->device->host->hostdata; in megaraid_reset()
1899 mc.cmd = MEGA_CLUSTER_CMD; in megaraid_reset()
1912 rval = megaraid_abort_and_reset(adapter, cmd, SCB_RESET); in megaraid_reset()
1934 megaraid_abort_and_reset(adapter_t *adapter, Scsi_Cmnd *cmd, int aor) in megaraid_abort_and_reset() argument
1941 cmd->cmnd[0], cmd->device->channel, in megaraid_abort_and_reset()
1942 cmd->device->id, (u32)cmd->device->lun); in megaraid_abort_and_reset()
1951 if (scb->cmd == cmd) { /* Found command */ in megaraid_abort_and_reset()
1984 cmd->result = (DID_ABORT << 16); in megaraid_abort_and_reset()
1987 cmd->result = (DID_RESET << 16); in megaraid_abort_and_reset()
1990 list_add_tail(SCSI_LIST(cmd), in megaraid_abort_and_reset()
2161 seq_printf(m, " Fw Command = 0x%02x\n", mbox->m_out.cmd); in proc_show_mbox()
2559 mc.cmd = FC_NEW_CONFIG; in proc_show_rdrv()
2569 mc.cmd = NEW_READ_CONFIG_8LD; in proc_show_rdrv()
2572 mc.cmd = READ_CONFIG_8LD; in proc_show_rdrv()
2971 scb->cmd = NULL; in mega_init_scb()
3012 megadev_ioctl(struct file *filep, unsigned int cmd, unsigned long arg) in megadev_ioctl() argument
3036 if( (_IOC_TYPE(cmd) != MEGAIOC_MAGIC) && (cmd != USCSICMD) ) { in megadev_ioctl()
3268 mc.cmd = MEGA_MBOXCMD_PASSTHRU; in megadev_ioctl()
3404 megadev_unlocked_ioctl(struct file *filep, unsigned int cmd, unsigned long arg) in megadev_unlocked_ioctl() argument
3409 ret = megadev_ioctl(filep, cmd, arg); in megadev_unlocked_ioctl()
3573 if( mc->cmd == MEGA_MBOXCMD_PASSTHRU ) { in mega_n_to_m()
3590 if( mc->cmd == MEGA_MBOXCMD_PASSTHRU ) { in mega_n_to_m()
3885 mc.cmd = FC_DEL_LOGDRV; in mega_do_del_logdrv()
4012 mc.cmd = FC_NEW_CONFIG; in mega_adapinq()
4017 mc.cmd = MEGA_MBOXCMD_ADPEXTINQ; in mega_adapinq()
4087 mc.cmd = MEGA_MBOXCMD_PASSTHRU; in mega_internal_dev_inquiry()
4138 if (mc->cmd == MEGA_MBOXCMD_PASSTHRU) in mega_internal_command()
4162 mc->cmd, mc->opcode, mc->subopcode, rval); in mega_internal_command()