Lines Matching refs:cmnd
713 static void initio_release_scb(struct initio_host * host, struct scsi_ctrl_blk * cmnd) in initio_release_scb() argument
718 printk("Release SCB %p; ", cmnd); in initio_release_scb()
721 cmnd->srb = NULL; in initio_release_scb()
722 cmnd->status = 0; in initio_release_scb()
723 cmnd->next = NULL; in initio_release_scb()
725 host->last_avail->next = cmnd; in initio_release_scb()
726 host->last_avail = cmnd; in initio_release_scb()
728 host->first_avail = cmnd; in initio_release_scb()
729 host->last_avail = cmnd; in initio_release_scb()
2562 …d initio_build_scb(struct initio_host * host, struct scsi_ctrl_blk * cblk, struct scsi_cmnd * cmnd) in initio_build_scb() argument
2572 cblk->srb = cmnd; in initio_build_scb()
2575 cblk->target = cmnd->device->id; in initio_build_scb()
2576 cblk->lun = cmnd->device->lun; in initio_build_scb()
2577 cblk->ident = cmnd->device->lun | DISC_ALLOW; in initio_build_scb()
2582 dma_addr = dma_map_single(&host->pci_dev->dev, cmnd->sense_buffer, in initio_build_scb()
2586 cmnd->SCp.ptr = (char *)(unsigned long)dma_addr; in initio_build_scb()
2587 cblk->cdblen = cmnd->cmd_len; in initio_build_scb()
2593 memcpy(cblk->cdb, cmnd->cmnd, cmnd->cmd_len); in initio_build_scb()
2596 if (cmnd->device->tagged_supported) { /* Tag Support */ in initio_build_scb()
2603 nseg = scsi_dma_map(cmnd); in initio_build_scb()
2610 cmnd->SCp.dma_handle = dma_addr; in initio_build_scb()
2617 scsi_for_each_sg(cmnd, sglist, cblk->sglen, i) { in initio_build_scb()
2624 cblk->buflen = (scsi_bufflen(cmnd) > total_len) ? in initio_build_scb()
2625 total_len : scsi_bufflen(cmnd); in initio_build_scb()
2646 struct scsi_ctrl_blk *cmnd; in i91u_queuecommand_lck() local
2650 cmnd = initio_alloc_scb(host); in i91u_queuecommand_lck()
2651 if (!cmnd) in i91u_queuecommand_lck()
2654 initio_build_scb(host, cmnd, cmd); in i91u_queuecommand_lck()
2655 initio_exec_scb(host, cmnd); in i91u_queuecommand_lck()
2668 static int i91u_bus_reset(struct scsi_cmnd * cmnd) in DEF_SCSI_QCMD()
2672 host = (struct initio_host *) cmnd->device->host->hostdata; in DEF_SCSI_QCMD()
2674 spin_lock_irq(cmnd->device->host->host_lock); in DEF_SCSI_QCMD()
2676 spin_unlock_irq(cmnd->device->host->host_lock); in DEF_SCSI_QCMD()
2739 static void i91u_unmap_scb(struct pci_dev *pci_dev, struct scsi_cmnd *cmnd) in i91u_unmap_scb() argument
2742 if (cmnd->SCp.ptr) { in i91u_unmap_scb()
2744 (dma_addr_t)((unsigned long)cmnd->SCp.ptr), in i91u_unmap_scb()
2746 cmnd->SCp.ptr = NULL; in i91u_unmap_scb()
2750 if (scsi_sg_count(cmnd)) { in i91u_unmap_scb()
2751 dma_unmap_single(&pci_dev->dev, cmnd->SCp.dma_handle, in i91u_unmap_scb()
2755 scsi_dma_unmap(cmnd); in i91u_unmap_scb()
2770 struct scsi_cmnd *cmnd; /* Pointer to SCSI request block */ in i91uSCBPost() local
2776 if ((cmnd = cblk->srb) == NULL) { in i91uSCBPost()
2821 cmnd->result = cblk->tastat | (cblk->hastat << 16); in i91uSCBPost()
2822 i91u_unmap_scb(host->pci_dev, cmnd); in i91uSCBPost()
2823 cmnd->scsi_done(cmnd); /* Notify system DONE */ in i91uSCBPost()