cblk             2532 drivers/scsi/initio.c static void initio_build_scb(struct initio_host * host, struct scsi_ctrl_blk * cblk, struct scsi_cmnd * cmnd)
cblk             2541 drivers/scsi/initio.c 	cblk->post = i91uSCBPost;	/* i91u's callback routine      */
cblk             2542 drivers/scsi/initio.c 	cblk->srb = cmnd;
cblk             2543 drivers/scsi/initio.c 	cblk->opcode = ExecSCSI;
cblk             2544 drivers/scsi/initio.c 	cblk->flags = SCF_POST;	/* After SCSI done, call post routine */
cblk             2545 drivers/scsi/initio.c 	cblk->target = cmnd->device->id;
cblk             2546 drivers/scsi/initio.c 	cblk->lun = cmnd->device->lun;
cblk             2547 drivers/scsi/initio.c 	cblk->ident = cmnd->device->lun | DISC_ALLOW;
cblk             2549 drivers/scsi/initio.c 	cblk->flags |= SCF_SENSE;	/* Turn on auto request sense   */
cblk             2554 drivers/scsi/initio.c 	cblk->senseptr = (u32)dma_addr;
cblk             2555 drivers/scsi/initio.c 	cblk->senselen = SENSE_SIZE;
cblk             2557 drivers/scsi/initio.c 	cblk->cdblen = cmnd->cmd_len;
cblk             2560 drivers/scsi/initio.c 	cblk->hastat = 0;
cblk             2561 drivers/scsi/initio.c 	cblk->tastat = 0;
cblk             2563 drivers/scsi/initio.c 	memcpy(cblk->cdb, cmnd->cmnd, cmnd->cmd_len);
cblk             2567 drivers/scsi/initio.c 		cblk->tagmsg = SIMPLE_QUEUE_TAG;	/* Do simple tag only   */
cblk             2569 drivers/scsi/initio.c 		cblk->tagmsg = 0;	/* No tag support               */
cblk             2576 drivers/scsi/initio.c 		dma_addr = dma_map_single(&host->pci_dev->dev, &cblk->sglist[0],
cblk             2579 drivers/scsi/initio.c 		cblk->bufptr = (u32)dma_addr;
cblk             2582 drivers/scsi/initio.c 		cblk->sglen = nseg;
cblk             2584 drivers/scsi/initio.c 		cblk->flags |= SCF_SG;	/* Turn on SG list flag       */
cblk             2586 drivers/scsi/initio.c 		sg = &cblk->sglist[0];
cblk             2587 drivers/scsi/initio.c 		scsi_for_each_sg(cmnd, sglist, cblk->sglen, i) {
cblk             2594 drivers/scsi/initio.c 		cblk->buflen = (scsi_bufflen(cmnd) > total_len) ?
cblk             2597 drivers/scsi/initio.c 		cblk->buflen = 0;
cblk             2598 drivers/scsi/initio.c 		cblk->sglen = 0;
cblk             2742 drivers/scsi/initio.c 	struct scsi_ctrl_blk *cblk;
cblk             2745 drivers/scsi/initio.c 	cblk = (struct scsi_ctrl_blk *) cblk_mem;
cblk             2746 drivers/scsi/initio.c 	if ((cmnd = cblk->srb) == NULL) {
cblk             2749 drivers/scsi/initio.c 		initio_release_scb(host, cblk);	/* Release SCB for current channel */
cblk             2756 drivers/scsi/initio.c 	switch (cblk->hastat) {
cblk             2760 drivers/scsi/initio.c 		cblk->hastat = 0;
cblk             2765 drivers/scsi/initio.c 		cblk->hastat = DID_TIME_OUT;
cblk             2772 drivers/scsi/initio.c 		cblk->hastat = DID_RESET;
cblk             2776 drivers/scsi/initio.c 		cblk->hastat = DID_ABORT;
cblk             2786 drivers/scsi/initio.c 		printk("ini9100u: %x %x\n", cblk->hastat, cblk->tastat);
cblk             2787 drivers/scsi/initio.c 		cblk->hastat = DID_ERROR;	/* Couldn't find any better */
cblk             2791 drivers/scsi/initio.c 	cmnd->result = cblk->tastat | (cblk->hastat << 16);
cblk             2794 drivers/scsi/initio.c 	initio_release_scb(host, cblk);	/* Release SCB for current channel */