taglinefilesource code
ecbno250drivers/scsi/aha1740.cint ecbno;
ecbno282drivers/scsi/aha1740.cecbno = aha1740_last_ecb_used + 1;    /* An optimization */
ecbno283drivers/scsi/aha1740.cif (ecbno >= AHA1740_ECBS) ecbno = 0;
ecbno286drivers/scsi/aha1740.cif( ! ecb[ecbno].cmdw )
ecbno288drivers/scsi/aha1740.cecbno++;
ecbno289drivers/scsi/aha1740.cif (ecbno >= AHA1740_ECBS ) ecbno = 0;
ecbno290drivers/scsi/aha1740.c} while (ecbno != aha1740_last_ecb_used);
ecbno292drivers/scsi/aha1740.cif( ecb[ecbno].cmdw )
ecbno295drivers/scsi/aha1740.cecb[ecbno].cmdw = AHA1740CMD_INIT;  /* SCSI Initiator Command doubles as reserved flag */
ecbno297drivers/scsi/aha1740.caha1740_last_ecb_used = ecbno;    
ecbno301drivers/scsi/aha1740.cprintk("Sending command (%d %x)...",ecbno, done);
ecbno304drivers/scsi/aha1740.cecb[ecbno].cdblen = SCpnt->cmd_len;  /* SCSI Command Descriptor Block Length */
ecbno312drivers/scsi/aha1740.cmemcpy(ecb[ecbno].cdb, cmd, ecb[ecbno].cdblen);
ecbno322drivers/scsi/aha1740.cecb[ecbno].sg = 1;    /* SCSI Initiator Command  w/scatter-gather*/
ecbno332drivers/scsi/aha1740.cecb[ecbno].datalen = SCpnt->use_sg * sizeof(struct aha1740_chain);
ecbno333drivers/scsi/aha1740.cecb[ecbno].dataptr = (long) cptr;
ecbno343drivers/scsi/aha1740.cecb[ecbno].datalen = bufflen;
ecbno344drivers/scsi/aha1740.cecb[ecbno].dataptr = (long) buff;
ecbno346drivers/scsi/aha1740.cecb[ecbno].lun = SCpnt->lun;
ecbno347drivers/scsi/aha1740.cecb[ecbno].ses = 1;  /* Suppress underrun errors */
ecbno348drivers/scsi/aha1740.cecb[ecbno].dir= direction;
ecbno349drivers/scsi/aha1740.cecb[ecbno].ars=1;  /* Yes, get the sense on an error */
ecbno350drivers/scsi/aha1740.cecb[ecbno].senselen = 12;
ecbno351drivers/scsi/aha1740.cecb[ecbno].senseptr = (long) ecb[ecbno].sense;
ecbno352drivers/scsi/aha1740.cecb[ecbno].statusptr = (long) ecb[ecbno].status;
ecbno353drivers/scsi/aha1740.cecb[ecbno].done = done;
ecbno354drivers/scsi/aha1740.cecb[ecbno].SCpnt = SCpnt;
ecbno359drivers/scsi/aha1740.cfor (i = 0; i < sizeof(ecb[ecbno])-10; i++)
ecbno360drivers/scsi/aha1740.cprintk("%02x ", ((unchar *)&ecb[ecbno])[i]);
ecbno375drivers/scsi/aha1740.cDEB(printk("aha1740[%d] critical section\n",ecbno));
ecbno380drivers/scsi/aha1740.cprintk("aha1740[%d]_mbxout wait!\n",ecbno);
ecbno385drivers/scsi/aha1740.coutl(virt_to_bus(ecb+ecbno), MBOXOUT0);
ecbno388drivers/scsi/aha1740.cprintk("aha1740[%d]_attn wait!\n",ecbno);
ecbno394drivers/scsi/aha1740.cDEB(printk("aha1740[%d] request queued.\n",ecbno));