Lines Matching refs:hose
88 struct pci_controller *hose)
91 unsigned long mid = MCPCIA_HOSE2MID(hose->index);
98 DBG_CFG(("conf_read(addr=0x%lx, type1=%d, hose=%d)\n",
136 struct pci_controller *hose)
139 unsigned long mid = MCPCIA_HOSE2MID(hose->index);
171 struct pci_controller *hose, unsigned long *pci_addr,
177 DBG_CFG(("mk_conf_addr(bus=%d,devfn=0x%x,hose=%d,where=0x%x,"
179 bus, devfn, hose->index, where, pci_addr, type1));
188 addr |= hose->config_space_base;
199 struct pci_controller *hose = bus->sysdata;
203 if (mk_conf_addr(bus, devfn, where, hose, &addr, &type1))
207 w = conf_read(addr, type1, hose);
226 struct pci_controller *hose = bus->sysdata;
230 if (mk_conf_addr(bus, devfn, where, hose, &addr, &type1))
235 conf_write(addr, value, type1, hose);
247 mcpcia_pci_tbi(struct pci_controller *hose, dma_addr_t start, dma_addr_t end)
250 *(vuip)MCPCIA_SG_TBIA(MCPCIA_HOSE2MID(hose->index)) = 0;
262 /* Gotta be REAL careful. If hose is absent, we get an mcheck. */
293 struct pci_controller *hose;
297 hose = alloc_pci_controller();
299 pci_isa_hose = hose;
304 hose->io_space = io;
305 hose->mem_space = hae_mem;
306 hose->sparse_mem_base = MCPCIA_SPARSE(mid) - IDENT_ADDR;
307 hose->dense_mem_base = MCPCIA_DENSE(mid) - IDENT_ADDR;
308 hose->sparse_io_base = MCPCIA_IO(mid) - IDENT_ADDR;
309 hose->dense_io_base = 0;
310 hose->config_space_base = MCPCIA_CONF(mid);
311 hose->index = h;
329 printk(KERN_ERR "Failed to request IO on hose %d\n", h);
331 printk(KERN_ERR "Failed to request MEM on hose %d\n", h);
333 printk(KERN_ERR "Failed to request HAE_MEM on hose %d\n", h);
346 mcpcia_startup_hose(struct pci_controller *hose)
348 int mid = MCPCIA_HOSE2MID(hose->index);
369 hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000,
371 hose->sg_pci = iommu_arena_new(hose, 0x40000000,
378 *(vuip)MCPCIA_W0_BASE(mid) = hose->sg_isa->dma_base | 3;
379 *(vuip)MCPCIA_W0_MASK(mid) = (hose->sg_isa->size - 1) & 0xfff00000;
380 *(vuip)MCPCIA_T0_BASE(mid) = virt_to_phys(hose->sg_isa->ptes) >> 8;
382 *(vuip)MCPCIA_W1_BASE(mid) = hose->sg_pci->dma_base | 3;
383 *(vuip)MCPCIA_W1_MASK(mid) = (hose->sg_pci->size - 1) & 0xfff00000;
384 *(vuip)MCPCIA_T1_BASE(mid) = virt_to_phys(hose->sg_pci->ptes) >> 8;
392 mcpcia_pci_tbi(hose, 0, -1);
411 /* Allocate hose 0. That's the one that all the ISA junk hangs
413 Other hose detection is done in mcpcia_init_hoses, which is
425 struct pci_controller *hose;
441 /* Now do init for each hose. */
442 for (hose = hose_head; hose; hose = hose->next)
443 mcpcia_startup_hose(hose);
522 struct pci_controller *hose;
553 for (hose = hose_head; hose; hose = hose->next, iodpp++) {
556 hose->index, iodpp->base);
594 /* FIXME: how do we figure out which hose the
596 struct pci_controller *hose;
597 for (hose = hose_head; hose; hose = hose->next)
598 mcpcia_pci_clr_err(MCPCIA_HOSE2MID(hose->index));
606 and there's no hose clear an error from. */