• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/scsi/sym53c8xx_2/

Lines Matching refs:cmd

134 #define SYM_UCMD_PTR(cmd)  ((struct sym_ucmd *)(&(cmd)->SCp))
135 #define SYM_SOFTC_PTR(cmd) sym_get_hcb(cmd->device->host)
140 void sym_xpt_done(struct sym_hcb *np, struct scsi_cmnd *cmd)
142 struct sym_ucmd *ucmd = SYM_UCMD_PTR(cmd);
148 scsi_dma_unmap(cmd);
149 cmd->scsi_done(cmd);
189 struct scsi_cmnd *cmd = cp->cmd;
200 sym_print_xerr(cmd, cp->sv_xerr_status);
210 memset(cmd->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
211 memcpy(cmd->sense_buffer, cp->sns_bbuf,
220 sym_reset_scsi_target(np, cmd->device->id);
231 sym_print_addr(cmd, "COMMAND FAILED (%x %x %x).\n",
240 scsi_set_resid(cmd, resid);
241 cmd->result = (drv_status << 24) + (cam_status << 16) + scsi_status;
244 static int sym_scatter(struct sym_hcb *np, struct sym_ccb *cp, struct scsi_cmnd *cmd)
251 use_sg = scsi_dma_map(cmd);
258 scsi_dma_unmap(cmd);
264 scsi_for_each_sg(cmd, sg, use_sg, segment) {
286 static int sym_queue_command(struct sym_hcb *np, struct scsi_cmnd *cmd)
288 struct scsi_device *sdev = cmd->device;
308 cp = sym_get_ccb(np, cmd, order);
311 sym_queue_scsiio(np, cmd, cp);
318 static inline int sym_setup_cdb(struct sym_hcb *np, struct scsi_cmnd *cmd, struct sym_ccb *cp)
320 memcpy(cp->cdb_buf, cmd->cmnd, cmd->cmd_len);
322 cp->phys.cmd.addr = CCB_BA(cp, cdb_buf[0]);
323 cp->phys.cmd.size = cpu_to_scr(cmd->cmd_len);
331 int sym_setup_data_and_start(struct sym_hcb *np, struct scsi_cmnd *cmd, struct sym_ccb *cp)
339 if (sym_setup_cdb(np, cmd, cp))
345 dir = cmd->sc_data_direction;
347 cp->segments = sym_scatter(np, cp, cmd);
349 sym_set_cam_status(cmd, DID_ERROR);
368 scmd_printk(KERN_INFO, cmd, "got DMA_BIDIRECTIONAL command");
369 sym_set_cam_status(cmd, DID_ERROR);
409 sym_xpt_done(np, cmd);
485 static int sym53c8xx_queue_command(struct scsi_cmnd *cmd,
488 struct sym_hcb *np = SYM_SOFTC_PTR(cmd);
489 struct sym_ucmd *ucp = SYM_UCMD_PTR(cmd);
492 cmd->scsi_done = done;
499 if (np->s.settle_time_valid && cmd->request->timeout) {
500 unsigned long tlimit = jiffies + cmd->request->timeout;
510 sts = sym_queue_command(np, cmd);
566 static int sym_eh_handler(int op, char *opname, struct scsi_cmnd *cmd)
568 struct sym_ucmd *ucmd = SYM_UCMD_PTR(cmd);
569 struct Scsi_Host *shost = cmd->device->host;
578 scmd_printk(KERN_WARNING, cmd, "%s operation started\n", opname);
614 if (cp->cmd == cmd) {
624 sts = sym_abort_scsiio(np, cmd, 1);
627 sts = sym_reset_scsi_target(np, cmd->device->id);
658 dev_warn(&cmd->device->sdev_gendev, "%s operation %s.\n", opname,
667 static int sym53c8xx_eh_abort_handler(struct scsi_cmnd *cmd)
669 return sym_eh_handler(SYM_EH_ABORT, "ABORT", cmd);
672 static int sym53c8xx_eh_device_reset_handler(struct scsi_cmnd *cmd)
674 return sym_eh_handler(SYM_EH_DEVICE_RESET, "DEVICE RESET", cmd);
677 static int sym53c8xx_eh_bus_reset_handler(struct scsi_cmnd *cmd)
679 return sym_eh_handler(SYM_EH_BUS_RESET, "BUS RESET", cmd);
682 static int sym53c8xx_eh_host_reset_handler(struct scsi_cmnd *cmd)
684 return sym_eh_handler(SYM_EH_HOST_RESET, "HOST RESET", cmd);
868 u_long cmd;
885 switch (uc->cmd) {
909 switch (uc->cmd) {
1011 struct sym_usrcmd cmd, *uc = &cmd;
1021 uc->cmd = UC_SETSYNC;
1023 uc->cmd = UC_SETTAGS;
1025 uc->cmd = UC_SETVERBOSE;
1027 uc->cmd = UC_SETWIDE;
1030 uc->cmd = UC_SETDEBUG;
1033 uc->cmd = UC_SETFLAG;
1035 uc->cmd = UC_RESETDEV;
1037 uc->cmd = UC_CLEARDEV;
1042 printk("sym_user_command: arg_len=%d, cmd=%ld\n", arg_len, uc->cmd);
1049 switch(uc->cmd) {
1070 switch(uc->cmd) {