• Home
  • Raw
  • Download

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
1588 struct myrs_cmdblk *cmd_blk = scsi_cmd_priv(scmd); in myrs_queuecommand()
1590 struct scsi_device *sdev = scmd->device; in myrs_queuecommand()
1597 if (!scmd->device->hostdata) { in myrs_queuecommand()
1598 scmd->result = (DID_NO_CONNECT << 16); in myrs_queuecommand()
1599 scmd->scsi_done(scmd); in myrs_queuecommand()
1603 switch (scmd->cmnd[0]) { in myrs_queuecommand()
1605 scsi_build_sense_buffer(0, scmd->sense_buffer, ILLEGAL_REQUEST, in myrs_queuecommand()
1607 scmd->result = (DRIVER_SENSE << 24) | SAM_STAT_CHECK_CONDITION; in myrs_queuecommand()
1608 scmd->scsi_done(scmd); in myrs_queuecommand()
1611 if (scmd->device->channel >= cs->ctlr_info->physchan_present) { in myrs_queuecommand()
1614 if ((scmd->cmnd[2] & 0x3F) != 0x3F && in myrs_queuecommand()
1615 (scmd->cmnd[2] & 0x3F) != 0x08) { in myrs_queuecommand()
1617 scsi_build_sense_buffer(0, scmd->sense_buffer, in myrs_queuecommand()
1619 scmd->result = (DRIVER_SENSE << 24) | in myrs_queuecommand()
1622 myrs_mode_sense(cs, scmd, ldev_info); in myrs_queuecommand()
1623 scmd->result = (DID_OK << 16); in myrs_queuecommand()
1625 scmd->scsi_done(scmd); in myrs_queuecommand()
1638 timeout = scmd->request->timeout; in myrs_queuecommand()
1639 if (scmd->cmd_len <= 10) { in myrs_queuecommand()
1640 if (scmd->device->channel >= cs->ctlr_info->physchan_present) { in myrs_queuecommand()
1654 mbox->SCSI_10.id = scmd->request->tag + 3; in myrs_queuecommand()
1656 (scmd->sc_data_direction == DMA_FROM_DEVICE); in myrs_queuecommand()
1657 if (scmd->request->cmd_flags & REQ_FUA) in myrs_queuecommand()
1659 mbox->SCSI_10.dma_size = scsi_bufflen(scmd); in myrs_queuecommand()
1662 mbox->SCSI_10.cdb_len = scmd->cmd_len; in myrs_queuecommand()
1670 memcpy(&mbox->SCSI_10.cdb, scmd->cmnd, scmd->cmd_len); in myrs_queuecommand()
1686 if (scmd->device->channel >= cs->ctlr_info->physchan_present) { in myrs_queuecommand()
1700 mbox->SCSI_255.id = scmd->request->tag + 3; in myrs_queuecommand()
1702 (scmd->sc_data_direction == DMA_FROM_DEVICE); in myrs_queuecommand()
1703 if (scmd->request->cmd_flags & REQ_FUA) in myrs_queuecommand()
1705 mbox->SCSI_255.dma_size = scsi_bufflen(scmd); in myrs_queuecommand()
1708 mbox->SCSI_255.cdb_len = scmd->cmd_len; in myrs_queuecommand()
1717 memcpy(cmd_blk->dcdb, scmd->cmnd, scmd->cmd_len); in myrs_queuecommand()
1720 if (scmd->sc_data_direction == DMA_NONE) in myrs_queuecommand()
1722 nsge = scsi_dma_map(scmd); in myrs_queuecommand()
1724 sgl = scsi_sglist(scmd); in myrs_queuecommand()
1752 if (scmd->cmd_len <= 10) in myrs_queuecommand()
1761 scsi_for_each_sg(scmd, sgl, nsge, i) { in myrs_queuecommand()
1763 scsi_dma_unmap(scmd); in myrs_queuecommand()
1764 scmd->result = (DID_ERROR << 16); in myrs_queuecommand()
1765 scmd->scsi_done(scmd); in myrs_queuecommand()
2052 struct scsi_cmnd *scmd) in myrs_handle_scsi() argument
2059 scsi_dma_unmap(scmd); in myrs_handle_scsi()
2067 memcpy(scmd->sense_buffer, cmd_blk->sense, sense_len); in myrs_handle_scsi()
2087 scsi_set_resid(scmd, cmd_blk->residual); in myrs_handle_scsi()
2090 scmd->result = (DID_BAD_TARGET << 16); in myrs_handle_scsi()
2092 scmd->result = (DID_OK << 16) | status; in myrs_handle_scsi()
2093 scmd->scsi_done(scmd); in myrs_handle_scsi()
2627 struct scsi_cmnd *scmd = NULL; in DAC960_GEM_intr_handler() local
2635 scmd = scsi_host_find_tag(cs->host, id - 3); in DAC960_GEM_intr_handler()
2636 if (scmd) in DAC960_GEM_intr_handler()
2637 cmd_blk = scsi_cmd_priv(scmd); in DAC960_GEM_intr_handler()
2655 myrs_handle_scsi(cs, cmd_blk, scmd); in DAC960_GEM_intr_handler()
2877 struct scsi_cmnd *scmd = NULL; in DAC960_BA_intr_handler() local
2885 scmd = scsi_host_find_tag(cs->host, id - 3); in DAC960_BA_intr_handler()
2886 if (scmd) in DAC960_BA_intr_handler()
2887 cmd_blk = scsi_cmd_priv(scmd); in DAC960_BA_intr_handler()
2905 myrs_handle_scsi(cs, cmd_blk, scmd); in DAC960_BA_intr_handler()
3127 struct scsi_cmnd *scmd = NULL; in DAC960_LP_intr_handler() local
3135 scmd = scsi_host_find_tag(cs->host, id - 3); in DAC960_LP_intr_handler()
3136 if (scmd) in DAC960_LP_intr_handler()
3137 cmd_blk = scsi_cmd_priv(scmd); in DAC960_LP_intr_handler()
3155 myrs_handle_scsi(cs, cmd_blk, scmd); in DAC960_LP_intr_handler()