Lines Matching refs:cmd
70 static int mac53c94_queue_lck(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)) in mac53c94_queue_lck() argument
75 if (cmd->sc_data_direction == DMA_TO_DEVICE) { in mac53c94_queue_lck()
77 printk(KERN_DEBUG "mac53c94_queue %p: command is", cmd); in mac53c94_queue_lck()
78 for (i = 0; i < cmd->cmd_len; ++i) in mac53c94_queue_lck()
79 printk(KERN_CONT " %.2x", cmd->cmnd[i]); in mac53c94_queue_lck()
82 scsi_sg_count(cmd), scsi_bufflen(cmd), scsi_sglist(cmd)); in mac53c94_queue_lck()
86 cmd->scsi_done = done; in mac53c94_queue_lck()
87 cmd->host_scribble = NULL; in mac53c94_queue_lck()
89 state = (struct fsc_state *) cmd->device->host->hostdata; in mac53c94_queue_lck()
92 state->request_q = cmd; in mac53c94_queue_lck()
94 state->request_qtail->host_scribble = (void *) cmd; in mac53c94_queue_lck()
95 state->request_qtail = cmd; in mac53c94_queue_lck()
105 static int mac53c94_host_reset(struct scsi_cmnd *cmd) in DEF_SCSI_QCMD()
107 struct fsc_state *state = (struct fsc_state *) cmd->device->host->hostdata; in DEF_SCSI_QCMD()
112 spin_lock_irqsave(cmd->device->host->host_lock, flags); in DEF_SCSI_QCMD()
122 spin_unlock_irqrestore(cmd->device->host->host_lock, flags); in DEF_SCSI_QCMD()
149 struct scsi_cmnd *cmd; in mac53c94_start() local
157 state->current_req = cmd = state->request_q; in mac53c94_start()
158 state->request_q = (struct scsi_cmnd *) cmd->host_scribble; in mac53c94_start()
168 writeb(cmd->device->id, ®s->dest_id); in mac53c94_start()
173 for (i = 0; i < cmd->cmd_len; ++i) in mac53c94_start()
174 writeb(cmd->cmnd[i], ®s->fifo); in mac53c94_start()
180 set_dma_cmds(state, cmd); in mac53c94_start()
199 struct scsi_cmnd *cmd = state->current_req; in mac53c94_interrupt() local
239 if (cmd == 0) { in mac53c94_interrupt()
268 && (scsi_sg_count(cmd) > 0 || scsi_bufflen(cmd))) { in mac53c94_interrupt()
269 nb = cmd->SCp.this_residual; in mac53c94_interrupt()
272 cmd->SCp.this_residual -= nb; in mac53c94_interrupt()
299 if (cmd->SCp.this_residual != 0 in mac53c94_interrupt()
302 nb = cmd->SCp.this_residual; in mac53c94_interrupt()
305 cmd->SCp.this_residual -= nb; in mac53c94_interrupt()
316 scsi_dma_unmap(cmd); in mac53c94_interrupt()
327 cmd->SCp.Status = readb(®s->fifo); in mac53c94_interrupt()
328 cmd->SCp.Message = readb(®s->fifo); in mac53c94_interrupt()
329 cmd->result = CMD_ACCEPT_MSG; in mac53c94_interrupt()
337 cmd_done(state, (DID_OK << 16) + (cmd->SCp.Message << 8) in mac53c94_interrupt()
338 + cmd->SCp.Status); in mac53c94_interrupt()
347 struct scsi_cmnd *cmd; in cmd_done() local
349 cmd = state->current_req; in cmd_done()
350 if (cmd != 0) { in cmd_done()
351 cmd->result = result; in cmd_done()
352 (*cmd->scsi_done)(cmd); in cmd_done()
362 static void set_dma_cmds(struct fsc_state *state, struct scsi_cmnd *cmd) in set_dma_cmds() argument
370 nseg = scsi_dma_map(cmd); in set_dma_cmds()
375 dma_cmd = cmd->sc_data_direction == DMA_TO_DEVICE ? in set_dma_cmds()
380 scsi_for_each_sg(cmd, scl, nseg, i) { in set_dma_cmds()
396 cmd->SCp.this_residual = total; in set_dma_cmds()