Lines Matching refs:cmd

356 					 struct scsi_cmnd *cmd);
357 static int ahd_linux_queue_abort_cmd(struct scsi_cmnd *cmd);
536 struct scsi_cmnd *cmd; in ahd_linux_unmap_scb() local
538 cmd = scb->io_ctx; in ahd_linux_unmap_scb()
540 scsi_dma_unmap(cmd); in ahd_linux_unmap_scb()
544 #define BUILD_SCSIID(ahd, cmd) \ argument
545 (((scmd_id(cmd) << TID_SHIFT) & TID) | (ahd)->our_id)
575 static int ahd_linux_queue_lck(struct scsi_cmnd *cmd) in ahd_linux_queue_lck() argument
578 struct ahd_linux_device *dev = scsi_transport_device_data(cmd->device); in ahd_linux_queue_lck()
581 ahd = *(struct ahd_softc **)cmd->device->host->hostdata; in ahd_linux_queue_lck()
583 cmd->result = CAM_REQ_INPROG << 16; in ahd_linux_queue_lck()
584 rtn = ahd_linux_run_command(ahd, dev, cmd); in ahd_linux_queue_lck()
756 ahd_linux_abort(struct scsi_cmnd *cmd) in ahd_linux_abort() argument
758 return ahd_linux_queue_abort_cmd(cmd); in ahd_linux_abort()
765 ahd_linux_dev_reset(struct scsi_cmnd *cmd) in ahd_linux_dev_reset() argument
779 ahd = *(struct ahd_softc **)cmd->device->host->hostdata; in ahd_linux_dev_reset()
781 scmd_printk(KERN_INFO, cmd, in ahd_linux_dev_reset()
785 for (cdb_byte = 0; cdb_byte < cmd->cmd_len; cdb_byte++) in ahd_linux_dev_reset()
786 printk(" 0x%x", cmd->cmnd[cdb_byte]); in ahd_linux_dev_reset()
792 dev = scsi_transport_device_data(cmd->device); in ahd_linux_dev_reset()
799 scmd_printk(KERN_INFO, cmd, "Is not an active device\n"); in ahd_linux_dev_reset()
808 scmd_printk(KERN_INFO, cmd, "No SCB available\n"); in ahd_linux_dev_reset()
813 cmd->device->id, &tstate); in ahd_linux_dev_reset()
814 reset_scb->io_ctx = cmd; in ahd_linux_dev_reset()
821 reset_scb->hscb->scsiid = BUILD_SCSIID(ahd,cmd); in ahd_linux_dev_reset()
822 reset_scb->hscb->lun = cmd->device->lun; in ahd_linux_dev_reset()
861 ahd_linux_bus_reset(struct scsi_cmnd *cmd) in ahd_linux_bus_reset() argument
867 ahd = *(struct ahd_softc **)cmd->device->host->hostdata; in ahd_linux_bus_reset()
871 ahd_name(ahd), cmd); in ahd_linux_bus_reset()
875 found = ahd_reset_channel(ahd, scmd_channel(cmd) + 'A', in ahd_linux_bus_reset()
1535 struct scsi_cmnd *cmd) in ahd_linux_run_command() argument
1546 nseg = scsi_dma_map(cmd); in ahd_linux_run_command()
1556 cmd->device->id, &tstate); in ahd_linux_run_command()
1561 col_idx = AHD_BUILD_COL_IDX(cmd->device->id, in ahd_linux_run_command()
1562 cmd->device->lun); in ahd_linux_run_command()
1567 scsi_dma_unmap(cmd); in ahd_linux_run_command()
1571 scb->io_ctx = cmd; in ahd_linux_run_command()
1574 cmd->host_scribble = (char *)scb; in ahd_linux_run_command()
1580 hscb->scsiid = BUILD_SCSIID(ahd, cmd); in ahd_linux_run_command()
1581 hscb->lun = cmd->device->lun; in ahd_linux_run_command()
1606 hscb->cdb_len = cmd->cmd_len; in ahd_linux_run_command()
1607 memcpy(hscb->shared_data.idata.cdb, cmd->cmnd, hscb->cdb_len); in ahd_linux_run_command()
1621 scsi_for_each_sg(cmd, cur_seg, nseg, i) { in ahd_linux_run_command()
1756 struct scsi_cmnd *cmd; in ahd_done() local
1765 cmd = scb->io_ctx; in ahd_done()
1769 if ((cmd->result & (CAM_DEV_QFRZN << 16)) != 0) { in ahd_done()
1770 cmd->result &= ~(CAM_DEV_QFRZN << 16); in ahd_done()
1781 cmd->sense_buffer[0] = 0; in ahd_done()
1826 ahd_linux_handle_scsi_status(ahd, cmd->device, scb); in ahd_done()
1859 ahd_linux_queue_cmd_complete(ahd, cmd); in ahd_done()
1891 struct scsi_cmnd *cmd; in ahd_linux_handle_scsi_status() local
1897 cmd = scb->io_ctx; in ahd_linux_handle_scsi_status()
1921 memset(cmd->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE); in ahd_linux_handle_scsi_status()
1922 memcpy(cmd->sense_buffer, in ahd_linux_handle_scsi_status()
1925 set_status_byte(cmd, SAM_STAT_CHECK_CONDITION); in ahd_linux_handle_scsi_status()
1936 printk("0x%x ", cmd->sense_buffer[i]); in ahd_linux_handle_scsi_status()
2009 ahd_linux_queue_cmd_complete(struct ahd_softc *ahd, struct scsi_cmnd *cmd) in ahd_linux_queue_cmd_complete() argument
2024 status = ahd_cmd_get_transaction_status(cmd); in ahd_linux_queue_cmd_complete()
2034 scsi_status = ahd_cmd_get_scsi_status(cmd); in ahd_linux_queue_cmd_complete()
2040 cmd->sense_buffer; in ahd_linux_queue_cmd_complete()
2102 ahd_name(ahd), status, cmd->device->channel, in ahd_linux_queue_cmd_complete()
2103 cmd->device->id, (u8)cmd->device->lun); in ahd_linux_queue_cmd_complete()
2106 ahd_cmd_set_transaction_status(cmd, new_status); in ahd_linux_queue_cmd_complete()
2108 scsi_done(cmd); in ahd_linux_queue_cmd_complete()
2124 ahd_linux_queue_abort_cmd(struct scsi_cmnd *cmd) in ahd_linux_queue_abort_cmd() argument
2144 ahd = *(struct ahd_softc **)cmd->device->host->hostdata; in ahd_linux_queue_abort_cmd()
2146 scmd_printk(KERN_INFO, cmd, in ahd_linux_queue_abort_cmd()
2150 for (cdb_byte = 0; cdb_byte < cmd->cmd_len; cdb_byte++) in ahd_linux_queue_abort_cmd()
2151 printk(" 0x%x", cmd->cmnd[cdb_byte]); in ahd_linux_queue_abort_cmd()
2163 dev = scsi_transport_device_data(cmd->device); in ahd_linux_queue_abort_cmd()
2170 scmd_printk(KERN_INFO, cmd, "Is not an active device\n"); in ahd_linux_queue_abort_cmd()
2178 if (pending_scb->io_ctx == cmd) in ahd_linux_queue_abort_cmd()
2183 scmd_printk(KERN_INFO, cmd, "Command not found\n"); in ahd_linux_queue_abort_cmd()
2206 scmd_printk(KERN_INFO, cmd, "Command already completed\n"); in ahd_linux_queue_abort_cmd()
2215 if (ahd_search_qinfifo(ahd, cmd->device->id, in ahd_linux_queue_abort_cmd()
2216 cmd->device->channel + 'A', in ahd_linux_queue_abort_cmd()
2217 cmd->device->lun, in ahd_linux_queue_abort_cmd()
2222 ahd_name(ahd), cmd->device->channel, in ahd_linux_queue_abort_cmd()
2223 cmd->device->id, (u8)cmd->device->lun); in ahd_linux_queue_abort_cmd()
2257 scmd_printk(KERN_INFO, cmd, "Device is active, asserting ATN\n"); in ahd_linux_queue_abort_cmd()
2308 ahd_search_qinfifo(ahd, cmd->device->id, in ahd_linux_queue_abort_cmd()
2309 cmd->device->channel + 'A', cmd->device->lun, in ahd_linux_queue_abort_cmd()
2318 scmd_printk(KERN_INFO, cmd, "Unable to deliver message\n"); in ahd_linux_queue_abort_cmd()