Lines Matching refs:scmd
1532 static int myrs_host_reset(struct scsi_cmnd *scmd) in myrs_host_reset() argument
1534 struct Scsi_Host *shost = scmd->device->host; in myrs_host_reset()
1541 static void myrs_mode_sense(struct myrs_hba *cs, struct scsi_cmnd *scmd, in myrs_mode_sense() argument
1548 dbd = (scmd->cmnd[1] & 0x08) == 0x08; in myrs_mode_sense()
1581 scsi_sg_copy_from_buffer(scmd, modes, mode_len); in myrs_mode_sense()
1585 struct scsi_cmnd *scmd) in myrs_queuecommand() argument
1587 struct request *rq = scsi_cmd_to_rq(scmd); in myrs_queuecommand()
1589 struct myrs_cmdblk *cmd_blk = scsi_cmd_priv(scmd); in myrs_queuecommand()
1591 struct scsi_device *sdev = scmd->device; in myrs_queuecommand()
1598 if (!scmd->device->hostdata) { in myrs_queuecommand()
1599 scmd->result = (DID_NO_CONNECT << 16); in myrs_queuecommand()
1600 scsi_done(scmd); in myrs_queuecommand()
1604 switch (scmd->cmnd[0]) { in myrs_queuecommand()
1606 scsi_build_sense(scmd, 0, ILLEGAL_REQUEST, 0x20, 0x0); in myrs_queuecommand()
1607 scsi_done(scmd); in myrs_queuecommand()
1610 if (scmd->device->channel >= cs->ctlr_info->physchan_present) { in myrs_queuecommand()
1613 if ((scmd->cmnd[2] & 0x3F) != 0x3F && in myrs_queuecommand()
1614 (scmd->cmnd[2] & 0x3F) != 0x08) { in myrs_queuecommand()
1616 scsi_build_sense(scmd, 0, ILLEGAL_REQUEST, 0x24, 0); in myrs_queuecommand()
1618 myrs_mode_sense(cs, scmd, ldev_info); in myrs_queuecommand()
1619 scmd->result = (DID_OK << 16); in myrs_queuecommand()
1621 scsi_done(scmd); in myrs_queuecommand()
1635 if (scmd->cmd_len <= 10) { in myrs_queuecommand()
1636 if (scmd->device->channel >= cs->ctlr_info->physchan_present) { in myrs_queuecommand()
1652 (scmd->sc_data_direction == DMA_FROM_DEVICE); in myrs_queuecommand()
1655 mbox->SCSI_10.dma_size = scsi_bufflen(scmd); in myrs_queuecommand()
1658 mbox->SCSI_10.cdb_len = scmd->cmd_len; in myrs_queuecommand()
1666 memcpy(&mbox->SCSI_10.cdb, scmd->cmnd, scmd->cmd_len); in myrs_queuecommand()
1682 if (scmd->device->channel >= cs->ctlr_info->physchan_present) { in myrs_queuecommand()
1698 (scmd->sc_data_direction == DMA_FROM_DEVICE); in myrs_queuecommand()
1701 mbox->SCSI_255.dma_size = scsi_bufflen(scmd); in myrs_queuecommand()
1704 mbox->SCSI_255.cdb_len = scmd->cmd_len; in myrs_queuecommand()
1713 memcpy(cmd_blk->dcdb, scmd->cmnd, scmd->cmd_len); in myrs_queuecommand()
1716 if (scmd->sc_data_direction == DMA_NONE) in myrs_queuecommand()
1718 nsge = scsi_dma_map(scmd); in myrs_queuecommand()
1720 sgl = scsi_sglist(scmd); in myrs_queuecommand()
1748 if (scmd->cmd_len <= 10) in myrs_queuecommand()
1757 scsi_for_each_sg(scmd, sgl, nsge, i) { in myrs_queuecommand()
1759 scsi_dma_unmap(scmd); in myrs_queuecommand()
1760 scmd->result = (DID_ERROR << 16); in myrs_queuecommand()
1761 scsi_done(scmd); in myrs_queuecommand()
2047 struct scsi_cmnd *scmd) in myrs_handle_scsi() argument
2054 scsi_dma_unmap(scmd); in myrs_handle_scsi()
2062 memcpy(scmd->sense_buffer, cmd_blk->sense, sense_len); in myrs_handle_scsi()
2082 scsi_set_resid(scmd, cmd_blk->residual); in myrs_handle_scsi()
2085 scmd->result = (DID_BAD_TARGET << 16); in myrs_handle_scsi()
2087 scmd->result = (DID_OK << 16) | status; in myrs_handle_scsi()
2088 scsi_done(scmd); in myrs_handle_scsi()
2585 struct scsi_cmnd *scmd = NULL; in DAC960_GEM_intr_handler() local
2593 scmd = scsi_host_find_tag(cs->host, id - 3); in DAC960_GEM_intr_handler()
2594 if (scmd) in DAC960_GEM_intr_handler()
2595 cmd_blk = scsi_cmd_priv(scmd); in DAC960_GEM_intr_handler()
2613 myrs_handle_scsi(cs, cmd_blk, scmd); in DAC960_GEM_intr_handler()
2804 struct scsi_cmnd *scmd = NULL; in DAC960_BA_intr_handler() local
2812 scmd = scsi_host_find_tag(cs->host, id - 3); in DAC960_BA_intr_handler()
2813 if (scmd) in DAC960_BA_intr_handler()
2814 cmd_blk = scsi_cmd_priv(scmd); in DAC960_BA_intr_handler()
2832 myrs_handle_scsi(cs, cmd_blk, scmd); in DAC960_BA_intr_handler()
3023 struct scsi_cmnd *scmd = NULL; in DAC960_LP_intr_handler() local
3031 scmd = scsi_host_find_tag(cs->host, id - 3); in DAC960_LP_intr_handler()
3032 if (scmd) in DAC960_LP_intr_handler()
3033 cmd_blk = scsi_cmd_priv(scmd); in DAC960_LP_intr_handler()
3051 myrs_handle_scsi(cs, cmd_blk, scmd); in DAC960_LP_intr_handler()