taglinefilesource code
ecbno260drivers/scsi/aha1740.cint ecbno;
ecbno292drivers/scsi/aha1740.cecbno = aha1740_last_ecb_used + 1;    /* An optimization */
ecbno293drivers/scsi/aha1740.cif (ecbno >= AHA1740_ECBS) ecbno = 0;
ecbno296drivers/scsi/aha1740.cif( ! ecb[ecbno].cmdw )
ecbno298drivers/scsi/aha1740.cecbno++;
ecbno299drivers/scsi/aha1740.cif (ecbno >= AHA1740_ECBS ) ecbno = 0;
ecbno300drivers/scsi/aha1740.c} while (ecbno != aha1740_last_ecb_used);
ecbno302drivers/scsi/aha1740.cif( ecb[ecbno].cmdw )
ecbno305drivers/scsi/aha1740.cecb[ecbno].cmdw = AHA1740CMD_INIT;  /* SCSI Initiator Command doubles as reserved flag */
ecbno307drivers/scsi/aha1740.caha1740_last_ecb_used = ecbno;    
ecbno311drivers/scsi/aha1740.cprintk("Sending command (%d %x)...",ecbno, done);
ecbno314drivers/scsi/aha1740.cecb[ecbno].cdblen = SCpnt->cmd_len;  /* SCSI Command Descriptor Block Length */
ecbno322drivers/scsi/aha1740.cmemcpy(ecb[ecbno].cdb, cmd, ecb[ecbno].cdblen);
ecbno332drivers/scsi/aha1740.cecb[ecbno].sg = 1;    /* SCSI Initiator Command  w/scatter-gather*/
ecbno342drivers/scsi/aha1740.cecb[ecbno].datalen = SCpnt->use_sg * sizeof(struct aha1740_chain);
ecbno343drivers/scsi/aha1740.cecb[ecbno].dataptr = (long) cptr;
ecbno353drivers/scsi/aha1740.cecb[ecbno].datalen = bufflen;
ecbno354drivers/scsi/aha1740.cecb[ecbno].dataptr = (long) buff;
ecbno356drivers/scsi/aha1740.cecb[ecbno].lun = SCpnt->lun;
ecbno357drivers/scsi/aha1740.cecb[ecbno].ses = 1;  /* Suppress underrun errors */
ecbno358drivers/scsi/aha1740.cecb[ecbno].dir= direction;
ecbno359drivers/scsi/aha1740.cecb[ecbno].ars=1;  /* Yes, get the sense on an error */
ecbno360drivers/scsi/aha1740.cecb[ecbno].senselen = 12;
ecbno361drivers/scsi/aha1740.cecb[ecbno].senseptr = (long) ecb[ecbno].sense;
ecbno362drivers/scsi/aha1740.cecb[ecbno].statusptr = (long) ecb[ecbno].status;
ecbno363drivers/scsi/aha1740.cecb[ecbno].done = done;
ecbno364drivers/scsi/aha1740.cecb[ecbno].SCpnt = SCpnt;
ecbno369drivers/scsi/aha1740.cfor (i = 0; i < sizeof(ecb[ecbno])-10; i++)
ecbno370drivers/scsi/aha1740.cprintk("%02x ", ((unchar *)&ecb[ecbno])[i]);
ecbno385drivers/scsi/aha1740.cDEB(printk("aha1740[%d] critical section\n",ecbno));
ecbno390drivers/scsi/aha1740.cprintk("aha1740[%d]_mbxout wait!\n",ecbno);
ecbno395drivers/scsi/aha1740.coutl(virt_to_bus(ecb+ecbno), MBOXOUT0);
ecbno398drivers/scsi/aha1740.cprintk("aha1740[%d]_attn wait!\n",ecbno);
ecbno404drivers/scsi/aha1740.cDEB(printk("aha1740[%d] request queued.\n",ecbno));