Lines Matching refs:scb
450 typedef struct scb { /* Command Control Block 5.4.1 */ struct
468 struct scb *next; /* for lists of scbs */ argument
810 Scb *scb, *p = NULL; in alloc_scbs() local
846 scb = scbfree; in alloc_scbs()
857 return (scb); in alloc_scbs()
861 static inline void free_scb(Scb * scb) in free_scb() argument
867 memset(scb, 0, sizeof(Scb)); in free_scb()
868 scb->next = scbfree; in free_scb()
869 scbfree = scb; in free_scb()
1004 Scb *scb; /* for SCSI commands */ in wd7000_intr() local
1055 scb = isa_bus_to_virt(scsi2int((unchar *) icmbs[icmb].scbptr)); in wd7000_intr()
1057 if (scb->op & ICB_OP_MASK) { /* an SCB is done */ in wd7000_intr()
1058 icb = (IcbAny *) scb; in wd7000_intr()
1064 SCpnt = scb->SCpnt; in wd7000_intr()
1066 host_error = scb->vue | (icmb_status << 8); in wd7000_intr()
1067 scsi_error = scb->status; in wd7000_intr()
1071 free_scb(scb); in wd7000_intr()
1087 Scb *scb; in wd7000_queuecommand_lck() local
1099 scb = alloc_scbs(SCpnt->device->host, 1); in wd7000_queuecommand_lck()
1100 scb->idlun = idlun; in wd7000_queuecommand_lck()
1101 memcpy(scb->cdb, cdb, cdblen); in wd7000_queuecommand_lck()
1102 scb->direc = 0x40; /* Disable direction check */ in wd7000_queuecommand_lck()
1104 scb->SCpnt = SCpnt; /* so we can find stuff later */ in wd7000_queuecommand_lck()
1105 SCpnt->host_scribble = (unchar *) scb; in wd7000_queuecommand_lck()
1106 scb->host = host; in wd7000_queuecommand_lck()
1115 sgb = scb->sgb; in wd7000_queuecommand_lck()
1116 scb->op = 1; in wd7000_queuecommand_lck()
1117 any2scsi(scb->dataptr, (int) sgb); in wd7000_queuecommand_lck()
1118 any2scsi(scb->maxlen, nseg * sizeof(Sgb)); in wd7000_queuecommand_lck()
1125 scb->op = 0; in wd7000_queuecommand_lck()
1128 any2scsi(scb->dataptr, isa_page_to_bus(sg_page(sg)) + sg->offset); in wd7000_queuecommand_lck()
1130 any2scsi(scb->maxlen, scsi_bufflen(SCpnt)); in wd7000_queuecommand_lck()
1135 while (!mail_out(host, scb)) in wd7000_queuecommand_lck()
1158 mail_out(host, (struct scb *) &icb); in DEF_SCSI_QCMD()
1288 mail_out(host, (struct scb *) &icb); in wd7000_revision()