Lines Matching refs:ecb

77 	struct ecb ecb[AHA1740_ECBS];
88 static inline struct ecb *ecb_dma_to_cpu (struct Scsi_Host *host,
96 return (struct ecb *)(((char *) hdata->ecb) + (unsigned int) offset);
104 offset = (char *) cpu - (char *) hdata->ecb;
213 struct ecb *ecbptr;
279 memset(ecbptr,0,sizeof(struct ecb));
347 /* locate an available ecb */
353 if (!host->ecb[ecbno].cmdw)
360 if (host->ecb[ecbno].cmdw)
361 panic("Unable to find empty ecb for aha1740.\n");
363 host->ecb[ecbno].cmdw = AHA1740CMD_INIT; /* SCSI Initiator Command
373 host->ecb[ecbno].cdblen = SCpnt->cmd_len; /* SCSI Command
383 memcpy(host->ecb[ecbno].cdb, cmd, SCpnt->cmd_len);
403 host->ecb[ecbno].sg = 1; /* SCSI Initiator Command
410 host->ecb[ecbno].datalen = nseg * sizeof(struct aha1740_chain);
411 host->ecb[ecbno].dataptr = sg_dma;
418 host->ecb[ecbno].datalen = 0;
419 host->ecb[ecbno].dataptr = 0;
421 host->ecb[ecbno].lun = SCpnt->device->lun;
422 host->ecb[ecbno].ses = 1; /* Suppress underrun errors */
423 host->ecb[ecbno].dir = direction;
424 host->ecb[ecbno].ars = 1; /* Yes, get the sense on an error */
425 host->ecb[ecbno].senselen = 12;
426 host->ecb[ecbno].senseptr = ecb_cpu_to_dma (SCpnt->device->host,
427 host->ecb[ecbno].sense);
428 host->ecb[ecbno].statusptr = ecb_cpu_to_dma (SCpnt->device->host,
429 host->ecb[ecbno].status);
430 host->ecb[ecbno].done = done;
431 host->ecb[ecbno].SCpnt = SCpnt;
436 for (i = 0; i < sizeof(host->ecb[ecbno]) - 10; i++)
437 printk("%02x ", ((unchar *)&host->ecb[ecbno])[i]);
469 outl (ecb_cpu_to_dma (SCpnt->device->host, host->ecb + ecbno),
590 host->ecb_dma_addr = dma_map_single (&edev->dev, host->ecb,
591 sizeof (host->ecb),
619 sizeof (host->ecb), DMA_BIDIRECTIONAL);
637 sizeof (host->ecb), DMA_BIDIRECTIONAL);