Lines Matching refs:cmd

601 static inline int imm_send_command(struct scsi_cmnd *cmd)  in imm_send_command()  argument
603 imm_struct *dev = imm_dev(cmd->device->host); in imm_send_command()
607 for (k = 0; k < cmd->cmd_len; k += 2) in imm_send_command()
608 if (!imm_out(dev, &cmd->cmnd[k], 2)) in imm_send_command()
621 static int imm_completion(struct scsi_cmnd *const cmd) in imm_completion() argument
628 struct scsi_pointer *scsi_pointer = imm_scsi_pointer(cmd); in imm_completion()
629 imm_struct *dev = imm_dev(cmd->device->host); in imm_completion()
636 v = cmd->cmnd[0]; in imm_completion()
722 struct scsi_cmnd *cmd = dev->cur_cmd; in imm_interrupt() local
723 struct Scsi_Host *host = cmd->device->host; in imm_interrupt()
726 if (imm_engine(dev, cmd)) { in imm_interrupt()
732 switch ((cmd->result >> 16) & 0xff) { in imm_interrupt()
736 printk("imm: no device at SCSI ID %i\n", cmd->device->id); in imm_interrupt()
761 (cmd->result >> 16) & 0xff); in imm_interrupt()
765 if (imm_scsi_pointer(cmd)->phase > 1) in imm_interrupt()
772 scsi_done(cmd); in imm_interrupt()
777 static int imm_engine(imm_struct *dev, struct scsi_cmnd *const cmd) in imm_engine() argument
779 struct scsi_pointer *scsi_pointer = imm_scsi_pointer(cmd); in imm_engine()
808 if (!imm_select(dev, scmd_id(cmd))) { in imm_engine()
820 if (!imm_send_command(cmd)) in imm_engine()
826 if (scsi_bufflen(cmd)) { in imm_engine()
827 scsi_pointer->buffer = scsi_sglist(cmd); in imm_engine()
835 scsi_pointer->buffers_residual = scsi_sg_count(cmd) - 1; in imm_engine()
865 retv = imm_completion(cmd); in imm_engine()
898 cmd->result = (DID_OK << 16) | (l & STATUS_MASK); in imm_engine()
914 static int imm_queuecommand_lck(struct scsi_cmnd *cmd) in imm_queuecommand_lck() argument
916 imm_struct *dev = imm_dev(cmd->device->host); in imm_queuecommand_lck()
924 dev->cur_cmd = cmd; in imm_queuecommand_lck()
925 cmd->result = DID_ERROR << 16; /* default return code */ in imm_queuecommand_lck()
926 imm_scsi_pointer(cmd)->phase = 0; /* bus free */ in imm_queuecommand_lck()
957 static int imm_abort(struct scsi_cmnd *cmd) in imm_abort() argument
959 imm_struct *dev = imm_dev(cmd->device->host); in imm_abort()
965 switch (imm_scsi_pointer(cmd)->phase) { in imm_abort()
987 static int imm_reset(struct scsi_cmnd *cmd) in imm_reset() argument
989 imm_struct *dev = imm_dev(cmd->device->host); in imm_reset()
991 if (imm_scsi_pointer(cmd)->phase) in imm_reset()
1008 static char cmd[6] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; in device_check() local
1032 status = imm_out(dev, &cmd[l << 1], 2); in device_check()