Lines Matching defs:host

39 	QS_HCF_CNFG3		= 0x0003, /* host configuration offset */
40 QS_HID_HPHY = 0x0004, /* host physical interface info */
42 QS_HST_SFF = 0x0100, /* host status fifo offset */
53 QS_CFC_HUFT = 0x0800, /* host upstream fifo threshold */
54 QS_CFC_HDFT = 0x0804, /* host downstream fifo threshold */
102 static void qs_host_stop(struct ata_host *host);
161 static void __iomem *qs_mmio_base(struct ata_host *host)
163 return host->iomap[QS_MMIO_BAR];
173 u8 __iomem *chan = qs_mmio_base(ap->host) + (ap->port_no * 0x4000);
183 u8 __iomem *chan = qs_mmio_base(ap->host) + (ap->port_no * 0x4000);
192 u8 __iomem *mmio_base = qs_mmio_base(ap->host);
194 writeb(0, mmio_base + QS_HCT_CTRL); /* disable host interrupts */
200 u8 __iomem *mmio_base = qs_mmio_base(ap->host);
203 writeb(1, mmio_base + QS_HCT_CTRL); /* enable host interrupts */
279 /* host control block (HCB) */
300 u8 __iomem *chan = qs_mmio_base(ap->host) + (ap->port_no * 0x4000);
350 static inline unsigned int qs_intr_pkt(struct ata_host *host)
354 u8 __iomem *mmio_base = qs_mmio_base(host);
364 u8 sHST = sff1 & 0x3f; /* host status */
366 struct ata_port *ap = host->ports[port_no];
370 dev_dbg(host->dev, "SFF=%08x%08x: sHST=%d sDST=%02x\n",
392 static inline unsigned int qs_intr_mmio(struct ata_host *host)
396 for (port_no = 0; port_no < host->n_ports; ++port_no) {
397 struct ata_port *ap = host->ports[port_no];
427 struct ata_host *host = dev_instance;
431 spin_lock_irqsave(&host->lock, flags);
432 handled = qs_intr_pkt(host) | qs_intr_mmio(host);
433 spin_unlock_irqrestore(&host->lock, flags);
458 struct device *dev = ap->host->dev;
460 void __iomem *mmio_base = qs_mmio_base(ap->host);
480 static void qs_host_stop(struct ata_host *host)
482 void __iomem *mmio_base = qs_mmio_base(host);
484 writeb(0, mmio_base + QS_HCT_CTRL); /* disable host interrupts */
488 static void qs_host_init(struct ata_host *host, unsigned int chip_id)
490 void __iomem *mmio_base = host->iomap[QS_MMIO_BAR];
493 writeb(0, mmio_base + QS_HCT_CTRL); /* disable host interrupts */
497 for (port_no = 0; port_no < host->n_ports; ++port_no) {
505 for (port_no = 0; port_no < host->n_ports; ++port_no) {
515 writeb(1, mmio_base + QS_HCT_CTRL); /* enable host interrupts */
545 struct ata_host *host;
550 /* alloc host */
551 host = ata_host_alloc_pinfo(&pdev->dev, ppi, QS_PORTS);
552 if (!host)
555 /* acquire resources and fill host */
566 host->iomap = pcim_iomap_table(pdev);
568 rc = qs_set_dma_masks(pdev, host->iomap[QS_MMIO_BAR]);
572 for (port_no = 0; port_no < host->n_ports; ++port_no) {
573 struct ata_port *ap = host->ports[port_no];
575 void __iomem *chan = host->iomap[QS_MMIO_BAR] + offset;
584 qs_host_init(host, board_idx);
587 return ata_host_activate(host, pdev->irq, qs_intr, IRQF_SHARED,