taglinefilesource code
scb140drivers/net/apricot.cstruct i596_scb *scb;
scb152drivers/net/apricot.cstruct i596_scb scb;
scb201drivers/net/apricot.clp->scb.rfd = (struct i596_rfd *)I596_NULL;
scb222drivers/net/apricot.crfd->next = lp->scb.rfd;
scb223drivers/net/apricot.clp->scb.rfd = rfd;
scb227drivers/net/apricot.clp->rx_tail->next = lp->scb.rfd;
scb236drivers/net/apricot.cstruct i596_rfd *rfd = lp->scb.rfd;
scb242drivers/net/apricot.clp->scb.rfd = rfd->next;
scb244drivers/net/apricot.crfd = lp->scb.rfd;
scb267drivers/net/apricot.clp->iscp.scb = &(lp->scb);
scb271drivers/net/apricot.clp->cmd_head = lp->scb.cmd = (struct i596_cmd *) I596_NULL;
scb283drivers/net/apricot.cdev->name, lp->scb.status, lp->scb.command);
scb287drivers/net/apricot.clp->scb.command = 0;
scb301drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb305drivers/net/apricot.cdev->name, lp->scb.status, lp->scb.command);
scb309drivers/net/apricot.clp->scb.command = RX_START;
scb313drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb317drivers/net/apricot.clp->scb.status, lp->scb.command);
scb332drivers/net/apricot.cwhile ((lp->scb.rfd->stat) & STAT_C)
scb334drivers/net/apricot.cif (i596_debug >2) print_eth(lp->scb.rfd->data);
scb336drivers/net/apricot.cif ((lp->scb.rfd->stat) & STAT_OK)
scb339drivers/net/apricot.cint pkt_len = lp->scb.rfd->count & 0x3fff;
scb352drivers/net/apricot.cmemcpy(skb_put(skb,pkt_len), lp->scb.rfd->data, pkt_len);
scb363drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0001) lp->stats.collisions++;
scb364drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0080) lp->stats.rx_length_errors++;
scb365drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0100) lp->stats.rx_over_errors++;
scb366drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0200) lp->stats.rx_fifo_errors++;
scb367drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0400) lp->stats.rx_frame_errors++;
scb368drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x0800) lp->stats.rx_crc_errors++;
scb369drivers/net/apricot.cif ((lp->scb.rfd->stat) & 0x1000) lp->stats.rx_length_errors++;
scb372drivers/net/apricot.clp->scb.rfd->stat = 0;
scb374drivers/net/apricot.clp->rx_tail = lp->scb.rfd;
scb375drivers/net/apricot.clp->scb.rfd = lp->scb.rfd->next;
scb430drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb434drivers/net/apricot.clp->scb.status, lp->scb.command);
scb438drivers/net/apricot.clp->scb.cmd = lp->cmd_head;
scb448drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb452drivers/net/apricot.clp->scb.status, lp->scb.command);
scb459drivers/net/apricot.clp->scb.command = CUC_ABORT|RX_ABORT;
scb465drivers/net/apricot.cwhile ((lp->scb.status, lp->scb.command) || lp->scb.command)
scb469drivers/net/apricot.clp->scb.status, lp->scb.command);
scb502drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb506drivers/net/apricot.clp->scb.status, lp->scb.command);
scb510drivers/net/apricot.clp->scb.cmd = cmd;
scb511drivers/net/apricot.clp->scb.command = CUC_START;
scb517drivers/net/apricot.clp->cmd_head = lp->scb.cmd;
scb595drivers/net/apricot.clp->scb.command = CUC_START|RX_START;
scb738drivers/net/apricot.clp->scb.command = 0;
scb739drivers/net/apricot.clp->scb.cmd = (struct i596_cmd *) I596_NULL;
scb740drivers/net/apricot.clp->scb.rfd = (struct i596_rfd *)I596_NULL;
scb770drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb773drivers/net/apricot.cprintk("%s: i596 interrupt, timeout status %4.4x command %4.4x.\n", dev->name, lp->scb.status, lp->scb.command);
scb776drivers/net/apricot.cstatus = lp->scb.status;
scb871drivers/net/apricot.clp->scb.cmd = lp->cmd_head;
scb892drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb895drivers/net/apricot.cprintk("%s: i596 interrupt, timeout status %4.4x command %4.4x.\n", dev->name, lp->scb.status, lp->scb.command);
scb898drivers/net/apricot.clp->scb.command = ack_cmd;
scb923drivers/net/apricot.cdev->name, lp->scb.status);
scb925drivers/net/apricot.clp->scb.command = CUC_ABORT|RX_ABORT;
scb930drivers/net/apricot.cwhile (lp->scb.status, lp->scb.command)
scb934drivers/net/apricot.cdev->name, lp->scb.status, lp->scb.command);
scb166drivers/net/ni52.cif(!p->scb->cmd_cuc) break; \
scb169drivers/net/ni52.cprintk("%s: scb_cmd timed out: %04x,%04x .. disabling i82586!!\n",dev->name,p->scb->cmd_cuc,p->scb->cus); \
scb174drivers/net/ni52.cif(!p->scb->cmd_ruc) break; \
scb177drivers/net/ni52.cprintk("%s: scb_cmd (ruc) timed out: %04x,%04x .. disabling i82586!!\n",dev->name,p->scb->cmd_ruc,p->scb->rus); \
scb220drivers/net/ni52.cvolatile struct scb_struct  *scb;  /* volatile is important */
scb331drivers/net/ni52.cp->scb  = (struct scb_struct *)  (dev->mem_start);
scb339drivers/net/ni52.cp->iscp->scb_offset = make16(p->scb);
scb352drivers/net/ni52.cmemset((char *)p->scb,0,sizeof(struct scb_struct));
scb546drivers/net/ni52.cptr = (void *) ((char *)p->scb + sizeof(struct scb_struct));
scb576drivers/net/ni52.cp->scb->cbl_offset = make16(cfg_cmd);
scb577drivers/net/ni52.cp->scb->cmd_ruc = 0;
scb579drivers/net/ni52.cp->scb->cmd_cuc = CUC_START; /* cmd.-unit start */
scb601drivers/net/ni52.cp->scb->cbl_offset = make16(ias_cmd);
scb603drivers/net/ni52.cp->scb->cmd_cuc = CUC_START; /* cmd.-unit start */
scb623drivers/net/ni52.cp->scb->cbl_offset = make16(tdr_cmd);
scb624drivers/net/ni52.cp->scb->cmd_cuc = CUC_START; /* cmd.-unit start */
scb638drivers/net/ni52.cp->scb->cmd_cuc = p->scb->cus & STAT_MASK;
scb670drivers/net/ni52.cp->scb->cbl_offset = make16(mc_cmd);
scb671drivers/net/ni52.cp->scb->cmd_cuc = CUC_START;
scb741drivers/net/ni52.cp->scb->cbl_offset = make16(p->nop_cmds[0]);
scb742drivers/net/ni52.cp->scb->cmd_cuc = CUC_START;
scb753drivers/net/ni52.cp->scb->cmd_cuc = p->scb->cus & STAT_MASK;
scb802drivers/net/ni52.cp->scb->rfa_offset    = make16(p->rfd_first);
scb833drivers/net/ni52.cwhile((stat=p->scb->cus & STAT_MASK))
scb835drivers/net/ni52.cp->scb->cmd_cuc = stat;
scb844drivers/net/ni52.cif(p->scb->rus & RU_SUSPEND) /* special case: RU_SUSPEND */
scb847drivers/net/ni52.cp->scb->cmd_ruc = RUC_RESUME;
scb853drivers/net/ni52.cprintk("%s: Receiver-Unit went 'NOT READY': %04x/%02x.\n",dev->name,(int) stat,(int) p->scb->rus);
scb865drivers/net/ni52.cprintk("%s: oops! CU has left active state. stat: %04x/%02x.\n",dev->name,(int) stat,(int) p->scb->cus);
scb873drivers/net/ni52.cif(p->scb->cmd_cuc)   /* timed out? */
scb959drivers/net/ni52.cp->scb->rfa_offset = make16(p->rfd_top);
scb968drivers/net/ni52.cp->scb->cmd_ruc = RUC_RESUME;
scb1000drivers/net/ni52.cprintk("\nerrs: %04x %04x stat: %04x\n",(int)p->scb->rsc_errs,(int)p->scb->ovrn_errs,(int)p->scb->status);
scb1001drivers/net/ni52.cprintk("\nerrs: %04x %04x rus: %02x, cus: %02x\n",(int)p->scb->rsc_errs,(int)p->scb->ovrn_errs,(int)p->scb->rus,(int)p->scb->cus);  
scb1021drivers/net/ni52.cp->scb->cmd_ruc = RUC_ABORT; /* usually the RU is in the 'no resource'-state .. abort it now. */
scb1029drivers/net/ni52.cprintk("%s: Receive-Unit restarted. Status: %04x\n",dev->name,p->scb->rus);
scb1096drivers/net/ni52.cp->scb->rfa_offset = make16(p->rfd_first);
scb1097drivers/net/ni52.cp->scb->cmd_ruc = RUC_START;
scb1121drivers/net/ni52.cif(p->scb->cus & CU_ACTIVE) /* COMMAND-UNIT active? */
scb1128drivers/net/ni52.cp->scb->cmd_cuc = CUC_ABORT;
scb1131drivers/net/ni52.cp->scb->cbl_offset = make16(p->nop_cmds[p->nop_point]);
scb1132drivers/net/ni52.cp->scb->cmd_cuc = CUC_START;
scb1142drivers/net/ni52.cprintk("%s: xmitter timed out, try to restart! stat: %02x\n",dev->name,p->scb->cus);
scb1186drivers/net/ni52.cif(p->scb->cus & CU_ACTIVE)
scb1189drivers/net/ni52.cprintk("%s: stat: %04x %04x\n",dev->name,p->scb->cus,p->xmit_cmds[0]->cmd_status);
scb1198drivers/net/ni52.cif( (p->scb->cus & CU_STATUS) == CU_SUSPEND)
scb1199drivers/net/ni52.cp->scb->cmd_cuc = CUC_RESUME;
scb1202drivers/net/ni52.cp->scb->cbl_offset = make16(p->xmit_cmds[0]);
scb1203drivers/net/ni52.cp->scb->cmd_cuc = CUC_START;
scb1211drivers/net/ni52.cif( (p->scb->cus & CU_ACTIVE)) /* test it, because CU sometimes doesn't start immediately */
scb1269drivers/net/ni52.ccrc = p->scb->crc_errs; /* get error-statistic from the ni82586 */
scb1270drivers/net/ni52.cp->scb->crc_errs = 0;
scb1271drivers/net/ni52.caln = p->scb->aln_errs;
scb1272drivers/net/ni52.cp->scb->aln_errs = 0;
scb1273drivers/net/ni52.crsc = p->scb->rsc_errs;
scb1274drivers/net/ni52.cp->scb->rsc_errs = 0;
scb1275drivers/net/ni52.covrn = p->scb->ovrn_errs;
scb1276drivers/net/ni52.cp->scb->ovrn_errs = 0;
scb1355drivers/net/ni52.cp->scb->cmd_cuc = CUC_ABORT;
scb1365drivers/net/ni52.cp->scb->cbl_offset = make16(dump_cmd);
scb1366drivers/net/ni52.cp->scb->cmd_cuc = CUC_START;
scb541drivers/net/wavelan.cscb_t    scb;
scb588drivers/net/wavelan.cmemset(&scb, 0x00, sizeof(scb));
scb589drivers/net/wavelan.cscb.scb_command = SCB_CMD_RESET;
scb590drivers/net/wavelan.cscb.scb_cbl_offset = OFFSET_CU;
scb591drivers/net/wavelan.cscb.scb_rfa_offset = OFFSET_RU;
scb592drivers/net/wavelan.cobram_write(ioaddr, OFFSET_SCB, (unsigned char *)&scb, sizeof(scb));
scb616drivers/net/wavelan.cobram_read(ioaddr, OFFSET_SCB, (unsigned char *)&scb, sizeof(scb));
scb618drivers/net/wavelan.cif (scb.scb_status == (SCB_ST_CX | SCB_ST_CNA))
scb626drivers/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);
scb2337drivers/net/wavelan.cscb_t  scb;
scb2339drivers/net/wavelan.cobram_read(ioaddr, OFFSET_SCB, (unsigned char *)&scb, sizeof(scb));   
scb2347drivers/net/wavelan.c(scb.scb_status & (SCB_ST_CX | SCB_ST_FR | SCB_ST_CNA | SCB_ST_RNR)) >> 12,
scb2348drivers/net/wavelan.c(scb.scb_status & SCB_ST_CX) ? "cmd completion interrupt," : "",
scb2349drivers/net/wavelan.c(scb.scb_status & SCB_ST_FR) ? "frame received," : "",
scb2350drivers/net/wavelan.c(scb.scb_status & SCB_ST_CNA) ? "cmd unit not active," : "",
scb2351drivers/net/wavelan.c(scb.scb_status & SCB_ST_RNR) ? "rcv unit not ready," : ""
scb2356drivers/net/wavelan.c(scb.scb_status & SCB_ST_CUS) >> 8,
scb2357drivers/net/wavelan.c((scb.scb_status & SCB_ST_CUS) == SCB_ST_CUS_IDLE) ? "idle" : "",
scb2358drivers/net/wavelan.c((scb.scb_status & SCB_ST_CUS) == SCB_ST_CUS_SUSP) ? "suspended" : "",
scb2359drivers/net/wavelan.c((scb.scb_status & SCB_ST_CUS) == SCB_ST_CUS_ACTV) ? "active" : ""
scb2364drivers/net/wavelan.c(scb.scb_status & SCB_ST_RUS) >> 4,
scb2365drivers/net/wavelan.c((scb.scb_status & SCB_ST_RUS) == SCB_ST_RUS_IDLE) ? "idle" : "",
scb2366drivers/net/wavelan.c((scb.scb_status & SCB_ST_RUS) == SCB_ST_RUS_SUSP) ? "suspended" : "",
scb2367drivers/net/wavelan.c((scb.scb_status & SCB_ST_RUS) == SCB_ST_RUS_NRES) ? "no resources" : "",
scb2368drivers/net/wavelan.c((scb.scb_status & SCB_ST_RUS) == SCB_ST_RUS_RDY) ? "ready" : ""
scb2375drivers/net/wavelan.c(scb.scb_command & (SCB_CMD_ACK_CX | SCB_CMD_ACK_FR | SCB_CMD_ACK_CNA | SCB_CMD_ACK_RNR)) >> 12,
scb2376drivers/net/wavelan.c(scb.scb_command & SCB_CMD_ACK_CX) ? "ack cmd completion," : "",
scb2377drivers/net/wavelan.c(scb.scb_command & SCB_CMD_ACK_FR) ? "ack frame received," : "",
scb2378drivers/net/wavelan.c(scb.scb_command & SCB_CMD_ACK_CNA) ? "ack CU not active," : "",
scb2379drivers/net/wavelan.c(scb.scb_command & SCB_CMD_ACK_RNR) ? "ack RU not ready," : ""
scb2384drivers/net/wavelan.c(scb.scb_command & SCB_CMD_CUC) >> 8,
scb2385drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_NOP) ? "nop" : "",
scb2386drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_GO) ? "start cbl_offset" : "",
scb2387drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_RES) ? "resume execution" : "",
scb2388drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_SUS) ? "suspend execution" : "",
scb2389drivers/net/wavelan.c((scb.scb_command & SCB_CMD_CUC) == SCB_CMD_CUC_ABT) ? "abort execution" : ""
scb2394drivers/net/wavelan.c(scb.scb_command & SCB_CMD_RUC) >> 4,
scb2395drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_NOP) ? "nop" : "",
scb2396drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_GO) ? "start rfa_offset" : "",
scb2397drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_RES) ? "resume reception" : "",
scb2398drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_SUS) ? "suspend reception" : "",
scb2399drivers/net/wavelan.c((scb.scb_command & SCB_CMD_RUC) == SCB_CMD_RUC_ABT) ? "abort reception" : ""
scb2402drivers/net/wavelan.cprintk(" cbl_offset 0x%x", scb.scb_cbl_offset);
scb2403drivers/net/wavelan.cprintk(" rfa_offset 0x%x", scb.scb_rfa_offset);
scb2405drivers/net/wavelan.cprintk(" crcerrs %d", scb.scb_crcerrs);
scb2406drivers/net/wavelan.cprintk(" alnerrs %d", scb.scb_alnerrs);
scb2407drivers/net/wavelan.cprintk(" rscerrs %d", scb.scb_rscerrs);
scb2408drivers/net/wavelan.cprintk(" ovrnerrs %d", scb.scb_ovrnerrs);
scb793drivers/scsi/aic7xxx.cdebug_scb(struct aic7xxx_scb *scb)
scb796drivers/scsi/aic7xxx.cscb->control, scb->target_channel_lun, scb->SG_segment_count,
scb797drivers/scsi/aic7xxx.c(scb->SG_list_pointer[3] << 24) | (scb->SG_list_pointer[2] << 16) |
scb798drivers/scsi/aic7xxx.c(scb->SG_list_pointer[1] << 8) | scb->SG_list_pointer[0],
scb799drivers/scsi/aic7xxx.c(scb->SCSI_cmd_pointer[3] << 24) | (scb->SCSI_cmd_pointer[2] << 16) |
scb800drivers/scsi/aic7xxx.c(scb->SCSI_cmd_pointer[1] << 8) | scb->SCSI_cmd_pointer[0],
scb801drivers/scsi/aic7xxx.cscb->SCSI_cmd_length);
scb803drivers/scsi/aic7xxx.c(scb->RESERVED[1] << 8) | scb->RESERVED[0], scb->target_status,
scb804drivers/scsi/aic7xxx.cscb->residual_SG_segment_count, scb->residual_data_count);
scb806drivers/scsi/aic7xxx.c(scb->data_pointer[3] << 24) | (scb->data_pointer[2] << 16) |
scb807drivers/scsi/aic7xxx.c(scb->data_pointer[1] << 8) | scb->data_pointer[0],
scb808drivers/scsi/aic7xxx.cscb->data_count, scb->next_waiting);
scb810drivers/scsi/aic7xxx.c(unsigned long) scb->next, (unsigned long) scb->cmd, scb->state,
scb811drivers/scsi/aic7xxx.cscb->position);
scb1129drivers/scsi/aic7xxx.caic7xxx_putscb(struct aic7xxx_host *p, struct aic7xxx_scb *scb)
scb1135drivers/scsi/aic7xxx.coutb(scb->position, SCBPTR + base);
scb1148drivers/scsi/aic7xxx.coutsb(SCBARRAY + base, scb, SCB_PIO_TRANSFER_SIZE);
scb1152drivers/scsi/aic7xxx.coutsl(SCBARRAY + base, scb, (SCB_PIO_TRANSFER_SIZE + 3) / 4);
scb1167drivers/scsi/aic7xxx.caic7xxx_getscb(struct aic7xxx_host *p, struct aic7xxx_scb *scb)
scb1175drivers/scsi/aic7xxx.cinsb(SCBARRAY + base, scb, SCB_PIO_TRANSFER_SIZE);
scb1190drivers/scsi/aic7xxx.caic7xxx_match_scb(struct aic7xxx_scb *scb, int target, char channel)
scb1192drivers/scsi/aic7xxx.cint targ = (scb->target_channel_lun >> 4) & 0x0F;
scb1193drivers/scsi/aic7xxx.cchar chan = (scb->target_channel_lun & SELBUSB) ? 'B' : 'A';
scb1273drivers/scsi/aic7xxx.caic7xxx_done(struct aic7xxx_host *p, struct aic7xxx_scb *scb)
scb1276drivers/scsi/aic7xxx.cScsi_Cmnd *cmd = scb->cmd;
scb1293drivers/scsi/aic7xxx.cscb->state = SCB_FREE;
scb1294drivers/scsi/aic7xxx.cscb->next = p->free_scb;
scb1295drivers/scsi/aic7xxx.cp->free_scb = scb;
scb1296drivers/scsi/aic7xxx.cscb->cmd = NULL;
scb1312drivers/scsi/aic7xxx.cstruct aic7xxx_scb *scb,
scb1325drivers/scsi/aic7xxx.chead = scb->position;
scb1331drivers/scsi/aic7xxx.coutb(scb->position, SCBPTR + base);
scb1333drivers/scsi/aic7xxx.chead = scb->position;
scb1342drivers/scsi/aic7xxx.coutb(scb->position, SCB_NEXT_WAITING + base);
scb1343drivers/scsi/aic7xxx.coutb(scb->position, SCBPTR + base);
scb1360drivers/scsi/aic7xxx.caic7xxx_abort_waiting_scb(struct aic7xxx_host *p, struct aic7xxx_scb *scb,
scb1364drivers/scsi/aic7xxx.cint target = (scb->target_channel_lun >> 4) & 0x0F;
scb1365drivers/scsi/aic7xxx.cchar channel = (scb->target_channel_lun & SELBUSB) ? 'B' : 'A';
scb1373drivers/scsi/aic7xxx.coutb(scb->position, SCBPTR + base);
scb1404drivers/scsi/aic7xxx.cif (inb(WAITING_SCBT + base) == scb->position)
scb1415drivers/scsi/aic7xxx.cscb->state |= SCB_ABORTED;
scb1416drivers/scsi/aic7xxx.cscb->cmd->result = (DID_RESET << 16);
scb1417drivers/scsi/aic7xxx.caic7xxx_done(p, scb);
scb1439drivers/scsi/aic7xxx.cstruct aic7xxx_scb *scb;
scb1463drivers/scsi/aic7xxx.cscb = &(p->scb_array[saved_queue[i]]);
scb1464drivers/scsi/aic7xxx.cif (aic7xxx_match_scb(scb, target, channel))
scb1469drivers/scsi/aic7xxx.cscb->state |= SCB_ABORTED;
scb1470drivers/scsi/aic7xxx.cscb->cmd->result = (DID_RESET << 16);
scb1471drivers/scsi/aic7xxx.caic7xxx_done(p, scb);
scb1472drivers/scsi/aic7xxx.coutb(scb->position, SCBPTR + base);
scb1498drivers/scsi/aic7xxx.cscb = &(p->scb_array[next]);
scb1502drivers/scsi/aic7xxx.cif (aic7xxx_match_scb(scb, target, channel))
scb1504drivers/scsi/aic7xxx.cnext = aic7xxx_abort_waiting_scb(p, scb, prev, timedout_scb);
scb1509drivers/scsi/aic7xxx.coutb(scb->position, SCBPTR + base);
scb1524drivers/scsi/aic7xxx.cscb = &(p->scb_array[i]);
scb1525drivers/scsi/aic7xxx.cif ((scb->state & SCB_ACTIVE) && aic7xxx_match_scb(scb, target, channel))
scb1531drivers/scsi/aic7xxx.coutb(scb->position, SCBPTR + base);
scb1533drivers/scsi/aic7xxx.cscb->state |= SCB_ABORTED;
scb1534drivers/scsi/aic7xxx.cscb->cmd->result = (DID_RESET << 16);
scb1535drivers/scsi/aic7xxx.caic7xxx_done(p, scb);
scb1687drivers/scsi/aic7xxx.cstruct aic7xxx_scb *scb;
scb1808drivers/scsi/aic7xxx.cscb = &(p->scb_array[scb_index]);
scb1812drivers/scsi/aic7xxx.cscb->cmd->device->tagged_supported = 0;
scb1813drivers/scsi/aic7xxx.cscb->cmd->device->tagged_queue = 0;
scb2018drivers/scsi/aic7xxx.cscb = &(p->scb_array[scb_index]);
scb2020drivers/scsi/aic7xxx.cif (!(scb->state & SCB_ACTIVE) || (scb->cmd == NULL))
scb2024drivers/scsi/aic7xxx.cintstat, scb_index, scb->state, (unsigned int) scb->cmd);
scb2028drivers/scsi/aic7xxx.ccmd = scb->cmd;
scb2029drivers/scsi/aic7xxx.caic7xxx_getscb(p, scb);
scb2030drivers/scsi/aic7xxx.caic7xxx_status(cmd) = scb->target_status;
scb2032drivers/scsi/aic7xxx.ccmd->result |= scb->target_status;
scb2034drivers/scsi/aic7xxx.cswitch (status_byte(scb->target_status))
scb2047drivers/scsi/aic7xxx.ctcl = scb->target_channel_lun;
scb2053drivers/scsi/aic7xxx.cmemcpy((void *) scb->sense_cmd, (void *) generic_sense,
scb2056drivers/scsi/aic7xxx.cscb->sense_cmd[1] = (cmd->lun << 5);
scb2057drivers/scsi/aic7xxx.cscb->sense_cmd[4] = sizeof(cmd->sense_buffer);
scb2059drivers/scsi/aic7xxx.cscb->sense_sg.address = (char *) &cmd->sense_buffer;
scb2060drivers/scsi/aic7xxx.cscb->sense_sg.length = sizeof(cmd->sense_buffer);
scb2061drivers/scsi/aic7xxx.creq_buf = &scb->sense_sg;
scb2063drivers/scsi/aic7xxx.ccontrol = scb->control;
scb2065drivers/scsi/aic7xxx.cmemset(scb, 0, SCB_PIO_TRANSFER_SIZE);
scb2066drivers/scsi/aic7xxx.cscb->control = control & DISCENB;
scb2067drivers/scsi/aic7xxx.cscb->target_channel_lun = tcl;
scb2068drivers/scsi/aic7xxx.caddr = scb->sense_cmd;
scb2069drivers/scsi/aic7xxx.cscb->SCSI_cmd_length = COMMAND_SIZE(scb->sense_cmd[0]);
scb2070drivers/scsi/aic7xxx.cmemcpy(scb->SCSI_cmd_pointer, &addr,
scb2071drivers/scsi/aic7xxx.csizeof(scb->SCSI_cmd_pointer));
scb2072drivers/scsi/aic7xxx.cscb->SG_segment_count = 1;
scb2073drivers/scsi/aic7xxx.cmemcpy(scb->SG_list_pointer, &req_buf,
scb2074drivers/scsi/aic7xxx.csizeof(scb->SG_list_pointer));
scb2075drivers/scsi/aic7xxx.cscb->data_count = scb->sense_sg.length;
scb2076drivers/scsi/aic7xxx.cmemcpy(scb->data_pointer, &(scb->sense_sg.address), 4);
scb2078drivers/scsi/aic7xxx.caic7xxx_putscb(p, scb);
scb2086drivers/scsi/aic7xxx.caic7xxx_add_waiting_scb(base, scb, LIST_HEAD);
scb2115drivers/scsi/aic7xxx.cscb->target_status);
scb2127drivers/scsi/aic7xxx.cscb = &(p->scb_array[scb_index]);
scb2128drivers/scsi/aic7xxx.cif (!(scb->state & SCB_ACTIVE) || (scb->cmd == NULL))
scb2132drivers/scsi/aic7xxx.cintstat, scb_index, scb->state, (unsigned int) scb->cmd);
scb2136drivers/scsi/aic7xxx.ccmd = scb->cmd;
scb2149drivers/scsi/aic7xxx.cactual = aic7xxx_length(cmd, scb->residual_SG_segment_count);
scb2162drivers/scsi/aic7xxx.caic7xxx_status(cmd) = scb->target_status;
scb2170drivers/scsi/aic7xxx.cscb = &(p->scb_array[scb_index]);
scb2171drivers/scsi/aic7xxx.cif (!(scb->state & SCB_ACTIVE) || (scb->cmd == NULL))
scb2175drivers/scsi/aic7xxx.cintstat, scb_index, scb->state, (unsigned int) scb->cmd);
scb2179drivers/scsi/aic7xxx.ccmd = scb->cmd;
scb2189drivers/scsi/aic7xxx.caic7xxx_done(p, scb);
scb2195drivers/scsi/aic7xxx.cscb = &(p->scb_array[scb_index]);
scb2196drivers/scsi/aic7xxx.cif (!(scb->state & SCB_ACTIVE) || (scb->cmd == NULL))
scb2200drivers/scsi/aic7xxx.cintstat, scb_index, scb->state, (unsigned int) scb->cmd);
scb2209drivers/scsi/aic7xxx.cif (scb->state & SCB_DEVICE_RESET)
scb2228drivers/scsi/aic7xxx.cscb = &(p->scb_array[scb_index]);
scb2231drivers/scsi/aic7xxx.cscsi_id, scb_index, scb->state);
scb2233drivers/scsi/aic7xxx.cif (scb->state & SCB_DEVICE_RESET)
scb2267drivers/scsi/aic7xxx.cscb = &(p->scb_array[scb_index]);
scb2268drivers/scsi/aic7xxx.cif (!(scb->state & SCB_ACTIVE) || (scb->cmd == NULL))
scb2272drivers/scsi/aic7xxx.cintstat, scb_index, scb->state, (unsigned int) scb->cmd);
scb2280drivers/scsi/aic7xxx.ccmd = scb->cmd;
scb2360drivers/scsi/aic7xxx.cscb = &(p->scb_array[scb_index]);
scb2361drivers/scsi/aic7xxx.cif (!(scb->state & SCB_ACTIVE) || (scb->cmd == NULL))
scb2372drivers/scsi/aic7xxx.cscb = NULL;
scb2376drivers/scsi/aic7xxx.ccmd = scb->cmd;
scb2433drivers/scsi/aic7xxx.caic7xxx_done(p, scb);
scb2436drivers/scsi/aic7xxx.cscb->position, scb->state, (unsigned int) scb->cmd);
scb2468drivers/scsi/aic7xxx.cscb = &(p->scb_array[complete]);
scb2469drivers/scsi/aic7xxx.cif (!(scb->state & SCB_ACTIVE) || (scb->cmd == NULL))
scb2474drivers/scsi/aic7xxx.cscb->state, (unsigned int) scb->cmd, scb->position);
scb2478drivers/scsi/aic7xxx.ccmd = scb->cmd;
scb2489drivers/scsi/aic7xxx.cscb->state, (unsigned int) scb->cmd, (unsigned int) p->free_scb);
scb2502drivers/scsi/aic7xxx.caic7xxx_done(p, scb);
scb2504drivers/scsi/aic7xxx.cif (scb != &p->scb_array[scb->position])
scb2506drivers/scsi/aic7xxx.cprintk("aic7xxx: (complete) Address mismatch, pos(%d).\n", scb->position);
scb2509drivers/scsi/aic7xxx.cscb->state, (unsigned int) scb->cmd, (unsigned int) p->free_scb);
scb4021drivers/scsi/aic7xxx.cstruct aic7xxx_scb *scb)
scb4043drivers/scsi/aic7xxx.cscb->control |= TAG_ENB;
scb4049drivers/scsi/aic7xxx.cscb->control |= DISCENB;
scb4054drivers/scsi/aic7xxx.cscb->control |= NEEDWDTR;
scb4064drivers/scsi/aic7xxx.cscb->control |= NEEDSDTR;
scb4076drivers/scsi/aic7xxx.cscb->target_channel_lun = ((cmd->target << 4) & 0xF0) |
scb4091drivers/scsi/aic7xxx.cscb->SCSI_cmd_length = cmd->cmd_len;
scb4092drivers/scsi/aic7xxx.cmemcpy(scb->SCSI_cmd_pointer, &addr, sizeof(scb->SCSI_cmd_pointer));
scb4096drivers/scsi/aic7xxx.cscb->SG_segment_count = cmd->use_sg;
scb4097drivers/scsi/aic7xxx.cmemcpy(scb->SG_list_pointer, &cmd->request_buffer,
scb4098drivers/scsi/aic7xxx.csizeof(scb->SG_list_pointer));
scb4100drivers/scsi/aic7xxx.cmemcpy(scb->data_pointer, &(sg[0].address), sizeof(scb->data_pointer));
scb4101drivers/scsi/aic7xxx.cscb->data_count = sg[0].length;
scb4104drivers/scsi/aic7xxx.ccmd->use_sg, aic7xxx_length(cmd, 0), scb->data_count);
scb4120drivers/scsi/aic7xxx.cscb->SG_segment_count = 0;
scb4121drivers/scsi/aic7xxx.cmemset(scb->SG_list_pointer, 0, sizeof(scb->SG_list_pointer));
scb4122drivers/scsi/aic7xxx.cmemset(scb->data_pointer, 0, sizeof(scb->data_pointer));
scb4123drivers/scsi/aic7xxx.cscb->data_count = 0;
scb4127drivers/scsi/aic7xxx.cscb->SG_segment_count = 1;
scb4128drivers/scsi/aic7xxx.cscb->sg.address = (char *) cmd->request_buffer;
scb4129drivers/scsi/aic7xxx.cscb->sg.length = cmd->request_bufflen;
scb4130drivers/scsi/aic7xxx.caddr = &scb->sg;
scb4131drivers/scsi/aic7xxx.cmemcpy(scb->SG_list_pointer, &addr, sizeof(scb->SG_list_pointer));
scb4132drivers/scsi/aic7xxx.cscb->data_count = scb->sg.length;
scb4133drivers/scsi/aic7xxx.cmemcpy(scb->data_pointer, &cmd->request_buffer, sizeof(scb->data_pointer));
scb4150drivers/scsi/aic7xxx.cstruct aic7xxx_scb *scb;
scb4196drivers/scsi/aic7xxx.cscb = p->free_scb;
scb4197drivers/scsi/aic7xxx.cif (scb != NULL)
scb4199drivers/scsi/aic7xxx.cp->free_scb = scb->next;   /* remove and update head of list */
scb4207drivers/scsi/aic7xxx.cscb = &(p->scb_array[scb->position]);
scb4208drivers/scsi/aic7xxx.cscb->control = 0;
scb4209drivers/scsi/aic7xxx.cscb->state = SCB_ACTIVE;
scb4224drivers/scsi/aic7xxx.cscb = &(p->scb_array[p->numscb]);
scb4225drivers/scsi/aic7xxx.cmemset(scb, 0, sizeof(*scb));
scb4227drivers/scsi/aic7xxx.cscb->position = p->numscb;
scb4229drivers/scsi/aic7xxx.cscb->state = SCB_ACTIVE;
scb4233drivers/scsi/aic7xxx.cscb->cmd = cmd;
scb4234drivers/scsi/aic7xxx.caic7xxx_position(cmd) = scb->position;
scb4236drivers/scsi/aic7xxx.cdebug_scb(scb);
scb4243drivers/scsi/aic7xxx.caic7xxx_buildscb(p, cmd, scb);
scb4246drivers/scsi/aic7xxx.cif (scb != &p->scb_array[scb->position])
scb4252drivers/scsi/aic7xxx.cscb->position, (unsigned int) scb->cmd,
scb4253drivers/scsi/aic7xxx.cscb->state, (unsigned int) p->free_scb);
scb4269drivers/scsi/aic7xxx.caic7xxx_putscb(p, scb);
scb4270drivers/scsi/aic7xxx.coutb(scb->position, QINFIFO + p->base);
scb4287drivers/scsi/aic7xxx.c(long) cmd, (long) scb->cmd, scb->position);
scb4305drivers/scsi/aic7xxx.caic7xxx_abort_scb(struct aic7xxx_host *p, struct aic7xxx_scb *scb,
scb4311drivers/scsi/aic7xxx.cchar channel = scb->target_channel_lun & SELBUSB ? 'B': 'A';
scb4321drivers/scsi/aic7xxx.cscb->position, (scb->state & SCB_ABORTED));
scb4329drivers/scsi/aic7xxx.cif (scb->state & SCB_ABORTED)
scb4334drivers/scsi/aic7xxx.cfound = aic7xxx_reset_channel(p, channel, scb->position);
scb4361drivers/scsi/aic7xxx.coutb(scb->position, SCBPTR + base);
scb4365drivers/scsi/aic7xxx.cprintk ("aic7xxx: (abort_scb) scb %d is disconnected.\n", scb->position);
scb4367drivers/scsi/aic7xxx.cscb->state |= (SCB_DEVICE_RESET | SCB_ABORTED);
scb4368drivers/scsi/aic7xxx.cscb->SG_segment_count = 0;
scb4369drivers/scsi/aic7xxx.cmemset(scb->SG_list_pointer, 0, sizeof(scb->SG_list_pointer));
scb4370drivers/scsi/aic7xxx.cmemset(scb->data_pointer, 0, sizeof(scb->data_pointer));
scb4371drivers/scsi/aic7xxx.cscb->data_count = 0;
scb4372drivers/scsi/aic7xxx.caic7xxx_putscb(p, scb);
scb4373drivers/scsi/aic7xxx.caic7xxx_error(scb->cmd) = errcode;
scb4375drivers/scsi/aic7xxx.caic7xxx_add_waiting_scb(base, scb, LIST_SECOND);
scb4398drivers/scsi/aic7xxx.caic7xxx_reset_channel(p, channel, scb->position);
scb4412drivers/scsi/aic7xxx.cif (active_scbp->target_channel_lun != scb->target_channel_lun)
scb4422drivers/scsi/aic7xxx.caic7xxx_error(scb->cmd) = errcode;
scb4436drivers/scsi/aic7xxx.caic7xxx_reset_channel(p, channel, scb->position);
scb4454drivers/scsi/aic7xxx.cstruct aic7xxx_scb  *scb;
scb4460drivers/scsi/aic7xxx.cscb = &(p->scb_array[aic7xxx_position(cmd)]);
scb4466drivers/scsi/aic7xxx.cprintk ("aic7xxx: (abort_reset) scb state 0x%x\n", scb->state);
scb4469drivers/scsi/aic7xxx.cif (scb->state & SCB_ACTIVE)
scb4471drivers/scsi/aic7xxx.cif (scb->state & SCB_IMMED)
scb4478drivers/scsi/aic7xxx.caic7xxx_done(p, scb);
scb4485drivers/scsi/aic7xxx.cscb_status = aic7xxx_abort_scb(p, scb, errcode);
scb354drivers/scsi/wd7000.cstruct scb *next;             /* for lists of scbs */
scb608drivers/scsi/wd7000.cregister Scb *scb, *p;
scb644drivers/scsi/wd7000.cscb = scbfree;  freescbs -= needed;
scb652drivers/scsi/wd7000.creturn scb;
scb656drivers/scsi/wd7000.cstatic inline void free_scb( Scb *scb )
scb663drivers/scsi/wd7000.cmemset(scb, 0, sizeof(Scb));
scb664drivers/scsi/wd7000.cscb->next = scbfree;  scbfree = scb;
scb815drivers/scsi/wd7000.cregister Scb *scb;             /* for SCSI commands */
scb871drivers/scsi/wd7000.cscb = (struct scb *) scsi2int((unchar *)icmbs[icmb].scbptr);
scb873drivers/scsi/wd7000.cif (!(scb->op & ICB_OP_MASK))  {   /* an SCB is done */
scb874drivers/scsi/wd7000.cSCpnt = scb->SCpnt;
scb876drivers/scsi/wd7000.chost_error = scb->vue | (icmb_status << 8);
scb877drivers/scsi/wd7000.cscsi_error = scb->status;
scb881drivers/scsi/wd7000.cfree_scb(scb);
scb886drivers/scsi/wd7000.cicb = (IcbAny *) scb;
scb900drivers/scsi/wd7000.cregister Scb *scb;
scb911drivers/scsi/wd7000.cscb = alloc_scbs(1);
scb912drivers/scsi/wd7000.cscb->idlun = idlun;
scb913drivers/scsi/wd7000.cmemcpy(scb->cdb, cdb, cdblen);
scb914drivers/scsi/wd7000.cscb->direc = 0x40;    /* Disable direction check */
scb916drivers/scsi/wd7000.cscb->SCpnt = SCpnt;         /* so we can find stuff later */
scb917drivers/scsi/wd7000.cSCpnt->host_scribble = (unchar *) scb;
scb918drivers/scsi/wd7000.cscb->host = host;
scb931drivers/scsi/wd7000.csgb = scb->sgb;
scb932drivers/scsi/wd7000.cscb->op = 1;
scb933drivers/scsi/wd7000.cany2scsi(scb->dataptr, (int) sgb);
scb934drivers/scsi/wd7000.cany2scsi(scb->maxlen, SCpnt->use_sg * sizeof (Sgb) );
scb941drivers/scsi/wd7000.cscb->op = 0;
scb942drivers/scsi/wd7000.cany2scsi(scb->dataptr, (int) SCpnt->request_buffer);
scb943drivers/scsi/wd7000.cany2scsi(scb->maxlen, SCpnt->request_bufflen);
scb945drivers/scsi/wd7000.cwhile (!mail_out(host, scb)) /* keep trying */;
scb976drivers/scsi/wd7000.cmail_out(host, (struct scb *) &icb);
scb1088drivers/scsi/wd7000.cmail_out(host, (struct scb *) &icb);