Lines Matching refs:ecbno
332 int ecbno, nseg; in aha1740_queuecommand_lck() local
357 ecbno = host->last_ecb_used + 1; /* An optimization */ in aha1740_queuecommand_lck()
358 if (ecbno >= AHA1740_ECBS) in aha1740_queuecommand_lck()
359 ecbno = 0; in aha1740_queuecommand_lck()
361 if (!host->ecb[ecbno].cmdw) in aha1740_queuecommand_lck()
363 ecbno++; in aha1740_queuecommand_lck()
364 if (ecbno >= AHA1740_ECBS) in aha1740_queuecommand_lck()
365 ecbno = 0; in aha1740_queuecommand_lck()
366 } while (ecbno != host->last_ecb_used); in aha1740_queuecommand_lck()
368 if (host->ecb[ecbno].cmdw) in aha1740_queuecommand_lck()
371 host->ecb[ecbno].cmdw = AHA1740CMD_INIT; /* SCSI Initiator Command in aha1740_queuecommand_lck()
374 host->last_ecb_used = ecbno; in aha1740_queuecommand_lck()
378 printk("Sending command (%d %x)...", ecbno, done); in aha1740_queuecommand_lck()
381 host->ecb[ecbno].cdblen = SCpnt->cmd_len; /* SCSI Command in aha1740_queuecommand_lck()
391 memcpy(host->ecb[ecbno].cdb, cmd, SCpnt->cmd_len); in aha1740_queuecommand_lck()
411 host->ecb[ecbno].sg = 1; /* SCSI Initiator Command in aha1740_queuecommand_lck()
418 host->ecb[ecbno].datalen = nseg * sizeof(struct aha1740_chain); in aha1740_queuecommand_lck()
419 host->ecb[ecbno].dataptr = sg_dma; in aha1740_queuecommand_lck()
426 host->ecb[ecbno].datalen = 0; in aha1740_queuecommand_lck()
427 host->ecb[ecbno].dataptr = 0; in aha1740_queuecommand_lck()
429 host->ecb[ecbno].lun = SCpnt->device->lun; in aha1740_queuecommand_lck()
430 host->ecb[ecbno].ses = 1; /* Suppress underrun errors */ in aha1740_queuecommand_lck()
431 host->ecb[ecbno].dir = direction; in aha1740_queuecommand_lck()
432 host->ecb[ecbno].ars = 1; /* Yes, get the sense on an error */ in aha1740_queuecommand_lck()
433 host->ecb[ecbno].senselen = 12; in aha1740_queuecommand_lck()
434 host->ecb[ecbno].senseptr = ecb_cpu_to_dma (SCpnt->device->host, in aha1740_queuecommand_lck()
435 host->ecb[ecbno].sense); in aha1740_queuecommand_lck()
436 host->ecb[ecbno].statusptr = ecb_cpu_to_dma (SCpnt->device->host, in aha1740_queuecommand_lck()
437 host->ecb[ecbno].status); in aha1740_queuecommand_lck()
438 host->ecb[ecbno].done = done; in aha1740_queuecommand_lck()
439 host->ecb[ecbno].SCpnt = SCpnt; in aha1740_queuecommand_lck()
444 for (i = 0; i < sizeof(host->ecb[ecbno]) - 10; i++) in aha1740_queuecommand_lck()
445 printk("%02x ", ((unchar *)&host->ecb[ecbno])[i]); in aha1740_queuecommand_lck()
466 DEB(printk("aha1740[%d] critical section\n",ecbno)); in aha1740_queuecommand_lck()
472 printk("aha1740[%d]_mbxout wait!\n",ecbno); in aha1740_queuecommand_lck()
477 outl (ecb_cpu_to_dma (SCpnt->device->host, host->ecb + ecbno), in aha1740_queuecommand_lck()
482 printk("aha1740[%d]_attn wait!\n",ecbno); in aha1740_queuecommand_lck()
489 DEB(printk("aha1740[%d] request queued.\n",ecbno)); in aha1740_queuecommand_lck()