Lines Matching defs:host

90 #define HOSTDATA(host) ((struct aha1740_hostdata *) &host->hostdata)
92 static inline struct ecb *ecb_dma_to_cpu (struct Scsi_Host *host,
95 struct aha1740_hostdata *hdata = HOSTDATA (host);
103 static inline dma_addr_t ecb_cpu_to_dma (struct Scsi_Host *host, void *cpu)
105 struct aha1740_hostdata *hdata = HOSTDATA (host);
115 struct aha1740_hostdata *host = HOSTDATA(shpnt);
118 shpnt->io_port, shpnt->irq, host->edev->slot,
119 host->translation ? "en" : "dis");
214 struct Scsi_Host *host = (struct Scsi_Host *) dev_id;
226 if (!host)
227 panic("aha1740.c: Irq from unknown host!\n");
228 spin_lock_irqsave(host->host_lock, flags);
229 base = host->io_port;
231 edev = HOSTDATA(host)->edev;
237 ecbptr = ecb_dma_to_cpu (host, inl(MBOXIN0(base)));
318 spin_unlock_irqrestore(host->host_lock, flags);
328 struct aha1740_hostdata *host = HOSTDATA(SCpnt->device->host);
356 spin_lock_irqsave(SCpnt->device->host->host_lock, flags);
357 ecbno = host->last_ecb_used + 1; /* An optimization */
361 if (!host->ecb[ecbno].cmdw)
366 } while (ecbno != host->last_ecb_used);
368 if (host->ecb[ecbno].cmdw)
371 host->ecb[ecbno].cmdw = AHA1740CMD_INIT; /* SCSI Initiator Command
374 host->last_ecb_used = ecbno;
375 spin_unlock_irqrestore(SCpnt->device->host->host_lock, flags);
381 host->ecb[ecbno].cdblen = SCpnt->cmd_len; /* SCSI Command
391 memcpy(host->ecb[ecbno].cdb, cmd, SCpnt->cmd_len);
393 SCpnt->host_scribble = dma_alloc_coherent (&host->edev->dev,
411 host->ecb[ecbno].sg = 1; /* SCSI Initiator Command
418 host->ecb[ecbno].datalen = nseg * sizeof(struct aha1740_chain);
419 host->ecb[ecbno].dataptr = sg_dma;
426 host->ecb[ecbno].datalen = 0;
427 host->ecb[ecbno].dataptr = 0;
429 host->ecb[ecbno].lun = SCpnt->device->lun;
430 host->ecb[ecbno].ses = 1; /* Suppress underrun errors */
431 host->ecb[ecbno].dir = direction;
432 host->ecb[ecbno].ars = 1; /* Yes, get the sense on an error */
433 host->ecb[ecbno].senselen = 12;
434 host->ecb[ecbno].senseptr = ecb_cpu_to_dma (SCpnt->device->host,
435 host->ecb[ecbno].sense);
436 host->ecb[ecbno].statusptr = ecb_cpu_to_dma (SCpnt->device->host,
437 host->ecb[ecbno].status);
438 host->ecb[ecbno].done = done;
439 host->ecb[ecbno].SCpnt = SCpnt;
444 for (i = 0; i < sizeof(host->ecb[ecbno]) - 10; i++)
445 printk("%02x ", ((unchar *)&host->ecb[ecbno])[i]);
465 unsigned int base = SCpnt->device->host->io_port;
468 spin_lock_irqsave(SCpnt->device->host->host_lock, flags);
477 outl (ecb_cpu_to_dma (SCpnt->device->host, host->ecb + ecbno),
488 spin_unlock_irqrestore(SCpnt->device->host->host_lock, flags);
517 int extended = HOSTDATA(sdev->host)->translation;
564 struct aha1740_hostdata *host;
595 host = HOSTDATA(shpnt);
596 host->edev = edev;
597 host->translation = translation;
598 host->ecb_dma_addr = dma_map_single (&edev->dev, host->ecb,
599 sizeof (host->ecb),
601 if (!host->ecb_dma_addr) {
626 dma_unmap_single (&edev->dev, host->ecb_dma_addr,
627 sizeof (host->ecb), DMA_BIDIRECTIONAL);
639 struct aha1740_hostdata *host = HOSTDATA (shpnt);
644 dma_unmap_single (dev, host->ecb_dma_addr,
645 sizeof (host->ecb), DMA_BIDIRECTIONAL);