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;
scb357drivers/net/apricot.cmemcpy(skb_put(skb,pkt_len), lp->scb.rfd->data, pkt_len);
scb368drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0001) lp->stats.collisions++;
scb369drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0080) lp->stats.rx_length_errors++;
scb370drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0100) lp->stats.rx_over_errors++;
scb371drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0200) lp->stats.rx_fifo_errors++;
scb372drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0400) lp->stats.rx_frame_errors++;
scb373drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0800) lp->stats.rx_crc_errors++;
scb374drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x1000) lp->stats.rx_length_errors++;
scb377drivers/net/apricot.clp->scb.rfd->stat = 0;
scb379drivers/net/apricot.clp->rx_tail = lp->scb.rfd;
scb380drivers/net/apricot.clp->scb.rfd = lp->scb.rfd->next;
scb435drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb439drivers/net/apricot.clp->scb.status, lp->scb.command);
scb443drivers/net/apricot.clp->scb.cmd = lp->cmd_head;
scb453drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb457drivers/net/apricot.clp->scb.status, lp->scb.command);
scb464drivers/net/apricot.clp->scb.command = CUC_ABORT|RX_ABORT;
scb470drivers/net/apricot.cwhile ((lp->scb.status, lp->scb.command) || lp->scb.command)
scb474drivers/net/apricot.clp->scb.status, lp->scb.command);
scb507drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb511drivers/net/apricot.clp->scb.status, lp->scb.command);
scb515drivers/net/apricot.clp->scb.cmd = cmd;
scb516drivers/net/apricot.clp->scb.command = CUC_START;
scb522drivers/net/apricot.clp->cmd_head = lp->scb.cmd;
scb602drivers/net/apricot.clp->scb.command = CUC_START|RX_START;
scb747drivers/net/apricot.clp->scb.command = 0;
scb748drivers/net/apricot.clp->scb.cmd = (struct i596_cmd *) I596_NULL;
scb749drivers/net/apricot.clp->scb.rfd = (struct i596_rfd *)I596_NULL;
scb779drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb782drivers/net/apricot.cprintk("%s: i596 interrupt, timeout status %4.4x command %4.4x.\n", dev->name, lp->scb.status, lp->scb.command);
scb785drivers/net/apricot.cstatus = lp->scb.status;
scb880drivers/net/apricot.clp->scb.cmd = lp->cmd_head;
scb901drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb904drivers/net/apricot.cprintk("%s: i596 interrupt, timeout status %4.4x command %4.4x.\n", dev->name, lp->scb.status, lp->scb.command);
scb907drivers/net/apricot.clp->scb.command = ack_cmd;
scb932drivers/net/apricot.cdev->name, lp->scb.status);
scb934drivers/net/apricot.clp->scb.command = CUC_ABORT|RX_ABORT;
scb939drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb943drivers/net/apricot.cdev->name, lp->scb.status, lp->scb.command);
scb143drivers/net/ni52.cif(!p->scb->cmd) break; \
scb186drivers/net/ni52.cvolatile struct scb_struct  *scb;  /* volatile is important */
scb290drivers/net/ni52.cp->scb  = (struct scb_struct *)  (dev->mem_start);
scb298drivers/net/ni52.cp->iscp->scb_offset = make16(p->scb);
scb309drivers/net/ni52.cmemset((char *)p->scb,0,sizeof(struct scb_struct));
scb458drivers/net/ni52.cptr = (void *) ((char *)p->scb + sizeof(struct scb_struct));
scb476drivers/net/ni52.cp->scb->cbl_offset = make16(cfg_cmd);
scb478drivers/net/ni52.cp->scb->cmd = CUC_START; /* cmd.-unit start */
scb502drivers/net/ni52.cp->scb->cbl_offset = make16(ias_cmd);
scb504drivers/net/ni52.cp->scb->cmd = CUC_START; /* cmd.-unit start */
scb526drivers/net/ni52.cp->scb->cbl_offset = make16(tdr_cmd);
scb528drivers/net/ni52.cp->scb->cmd = CUC_START; /* cmd.-unit start */
scb543drivers/net/ni52.cp->scb->cmd = p->scb->status & STAT_MASK;
scb563drivers/net/ni52.cp->scb->cmd = p->scb->status & STAT_MASK;
scb620drivers/net/ni52.cp->scb->cbl_offset = make16(mc_cmd);
scb621drivers/net/ni52.cp->scb->cmd = CUC_START;
scb665drivers/net/ni52.cp->scb->cbl_offset = make16(p->nop_cmds[0]);
scb666drivers/net/ni52.cp->scb->cmd = CUC_START;
scb715drivers/net/ni52.cp->scb->rfa_offset    = make16(p->rfd_first);
scb740drivers/net/ni52.cwhile((stat=p->scb->status & STAT_MASK))
scb742drivers/net/ni52.cp->scb->cmd = stat;
scb755drivers/net/ni52.cprintk("%s: oops! CU has left active state. stat: %04x/%04x.\n",dev->name,(int) stat,(int) p->scb->status);
scb761drivers/net/ni52.cif(p->scb->status & RU_SUSPEND) /* special case: RU_SUSPEND */
scb764drivers/net/ni52.cp->scb->cmd = RUC_RESUME;
scb769drivers/net/ni52.cprintk("%s: Receiver-Unit went 'NOT READY': %04x/%04x.\n",dev->name,(int) stat,(int) p->scb->status);
scb774drivers/net/ni52.cif(p->scb->cmd)   /* timed out? */
scb846drivers/net/ni52.cp->scb->cmd = RUC_ABORT; /* usually the RU is in the 'no resource'-state .. abort it now. */
scb853drivers/net/ni52.cprintk("%s: Receive-Unit restarted. Status: %04x\n",dev->name,p->scb->status);
scb915drivers/net/ni52.cp->scb->rfa_offset = make16(p->rfd_first);
scb916drivers/net/ni52.cp->scb->cmd = RUC_START;
scb939drivers/net/ni52.cif(p->scb->status & CU_ACTIVE) /* COMMAND-UNIT active? */
scb946drivers/net/ni52.cp->scb->cmd = CUC_ABORT;
scb949drivers/net/ni52.cp->scb->cbl_offset = make16(p->nop_cmds[p->nop_point]);
scb950drivers/net/ni52.cp->scb->cmd = CUC_START;
scb959drivers/net/ni52.cprintk("%s: xmitter timed out, try to restart! stat: %04x\n",dev->name,p->scb->status);
scb995drivers/net/ni52.cp->scb->cbl_offset = make16(p->xmit_cmds[0]);
scb996drivers/net/ni52.cp->scb->cmd = CUC_START;
scb1004drivers/net/ni52.cif( (p->scb->status & CU_ACTIVE)) /* test it, because CU sometimes doesn't start immediately */
scb1057drivers/net/ni52.ccrc = p->scb->crc_errs; /* get error-statistic from the ni82586 */
scb1058drivers/net/ni52.cp->scb->crc_errs -= crc;
scb1059drivers/net/ni52.caln = p->scb->aln_errs;
scb1060drivers/net/ni52.cp->scb->aln_errs -= aln;
scb1061drivers/net/ni52.crsc = p->scb->rsc_errs;
scb1062drivers/net/ni52.cp->scb->rsc_errs -= rsc;
scb1063drivers/net/ni52.covrn = p->scb->ovrn_errs;
scb1064drivers/net/ni52.cp->scb->ovrn_errs -= ovrn;
scb546drivers/net/wavelan.cscb_t    scb;
scb593drivers/net/wavelan.cmemset(&scb, 0x00, sizeof(scb));
scb594drivers/net/wavelan.cscb.scb_command = SCB_CMD_RESET;
scb595drivers/net/wavelan.cscb.scb_cbl_offset = OFFSET_CU;
scb596drivers/net/wavelan.cscb.scb_rfa_offset = OFFSET_RU;
scb597drivers/net/wavelan.cobram_write(ioaddr, OFFSET_SCB, (unsigned char *)&scb, sizeof(scb));
scb621drivers/net/wavelan.cobram_read(ioaddr, OFFSET_SCB, (unsigned char *)&scb, sizeof(scb));
scb623drivers/net/wavelan.cif (scb.scb_status == (SCB_ST_CX | SCB_ST_CNA))
scb631drivers/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);
scb2350drivers/net/wavelan.cscb_t  scb;
scb2352drivers/net/wavelan.cobram_read(ioaddr, OFFSET_SCB, (unsigned char *)&scb, sizeof(scb));   
scb2360drivers/net/wavelan.c(scb.scb_status & (SCB_ST_CX | SCB_ST_FR | SCB_ST_CNA | SCB_ST_RNR)) >> 12,
scb2361drivers/net/wavelan.c(scb.scb_status & SCB_ST_CX) ? "cmd completion interrupt," : "",
scb2362drivers/net/wavelan.c(scb.scb_status & SCB_ST_FR) ? "frame received," : "",
scb2363drivers/net/wavelan.c(scb.scb_status & SCB_ST_CNA) ? "cmd unit not active," : "",
scb2364drivers/net/wavelan.c(scb.scb_status & SCB_ST_RNR) ? "rcv unit not ready," : ""
scb2369drivers/net/wavelan.c(scb.scb_status & SCB_ST_CUS) >> 8,
scb2370drivers/net/wavelan.c((scb.scb_status & SCB_ST_CUS) == SCB_ST_CUS_IDLE) ? "idle" : "",
scb2371drivers/net/wavelan.c((scb.scb_status & SCB_ST_CUS) == SCB_ST_CUS_SUSP) ? "suspended" : "",
scb2372drivers/net/wavelan.c((scb.scb_status & SCB_ST_CUS) == SCB_ST_CUS_ACTV) ? "active" : ""
scb2377drivers/net/wavelan.c(scb.scb_status & SCB_ST_RUS) >> 4,
scb2378drivers/net/wavelan.c((scb.scb_status & SCB_ST_RUS) == SCB_ST_RUS_IDLE) ? "idle" : "",
scb2379drivers/net/wavelan.c((scb.scb_status & SCB_ST_RUS) == SCB_ST_RUS_SUSP) ? "suspended" : "",
scb2380drivers/net/wavelan.c((scb.scb_status & SCB_ST_RUS) == SCB_ST_RUS_NRES) ? "no resources" : "",
scb2381drivers/net/wavelan.c((scb.scb_status & SCB_ST_RUS) == SCB_ST_RUS_RDY) ? "ready" : ""
scb2388drivers/net/wavelan.c(scb.scb_command & (SCB_CMD_ACK_CX | SCB_CMD_ACK_FR | SCB_CMD_ACK_CNA | SCB_CMD_ACK_RNR)) >> 12,
scb2389drivers/net/wavelan.c(scb.scb_command & SCB_CMD_ACK_CX) ? "ack cmd completion," : "",
scb2390drivers/net/wavelan.c(scb.scb_command & SCB_CMD_ACK_FR) ? "ack frame received," : "",
scb2391drivers/net/wavelan.c(scb.scb_command & SCB_CMD_ACK_CNA) ? "ack CU not active," : "",
scb2392drivers/net/wavelan.c(scb.scb_command & SCB_CMD_ACK_RNR) ? "ack RU not ready," : ""
scb2397drivers/net/wavelan.c(scb.scb_command & SCB_CMD_CUC) >> 8,
scb2398drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_NOP) ? "nop" : "",
scb2399drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_GO) ? "start cbl_offset" : "",
scb2400drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_RES) ? "resume execution" : "",
scb2401drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_SUS) ? "suspend execution" : "",
scb2402drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_ABT) ? "abort execution" : ""
scb2407drivers/net/wavelan.c(scb.scb_command & SCB_CMD_RUC) >> 4,
scb2408drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_NOP) ? "nop" : "",
scb2409drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_GO) ? "start rfa_offset" : "",
scb2410drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_RES) ? "resume reception" : "",
scb2411drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_SUS) ? "suspend reception" : "",
scb2412drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_ABT) ? "abort reception" : ""
scb2415drivers/net/wavelan.cprintk(" cbl_offset 0x%x", scb.scb_cbl_offset);
scb2416drivers/net/wavelan.cprintk(" rfa_offset 0x%x", scb.scb_rfa_offset);
scb2418drivers/net/wavelan.cprintk(" crcerrs %d", scb.scb_crcerrs);
scb2419drivers/net/wavelan.cprintk(" alnerrs %d", scb.scb_alnerrs);
scb2420drivers/net/wavelan.cprintk(" rscerrs %d", scb.scb_rscerrs);
scb2421drivers/net/wavelan.cprintk(" ovrnerrs %d", scb.scb_ovrnerrs);
scb1268drivers/scsi/aic7xxx.caic7xxx_putscb(int base, struct aic7xxx_scb *scb)
scb1276drivers/scsi/aic7xxx.coutb(scb->position, QINFIFO(base));
scb1290drivers/scsi/aic7xxx.c:"S" (scb), "c" (SCB_DOWNLOAD_SIZE), "d" (SCBARRAY(base))
scb1305drivers/scsi/aic7xxx.caic7xxx_putdmascb(int base, struct aic7xxx_scb *scb)
scb1319drivers/scsi/aic7xxx.c:"S" (scb), "c" (31), "d" (SCBARRAY(base))
scb1333drivers/scsi/aic7xxx.caic7xxx_getscb(int base, struct aic7xxx_scb *scb)
scb1344drivers/scsi/aic7xxx.c:"D" (scb), "c" (SCB_UPLOAD_SIZE), "d" (SCBARRAY(base))
scb1430drivers/scsi/aic7xxx.cstruct aic7xxx_scb *scb;
scb1540drivers/scsi/aic7xxx.cscb = &(p->scb_array[scbptr]);
scb1551drivers/scsi/aic7xxx.cscb->cmd->device->tagged_supported = 0;
scb1552drivers/scsi/aic7xxx.cscb->cmd->device->tagged_queue = 0;
scb1795drivers/scsi/aic7xxx.cscb = &(p->scb_array[scbptr]);
scb1797drivers/scsi/aic7xxx.cif ((scb->state != SCB_ACTIVE) || (scb->cmd == NULL))
scb1801drivers/scsi/aic7xxx.cintstat, scbptr, scb->state, (unsigned int) scb->cmd);
scb1805drivers/scsi/aic7xxx.ccmd = scb->cmd;
scb1806drivers/scsi/aic7xxx.caic7xxx_getscb(base, scb);
scb1807drivers/scsi/aic7xxx.caic7xxx_status(cmd) = scb->target_status;
scb1809drivers/scsi/aic7xxx.ccmd->result = cmd->result | scb->target_status;
scb1815drivers/scsi/aic7xxx.cswitch (status_byte(scb->target_status))
scb1833drivers/scsi/aic7xxx.cmemcpy((void *) scb->sense_cmd, (void *) generic_sense,
scb1836drivers/scsi/aic7xxx.cscb->sense_cmd[1] = cmd->lun << 5;
scb1837drivers/scsi/aic7xxx.cscb->sense_cmd[4] = sizeof(cmd->sense_buffer);
scb1840drivers/scsi/aic7xxx.cscb->sense_sg.address = (char *) &cmd->sense_buffer;
scb1841drivers/scsi/aic7xxx.cscb->sense_sg.length = sizeof(cmd->sense_buffer);
scb1842drivers/scsi/aic7xxx.creq_buf = &scb->sense_sg;
scb1848drivers/scsi/aic7xxx.cmemset(scb, 0, SCB_DOWNLOAD_SIZE);
scb1849drivers/scsi/aic7xxx.cscb->target_channel_lun = ((cmd->target << 4) & 0xF0) |
scb1851drivers/scsi/aic7xxx.caddr = scb->sense_cmd;
scb1852drivers/scsi/aic7xxx.cscb->SCSI_cmd_length = COMMAND_SIZE(scb->sense_cmd[0]);
scb1853drivers/scsi/aic7xxx.cmemcpy(scb->SCSI_cmd_pointer, &addr,
scb1854drivers/scsi/aic7xxx.csizeof(scb->SCSI_cmd_pointer));
scb1856drivers/scsi/aic7xxx.cscb->SG_segment_count = 1;
scb1857drivers/scsi/aic7xxx.cmemcpy(scb->SG_list_pointer, &req_buf,
scb1858drivers/scsi/aic7xxx.csizeof(scb->SG_list_pointer));
scb1860drivers/scsi/aic7xxx.cscb->SG_segment_count = 0;
scb1861drivers/scsi/aic7xxx.cmemcpy(scb->data_pointer, &req_buf,
scb1862drivers/scsi/aic7xxx.csizeof(scb->data_pointer));
scb1863drivers/scsi/aic7xxx.cmemcpy(scb->data_count, &req_buflen, 3);
scb1871drivers/scsi/aic7xxx.c:"S" (scb), "c" (SCB_DOWNLOAD_SIZE), "d" (SCBARRAY(base))
scb1883drivers/scsi/aic7xxx.chead = scb->position;
scb1890drivers/scsi/aic7xxx.ctail = scb->position;
scb1897drivers/scsi/aic7xxx.ctail = scb->position;
scb1934drivers/scsi/aic7xxx.cscb->target_status);
scb1946drivers/scsi/aic7xxx.cscb = &(p->scb_array[scbptr]);
scb1947drivers/scsi/aic7xxx.cif ((scb->state != SCB_ACTIVE) || (scb->cmd == NULL))
scb1951drivers/scsi/aic7xxx.cintstat, scbptr, scb->state, (unsigned int) scb->cmd);
scb1955drivers/scsi/aic7xxx.ccmd = scb->cmd;
scb1968drivers/scsi/aic7xxx.cactual = aic7xxx_length(cmd, scb->residual_SG_segment_count);
scb1981drivers/scsi/aic7xxx.caic7xxx_status(cmd) = scb->target_status;
scb1989drivers/scsi/aic7xxx.cscb = &(p->scb_array[scbptr]);
scb1990drivers/scsi/aic7xxx.cif ((scb->state != SCB_ACTIVE) || (scb->cmd == NULL))
scb1994drivers/scsi/aic7xxx.cintstat, scbptr, scb->state, (unsigned int) scb->cmd);
scb1998drivers/scsi/aic7xxx.ccmd = scb->cmd;
scb2018drivers/scsi/aic7xxx.cscb->state = SCB_FREE;
scb2019drivers/scsi/aic7xxx.cscb->cmd = NULL;
scb2020drivers/scsi/aic7xxx.cscb->next = p->free_scb;      /* preserve next pointer */
scb2021drivers/scsi/aic7xxx.cp->free_scb = scb;            /* add at head of list */
scb2031drivers/scsi/aic7xxx.cscb = &(p->scb_array[scbptr]);
scb2032drivers/scsi/aic7xxx.cif ((scb->state != SCB_ACTIVE) || (scb->cmd == NULL))
scb2036drivers/scsi/aic7xxx.cintstat, scbptr, scb->state, (unsigned int) scb->cmd);
scb2045drivers/scsi/aic7xxx.cif (scb->state & SCB_DEVICE_RESET)
scb2072drivers/scsi/aic7xxx.cscb = &p->scb_array[scbptr];
scb2073drivers/scsi/aic7xxx.cif ((scb->state != SCB_ACTIVE) || (scb->cmd == NULL))
scb2085drivers/scsi/aic7xxx.cscb = NULL;
scb2089drivers/scsi/aic7xxx.ccmd = scb->cmd;
scb2116drivers/scsi/aic7xxx.cif (scb->target_channel_lun & 0x88)
scb2170drivers/scsi/aic7xxx.cscb->state = SCB_FREE;
scb2171drivers/scsi/aic7xxx.cscb->cmd = NULL;
scb2172drivers/scsi/aic7xxx.cscb->next = p->free_scb;        /* preserve next pointer */
scb2173drivers/scsi/aic7xxx.cp->free_scb = scb;              /* add at head of list */
scb2180drivers/scsi/aic7xxx.cscb->position, scb->state, (unsigned int) scb->cmd);
scb2205drivers/scsi/aic7xxx.cscb = NULL;
scb2219drivers/scsi/aic7xxx.cscb = NULL;
scb2238drivers/scsi/aic7xxx.cscb = &(p->scb_array[complete]);
scb2239drivers/scsi/aic7xxx.cif ((scb->state != SCB_ACTIVE) || (scb->cmd == NULL))
scb2245drivers/scsi/aic7xxx.cscb->state, (unsigned int) scb->cmd);
scb2249drivers/scsi/aic7xxx.ccmd = scb->cmd;
scb2258drivers/scsi/aic7xxx.cscb->state, (unsigned int) scb->cmd, (unsigned int) p->free_scb);
scb2267drivers/scsi/aic7xxx.cscb->state = SCB_FREE;
scb2268drivers/scsi/aic7xxx.cscb->next = p->free_scb;
scb2269drivers/scsi/aic7xxx.cscb->cmd = NULL;
scb2270drivers/scsi/aic7xxx.cp->free_scb = &(p->scb_array[scb->position]);
scb2274drivers/scsi/aic7xxx.cif (scb != &p->scb_array[scb->position])
scb2276drivers/scsi/aic7xxx.cprintk("aic7xxx_isr: (complete) address mismatch, pos %d\n", scb->position);
scb2279drivers/scsi/aic7xxx.cscb->state, (unsigned int) scb->cmd, (unsigned int) p->free_scb);
scb3406drivers/scsi/aic7xxx.cstruct aic7xxx_scb *scb)
scb3428drivers/scsi/aic7xxx.cscb->control = scb->control | SCB_TE;
scb3435drivers/scsi/aic7xxx.cscb->control = scb->control | SCB_NEEDWDTR;
scb3445drivers/scsi/aic7xxx.cscb->control = scb->control | SCB_NEEDSDTR;
scb3456drivers/scsi/aic7xxx.cscb->target_channel_lun = ((cmd->target << 4) & 0xF0) |
scb3481drivers/scsi/aic7xxx.cscb->SCSI_cmd_length = cmd->cmd_len;
scb3482drivers/scsi/aic7xxx.cmemcpy(scb->SCSI_cmd_pointer, &addr, sizeof(scb->SCSI_cmd_pointer));
scb3490drivers/scsi/aic7xxx.cscb->SG_segment_count = cmd->use_sg;
scb3491drivers/scsi/aic7xxx.cmemcpy(scb->SG_list_pointer, &cmd->request_buffer,
scb3492drivers/scsi/aic7xxx.csizeof(scb->SG_list_pointer));
scb3501drivers/scsi/aic7xxx.cscb->SG_segment_count = 1;
scb3502drivers/scsi/aic7xxx.cscb->sg.address = (char *) cmd->request_buffer;
scb3503drivers/scsi/aic7xxx.cscb->sg.length = cmd->request_bufflen;
scb3504drivers/scsi/aic7xxx.caddr = &scb->sg;
scb3505drivers/scsi/aic7xxx.cmemcpy(scb->SG_list_pointer, &addr, sizeof(scb->SG_list_pointer));
scb3507drivers/scsi/aic7xxx.cscb->SG_segment_count = 0;
scb3508drivers/scsi/aic7xxx.cmemcpy(scb->data_pointer, &cmd->request_buffer, sizeof(scb->data_pointer));
scb3509drivers/scsi/aic7xxx.cmemcpy(scb->data_count, &cmd->request_bufflen, 3);
scb3529drivers/scsi/aic7xxx.cstruct aic7xxx_scb *scb;
scb3574drivers/scsi/aic7xxx.cscb = p->free_scb;
scb3575drivers/scsi/aic7xxx.cif (scb != NULL)
scb3577drivers/scsi/aic7xxx.cp->free_scb = scb->next;   /* remove and update head of list */
scb3585drivers/scsi/aic7xxx.cscb = &(p->scb_array[scb->position]);
scb3586drivers/scsi/aic7xxx.cscb->control = 0;
scb3587drivers/scsi/aic7xxx.cscb->state = SCB_ACTIVE;
scb3602drivers/scsi/aic7xxx.cscb = &(p->scb_array[p->numscb]);
scb3603drivers/scsi/aic7xxx.cmemset(scb, 0, sizeof(*scb));
scb3605drivers/scsi/aic7xxx.cscb->position = p->numscb;
scb3607drivers/scsi/aic7xxx.cscb->state = SCB_ACTIVE;
scb3608drivers/scsi/aic7xxx.cscb->next_waiting = SCB_LIST_NULL;
scb3609drivers/scsi/aic7xxx.cmemcpy(scb->host_scb, &scb, sizeof(scb));
scb3611drivers/scsi/aic7xxx.cscb->control = SCB_NEEDDMA;
scb3615drivers/scsi/aic7xxx.coutb(scb->position, SCBPTR(p->base));
scb3616drivers/scsi/aic7xxx.caic7xxx_putdmascb(p->base, scb);
scb3619drivers/scsi/aic7xxx.cscb->control = 0;
scb3623drivers/scsi/aic7xxx.cscb->cmd = cmd;
scb3624drivers/scsi/aic7xxx.caic7xxx_position(cmd) = scb->position;
scb3630drivers/scsi/aic7xxx.caic7xxx_buildscb(p, cmd, scb);
scb3633drivers/scsi/aic7xxx.cif (scb != &p->scb_array[scb->position])
scb3638drivers/scsi/aic7xxx.cscb->position, (unsigned int) scb->cmd,
scb3639drivers/scsi/aic7xxx.cscb->state, (unsigned int) p->free_scb);
scb3656drivers/scsi/aic7xxx.caic7xxx_putscb(p->base, scb);
scb3659drivers/scsi/aic7xxx.coutb(scb->position, SCBPTR(p->base));
scb3661drivers/scsi/aic7xxx.caic7xxx_putscb(p->base, scb);
scb3663drivers/scsi/aic7xxx.coutb(scb->position, QINFIFO(p->base));
scb3717drivers/scsi/aic7xxx.cstruct aic7xxx_scb *scb;
scb3725drivers/scsi/aic7xxx.cscb = &p->scb_array[aic7xxx_position(cmd)];
scb3745drivers/scsi/aic7xxx.cif (scbsave[i] == scb->position)
scb3772drivers/scsi/aic7xxx.cif (active_scb != scb->position)
scb3774drivers/scsi/aic7xxx.coutb(scb->position, SCBPTR(p->base));
scb3867drivers/scsi/aic7xxx.cscb->state = SCB_FREE;          /* mark the scb as free */
scb3868drivers/scsi/aic7xxx.cscb->cmd = NULL;                /* clear the command pointer */
scb3869drivers/scsi/aic7xxx.cscb->next = p->free_scb;        /* preserve next pointer */
scb3870drivers/scsi/aic7xxx.cp->free_scb = scb;              /* add at head of free list */
scb347drivers/scsi/wd7000.cstruct scb *next;             /* for lists of scbs */
scb601drivers/scsi/wd7000.cregister Scb *scb, *p;
scb637drivers/scsi/wd7000.cscb = scbfree;  freescbs -= needed;
scb645drivers/scsi/wd7000.creturn scb;
scb649drivers/scsi/wd7000.cstatic inline void free_scb( Scb *scb )
scb656drivers/scsi/wd7000.cmemset(scb, 0, sizeof(Scb));
scb657drivers/scsi/wd7000.cscb->next = scbfree;  scbfree = scb;
scb808drivers/scsi/wd7000.cregister Scb *scb;             /* for SCSI commands */
scb864drivers/scsi/wd7000.cscb = (struct scb *) scsi2int((unchar *)icmbs[icmb].scbptr);
scb866drivers/scsi/wd7000.cif (!(scb->op & ICB_OP_MASK))  {   /* an SCB is done */
scb867drivers/scsi/wd7000.cSCpnt = scb->SCpnt;
scb869drivers/scsi/wd7000.chost_error = scb->vue | (icmb_status << 8);
scb870drivers/scsi/wd7000.cscsi_error = scb->status;
scb874drivers/scsi/wd7000.cfree_scb(scb);
scb879drivers/scsi/wd7000.cicb = (IcbAny *) scb;
scb893drivers/scsi/wd7000.cregister Scb *scb;
scb904drivers/scsi/wd7000.cscb = alloc_scbs(1);
scb905drivers/scsi/wd7000.cscb->idlun = idlun;
scb906drivers/scsi/wd7000.cmemcpy(scb->cdb, cdb, cdblen);
scb907drivers/scsi/wd7000.cscb->direc = 0x40;    /* Disable direction check */
scb909drivers/scsi/wd7000.cscb->SCpnt = SCpnt;         /* so we can find stuff later */
scb910drivers/scsi/wd7000.cSCpnt->host_scribble = (unchar *) scb;
scb911drivers/scsi/wd7000.cscb->host = host;
scb924drivers/scsi/wd7000.csgb = scb->sgb;
scb925drivers/scsi/wd7000.cscb->op = 1;
scb926drivers/scsi/wd7000.cany2scsi(scb->dataptr, (int) sgb);
scb927drivers/scsi/wd7000.cany2scsi(scb->maxlen, SCpnt->use_sg * sizeof (Sgb) );
scb934drivers/scsi/wd7000.cscb->op = 0;
scb935drivers/scsi/wd7000.cany2scsi(scb->dataptr, (int) SCpnt->request_buffer);
scb936drivers/scsi/wd7000.cany2scsi(scb->maxlen, SCpnt->request_bufflen);
scb938drivers/scsi/wd7000.cwhile (!mail_out(host, scb)) /* keep trying */;
scb969drivers/scsi/wd7000.cmail_out(host, (struct scb *) &icb);
scb1081drivers/scsi/wd7000.cmail_out(host, (struct scb *) &icb);