Lines Matching refs:ecbno
324 int ecbno, nseg; in aha1740_queuecommand_lck() local
349 ecbno = host->last_ecb_used + 1; /* An optimization */ in aha1740_queuecommand_lck()
350 if (ecbno >= AHA1740_ECBS) in aha1740_queuecommand_lck()
351 ecbno = 0; in aha1740_queuecommand_lck()
353 if (!host->ecb[ecbno].cmdw) in aha1740_queuecommand_lck()
355 ecbno++; in aha1740_queuecommand_lck()
356 if (ecbno >= AHA1740_ECBS) in aha1740_queuecommand_lck()
357 ecbno = 0; in aha1740_queuecommand_lck()
358 } while (ecbno != host->last_ecb_used); in aha1740_queuecommand_lck()
360 if (host->ecb[ecbno].cmdw) in aha1740_queuecommand_lck()
363 host->ecb[ecbno].cmdw = AHA1740CMD_INIT; /* SCSI Initiator Command in aha1740_queuecommand_lck()
366 host->last_ecb_used = ecbno; in aha1740_queuecommand_lck()
370 printk("Sending command (%d %x)...", ecbno, done); in aha1740_queuecommand_lck()
373 host->ecb[ecbno].cdblen = SCpnt->cmd_len; /* SCSI Command in aha1740_queuecommand_lck()
383 memcpy(host->ecb[ecbno].cdb, cmd, SCpnt->cmd_len); in aha1740_queuecommand_lck()
403 host->ecb[ecbno].sg = 1; /* SCSI Initiator Command in aha1740_queuecommand_lck()
410 host->ecb[ecbno].datalen = nseg * sizeof(struct aha1740_chain); in aha1740_queuecommand_lck()
411 host->ecb[ecbno].dataptr = sg_dma; in aha1740_queuecommand_lck()
418 host->ecb[ecbno].datalen = 0; in aha1740_queuecommand_lck()
419 host->ecb[ecbno].dataptr = 0; in aha1740_queuecommand_lck()
421 host->ecb[ecbno].lun = SCpnt->device->lun; in aha1740_queuecommand_lck()
422 host->ecb[ecbno].ses = 1; /* Suppress underrun errors */ in aha1740_queuecommand_lck()
423 host->ecb[ecbno].dir = direction; in aha1740_queuecommand_lck()
424 host->ecb[ecbno].ars = 1; /* Yes, get the sense on an error */ in aha1740_queuecommand_lck()
425 host->ecb[ecbno].senselen = 12; in aha1740_queuecommand_lck()
426 host->ecb[ecbno].senseptr = ecb_cpu_to_dma (SCpnt->device->host, in aha1740_queuecommand_lck()
427 host->ecb[ecbno].sense); in aha1740_queuecommand_lck()
428 host->ecb[ecbno].statusptr = ecb_cpu_to_dma (SCpnt->device->host, in aha1740_queuecommand_lck()
429 host->ecb[ecbno].status); in aha1740_queuecommand_lck()
430 host->ecb[ecbno].done = done; in aha1740_queuecommand_lck()
431 host->ecb[ecbno].SCpnt = SCpnt; in aha1740_queuecommand_lck()
436 for (i = 0; i < sizeof(host->ecb[ecbno]) - 10; i++) in aha1740_queuecommand_lck()
437 printk("%02x ", ((unchar *)&host->ecb[ecbno])[i]); in aha1740_queuecommand_lck()
458 DEB(printk("aha1740[%d] critical section\n",ecbno)); in aha1740_queuecommand_lck()
464 printk("aha1740[%d]_mbxout wait!\n",ecbno); in aha1740_queuecommand_lck()
469 outl (ecb_cpu_to_dma (SCpnt->device->host, host->ecb + ecbno), in aha1740_queuecommand_lck()
474 printk("aha1740[%d]_attn wait!\n",ecbno); in aha1740_queuecommand_lck()
481 DEB(printk("aha1740[%d] request queued.\n",ecbno)); in aha1740_queuecommand_lck()