taglinefilesource code
scb143drivers/net/apricot.cstruct i596_scb *scb;
scb155drivers/net/apricot.cstruct i596_scb scb;
scb206drivers/net/apricot.clp->scb.rfd = (struct i596_rfd *)I596_NULL;
scb227drivers/net/apricot.crfd->next = lp->scb.rfd;
scb228drivers/net/apricot.clp->scb.rfd = rfd;
scb232drivers/net/apricot.clp->rx_tail->next = lp->scb.rfd;
scb241drivers/net/apricot.cstruct i596_rfd *rfd = lp->scb.rfd;
scb247drivers/net/apricot.clp->scb.rfd = rfd->next;
scb249drivers/net/apricot.crfd = lp->scb.rfd;
scb272drivers/net/apricot.clp->iscp.scb = &(lp->scb);
scb276drivers/net/apricot.clp->cmd_head = lp->scb.cmd = (struct i596_cmd *) I596_NULL;
scb288drivers/net/apricot.cdev->name, lp->scb.status, lp->scb.command);
scb292drivers/net/apricot.clp->scb.command = 0;
scb306drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb310drivers/net/apricot.cdev->name, lp->scb.status, lp->scb.command);
scb314drivers/net/apricot.clp->scb.command = RX_START;
scb318drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb322drivers/net/apricot.clp->scb.status, lp->scb.command);
scb337drivers/net/apricot.cwhile ((lp->scb.rfd->stat) & STAT_C)
scb339drivers/net/apricot.cif (i596_debug >2) print_eth(lp->scb.rfd->data);
scb341drivers/net/apricot.cif ((lp->scb.rfd->stat) & STAT_OK)
scb344drivers/net/apricot.cint pkt_len = lp->scb.rfd->count & 0x3fff;
scb358drivers/net/apricot.cmemcpy(skb->data, lp->scb.rfd->data, pkt_len);
scb369drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0001) lp->stats.collisions++;
scb370drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0080) lp->stats.rx_length_errors++;
scb371drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0100) lp->stats.rx_over_errors++;
scb372drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0200) lp->stats.rx_fifo_errors++;
scb373drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0400) lp->stats.rx_frame_errors++;
scb374drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0800) lp->stats.rx_crc_errors++;
scb375drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x1000) lp->stats.rx_length_errors++;
scb378drivers/net/apricot.clp->scb.rfd->stat = 0;
scb380drivers/net/apricot.clp->rx_tail = lp->scb.rfd;
scb381drivers/net/apricot.clp->scb.rfd = lp->scb.rfd->next;
scb436drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb440drivers/net/apricot.clp->scb.status, lp->scb.command);
scb444drivers/net/apricot.clp->scb.cmd = lp->cmd_head;
scb454drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb458drivers/net/apricot.clp->scb.status, lp->scb.command);
scb465drivers/net/apricot.clp->scb.command = CUC_ABORT|RX_ABORT;
scb471drivers/net/apricot.cwhile ((lp->scb.status, lp->scb.command) || lp->scb.command)
scb475drivers/net/apricot.clp->scb.status, lp->scb.command);
scb508drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb512drivers/net/apricot.clp->scb.status, lp->scb.command);
scb516drivers/net/apricot.clp->scb.cmd = cmd;
scb517drivers/net/apricot.clp->scb.command = CUC_START;
scb523drivers/net/apricot.clp->cmd_head = lp->scb.cmd;
scb603drivers/net/apricot.clp->scb.command = CUC_START|RX_START;
scb748drivers/net/apricot.clp->scb.command = 0;
scb749drivers/net/apricot.clp->scb.cmd = (struct i596_cmd *) I596_NULL;
scb750drivers/net/apricot.clp->scb.rfd = (struct i596_rfd *)I596_NULL;
scb780drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb783drivers/net/apricot.cprintk("%s: i596 interrupt, timeout status %4.4x command %4.4x.\n", dev->name, lp->scb.status, lp->scb.command);
scb786drivers/net/apricot.cstatus = lp->scb.status;
scb881drivers/net/apricot.clp->scb.cmd = lp->cmd_head;
scb902drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb905drivers/net/apricot.cprintk("%s: i596 interrupt, timeout status %4.4x command %4.4x.\n", dev->name, lp->scb.status, lp->scb.command);
scb908drivers/net/apricot.clp->scb.command = ack_cmd;
scb933drivers/net/apricot.cdev->name, lp->scb.status);
scb935drivers/net/apricot.clp->scb.command = CUC_ABORT|RX_ABORT;
scb940drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb944drivers/net/apricot.cdev->name, lp->scb.status, lp->scb.command);
scb143drivers/net/ni52.cif(!p->scb->cmd) break; \
scb189drivers/net/ni52.cvolatile struct scb_struct  *scb;  /* volatile is important */
scb293drivers/net/ni52.cp->scb  = (struct scb_struct *)  (dev->mem_start);
scb301drivers/net/ni52.cp->iscp->scb_offset = make16(p->scb);
scb312drivers/net/ni52.cmemset((char *)p->scb,0,sizeof(struct scb_struct));
scb461drivers/net/ni52.cptr = (void *) ((char *)p->scb + sizeof(struct scb_struct));
scb479drivers/net/ni52.cp->scb->cbl_offset = make16(cfg_cmd);
scb481drivers/net/ni52.cp->scb->cmd = CUC_START; /* cmd.-unit start */
scb505drivers/net/ni52.cp->scb->cbl_offset = make16(ias_cmd);
scb507drivers/net/ni52.cp->scb->cmd = CUC_START; /* cmd.-unit start */
scb529drivers/net/ni52.cp->scb->cbl_offset = make16(tdr_cmd);
scb531drivers/net/ni52.cp->scb->cmd = CUC_START; /* cmd.-unit start */
scb546drivers/net/ni52.cp->scb->cmd = p->scb->status & STAT_MASK;
scb566drivers/net/ni52.cp->scb->cmd = p->scb->status & STAT_MASK;
scb623drivers/net/ni52.cp->scb->cbl_offset = make16(mc_cmd);
scb624drivers/net/ni52.cp->scb->cmd = CUC_START;
scb668drivers/net/ni52.cp->scb->cbl_offset = make16(p->nop_cmds[0]);
scb669drivers/net/ni52.cp->scb->cmd = CUC_START;
scb718drivers/net/ni52.cp->scb->rfa_offset    = make16(p->rfd_first);
scb743drivers/net/ni52.cwhile((stat=p->scb->status & STAT_MASK))
scb745drivers/net/ni52.cp->scb->cmd = stat;
scb758drivers/net/ni52.cprintk("%s: oops! CU has left active state. stat: %04x/%04x.\n",dev->name,(int) stat,(int) p->scb->status);
scb764drivers/net/ni52.cif(p->scb->status & RU_SUSPEND) /* special case: RU_SUSPEND */
scb767drivers/net/ni52.cp->scb->cmd = RUC_RESUME;
scb772drivers/net/ni52.cprintk("%s: Receiver-Unit went 'NOT READY': %04x/%04x.\n",dev->name,(int) stat,(int) p->scb->status);
scb777drivers/net/ni52.cif(p->scb->cmd)   /* timed out? */
scb849drivers/net/ni52.cp->scb->cmd = RUC_ABORT; /* usually the RU is in the 'no resource'-state .. abort it now. */
scb856drivers/net/ni52.cprintk("%s: Receive-Unit restarted. Status: %04x\n",dev->name,p->scb->status);
scb918drivers/net/ni52.cp->scb->rfa_offset = make16(p->rfd_first);
scb919drivers/net/ni52.cp->scb->cmd = RUC_START;
scb942drivers/net/ni52.cif(p->scb->status & CU_ACTIVE) /* COMMAND-UNIT active? */
scb949drivers/net/ni52.cp->scb->cmd = CUC_ABORT;
scb952drivers/net/ni52.cp->scb->cbl_offset = make16(p->nop_cmds[p->nop_point]);
scb953drivers/net/ni52.cp->scb->cmd = CUC_START;
scb962drivers/net/ni52.cprintk("%s: xmitter timed out, try to restart! stat: %04x\n",dev->name,p->scb->status);
scb998drivers/net/ni52.cp->scb->cbl_offset = make16(p->xmit_cmds[0]);
scb999drivers/net/ni52.cp->scb->cmd = CUC_START;
scb1007drivers/net/ni52.cif( (p->scb->status & CU_ACTIVE)) /* test it, because CU sometimes doesn't start immediately */
scb1060drivers/net/ni52.ccrc = p->scb->crc_errs; /* get error-statistic from the ni82586 */
scb1061drivers/net/ni52.cp->scb->crc_errs -= crc;
scb1062drivers/net/ni52.caln = p->scb->aln_errs;
scb1063drivers/net/ni52.cp->scb->aln_errs -= aln;
scb1064drivers/net/ni52.crsc = p->scb->rsc_errs;
scb1065drivers/net/ni52.cp->scb->rsc_errs -= rsc;
scb1066drivers/net/ni52.covrn = p->scb->ovrn_errs;
scb1067drivers/net/ni52.cp->scb->ovrn_errs -= ovrn;
scb505drivers/net/wavelan.cscb_t    scb;
scb552drivers/net/wavelan.cmemset(&scb, 0x00, sizeof(scb));
scb553drivers/net/wavelan.cscb.scb_command = SCB_CMD_RESET;
scb554drivers/net/wavelan.cscb.scb_cbl_offset = OFFSET_CU;
scb555drivers/net/wavelan.cscb.scb_rfa_offset = OFFSET_RU;
scb556drivers/net/wavelan.cobram_write(ioaddr, OFFSET_SCB, (unsigned char *)&scb, sizeof(scb));
scb580drivers/net/wavelan.cobram_read(ioaddr, OFFSET_SCB, (unsigned char *)&scb, sizeof(scb));
scb582drivers/net/wavelan.cif (scb.scb_status == (SCB_ST_CX | SCB_ST_CNA))
scb590drivers/net/wavelan.cprintk("%s: wavelan_hardware_reset(): status: expected 0x%02x, got 0x%02x.\n", dev->name, SCB_ST_CX | SCB_ST_CNA, scb.scb_status);
scb2262drivers/net/wavelan.cscb_t  scb;
scb2264drivers/net/wavelan.cobram_read(ioaddr, OFFSET_SCB, (unsigned char *)&scb, sizeof(scb));   
scb2272drivers/net/wavelan.c(scb.scb_status & (SCB_ST_CX | SCB_ST_FR | SCB_ST_CNA | SCB_ST_RNR)) >> 12,
scb2273drivers/net/wavelan.c(scb.scb_status & SCB_ST_CX) ? "cmd completion interrupt," : "",
scb2274drivers/net/wavelan.c(scb.scb_status & SCB_ST_FR) ? "frame received," : "",
scb2275drivers/net/wavelan.c(scb.scb_status & SCB_ST_CNA) ? "cmd unit not active," : "",
scb2276drivers/net/wavelan.c(scb.scb_status & SCB_ST_RNR) ? "rcv unit not ready," : ""
scb2281drivers/net/wavelan.c(scb.scb_status & SCB_ST_CUS) >> 8,
scb2282drivers/net/wavelan.c((scb.scb_status & SCB_ST_CUS) == SCB_ST_CUS_IDLE) ? "idle" : "",
scb2283drivers/net/wavelan.c((scb.scb_status & SCB_ST_CUS) == SCB_ST_CUS_SUSP) ? "suspended" : "",
scb2284drivers/net/wavelan.c((scb.scb_status & SCB_ST_CUS) == SCB_ST_CUS_ACTV) ? "active" : ""
scb2289drivers/net/wavelan.c(scb.scb_status & SCB_ST_RUS) >> 4,
scb2290drivers/net/wavelan.c((scb.scb_status & SCB_ST_RUS) == SCB_ST_RUS_IDLE) ? "idle" : "",
scb2291drivers/net/wavelan.c((scb.scb_status & SCB_ST_RUS) == SCB_ST_RUS_SUSP) ? "suspended" : "",
scb2292drivers/net/wavelan.c((scb.scb_status & SCB_ST_RUS) == SCB_ST_RUS_NRES) ? "no resources" : "",
scb2293drivers/net/wavelan.c((scb.scb_status & SCB_ST_RUS) == SCB_ST_RUS_RDY) ? "ready" : ""
scb2300drivers/net/wavelan.c(scb.scb_command & (SCB_CMD_ACK_CX | SCB_CMD_ACK_FR | SCB_CMD_ACK_CNA | SCB_CMD_ACK_RNR)) >> 12,
scb2301drivers/net/wavelan.c(scb.scb_command & SCB_CMD_ACK_CX) ? "ack cmd completion," : "",
scb2302drivers/net/wavelan.c(scb.scb_command & SCB_CMD_ACK_FR) ? "ack frame received," : "",
scb2303drivers/net/wavelan.c(scb.scb_command & SCB_CMD_ACK_CNA) ? "ack CU not active," : "",
scb2304drivers/net/wavelan.c(scb.scb_command & SCB_CMD_ACK_RNR) ? "ack RU not ready," : ""
scb2309drivers/net/wavelan.c(scb.scb_command & SCB_CMD_CUC) >> 8,
scb2310drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_NOP) ? "nop" : "",
scb2311drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_GO) ? "start cbl_offset" : "",
scb2312drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_RES) ? "resume execution" : "",
scb2313drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_SUS) ? "suspend execution" : "",
scb2314drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_ABT) ? "abort execution" : ""
scb2319drivers/net/wavelan.c(scb.scb_command & SCB_CMD_RUC) >> 4,
scb2320drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_NOP) ? "nop" : "",
scb2321drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_GO) ? "start rfa_offset" : "",
scb2322drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_RES) ? "resume reception" : "",
scb2323drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_SUS) ? "suspend reception" : "",
scb2324drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_ABT) ? "abort reception" : ""
scb2327drivers/net/wavelan.cprintk(" cbl_offset 0x%x", scb.scb_cbl_offset);
scb2328drivers/net/wavelan.cprintk(" rfa_offset 0x%x", scb.scb_rfa_offset);
scb2330drivers/net/wavelan.cprintk(" crcerrs %d", scb.scb_crcerrs);
scb2331drivers/net/wavelan.cprintk(" alnerrs %d", scb.scb_alnerrs);
scb2332drivers/net/wavelan.cprintk(" rscerrs %d", scb.scb_rscerrs);
scb2333drivers/net/wavelan.cprintk(" ovrnerrs %d", scb.scb_ovrnerrs);
scb337drivers/scsi/aha274x.cvoid aha274x_getscb(int base, struct aha274x_scb *scb)
scb348drivers/scsi/aha274x.c:"D" (scb), "c" (sizeof(*scb)), "d" (O_SCBARRAY(base))
scb589drivers/scsi/aha274x.cstruct aha274x_scb scb;
scb624drivers/scsi/aha274x.caha274x_getscb(base, &scb);
scb629drivers/scsi/aha274x.ccmd->result = scb.target_status |
scb639drivers/scsi/aha274x.cscb.residual_SG_segment_count);
scb641drivers/scsi/aha274x.cactual -= ((scb.residual_data_count[2] << 16) |
scb642drivers/scsi/aha274x.c(scb.residual_data_count[1] <<  8) |
scb643drivers/scsi/aha274x.c(scb.residual_data_count[0]));
scb650drivers/scsi/aha274x.ccmd->result = scb.target_status |
scb1061drivers/scsi/aha274x.cstruct aha274x_scb *scb)
scb1066drivers/scsi/aha274x.cmemset(scb, 0, sizeof(*scb));
scb1071drivers/scsi/aha274x.cscb->target_channel_lun = ((cmd->target << 4) & 0xf0) |
scb1103drivers/scsi/aha274x.cscb->SCSI_cmd_length = cmd->cmd_len;
scb1104drivers/scsi/aha274x.cmemcpy(scb->SCSI_cmd_pointer, &addr, sizeof(scb->SCSI_cmd_pointer));
scb1112drivers/scsi/aha274x.cscb->SG_segment_count = cmd->use_sg;
scb1113drivers/scsi/aha274x.cmemcpy(scb->SG_list_pointer,
scb1115drivers/scsi/aha274x.csizeof(scb->SG_list_pointer));
scb1117drivers/scsi/aha274x.cscb->SG_segment_count = 0;
scb1118drivers/scsi/aha274x.cmemcpy(scb->data_pointer,
scb1120drivers/scsi/aha274x.csizeof(scb->data_pointer));
scb1121drivers/scsi/aha274x.cmemcpy(scb->data_count,
scb1123drivers/scsi/aha274x.csizeof(scb->data_count));
scb1128drivers/scsi/aha274x.cvoid aha274x_putscb(int base, struct aha274x_scb *scb)
scb1142drivers/scsi/aha274x.c:"S" (scb), "c" (sizeof(*scb)), "d" (O_SCBARRAY(base))
scb1153drivers/scsi/aha274x.cstruct aha274x_scb scb;
scb1169drivers/scsi/aha274x.caha274x_buildscb(p, cmd, &scb);
scb1215drivers/scsi/aha274x.caha274x_putscb(p->base, &scb);
scb1267drivers/scsi/aha274x.cint i, scb, found, queued;
scb1276drivers/scsi/aha274x.cfor (scb = 0; scb < AHA274X_MAXSCB; scb++)
scb1277drivers/scsi/aha274x.cif (p->SCB_array[scb] == cmd)
scb1280drivers/scsi/aha274x.cif (scb == AHA274X_MAXSCB)
scb1295drivers/scsi/aha274x.cif (scbsave[i] == scb) {
scb1315drivers/scsi/aha274x.cif (inb(O_SCBPTR(p->base)) != scb) {
scb1349drivers/scsi/aha274x.cp->SCB_array[scb] = NULL;
scb343drivers/scsi/wd7000.cstruct scb *next;             /* for lists of scbs */
scb597drivers/scsi/wd7000.cregister Scb *scb, *p;
scb633drivers/scsi/wd7000.cscb = scbfree;  freescbs -= needed;
scb641drivers/scsi/wd7000.creturn scb;
scb645drivers/scsi/wd7000.cstatic inline void free_scb( Scb *scb )
scb652drivers/scsi/wd7000.cmemset(scb, 0, sizeof(Scb));
scb653drivers/scsi/wd7000.cscb->next = scbfree;  scbfree = scb;
scb804drivers/scsi/wd7000.cregister Scb *scb;             /* for SCSI commands */
scb860drivers/scsi/wd7000.cscb = (struct scb *) scsi2int((unchar *)icmbs[icmb].scbptr);
scb862drivers/scsi/wd7000.cif (!(scb->op & ICB_OP_MASK))  {   /* an SCB is done */
scb863drivers/scsi/wd7000.cSCpnt = scb->SCpnt;
scb865drivers/scsi/wd7000.chost_error = scb->vue | (icmb_status << 8);
scb866drivers/scsi/wd7000.cscsi_error = scb->status;
scb870drivers/scsi/wd7000.cfree_scb(scb);
scb875drivers/scsi/wd7000.cicb = (IcbAny *) scb;
scb889drivers/scsi/wd7000.cregister Scb *scb;
scb900drivers/scsi/wd7000.cscb = alloc_scbs(1);
scb901drivers/scsi/wd7000.cscb->idlun = idlun;
scb902drivers/scsi/wd7000.cmemcpy(scb->cdb, cdb, cdblen);
scb903drivers/scsi/wd7000.cscb->direc = 0x40;    /* Disable direction check */
scb905drivers/scsi/wd7000.cscb->SCpnt = SCpnt;         /* so we can find stuff later */
scb906drivers/scsi/wd7000.cSCpnt->host_scribble = (unchar *) scb;
scb907drivers/scsi/wd7000.cscb->host = host;
scb920drivers/scsi/wd7000.csgb = scb->sgb;
scb921drivers/scsi/wd7000.cscb->op = 1;
scb922drivers/scsi/wd7000.cany2scsi(scb->dataptr, (int) sgb);
scb923drivers/scsi/wd7000.cany2scsi(scb->maxlen, SCpnt->use_sg * sizeof (Sgb) );
scb930drivers/scsi/wd7000.cscb->op = 0;
scb931drivers/scsi/wd7000.cany2scsi(scb->dataptr, (int) SCpnt->request_buffer);
scb932drivers/scsi/wd7000.cany2scsi(scb->maxlen, SCpnt->request_bufflen);
scb934drivers/scsi/wd7000.cwhile (!mail_out(host, scb)) /* keep trying */;
scb965drivers/scsi/wd7000.cmail_out(host, (struct scb *) &icb);
scb1077drivers/scsi/wd7000.cmail_out(host, (struct scb *) &icb);