Lines Matching refs:pcic
108 * pcic must be &txx9_primary_pcic or NULL.
111 txx9_alloc_pci_controller(struct pci_controller *pcic,
115 struct pcic {
122 if (!pcic) {
131 pcic = &new->c;
133 BUG_ON(pcic != &txx9_primary_pcic);
134 pcic->io_resource->flags = IORESOURCE_IO;
141 pcic->mem_resource[0].start = mem_base;
142 pcic->mem_resource[0].end = mem_base + mem_size - 1;
143 if (request_resource(&iomem_resource, &pcic->mem_resource[0]))
161 &pcic->mem_resource[0],
170 pcic->mem_resource[1].flags = IORESOURCE_MEM | IORESOURCE_BUSY;
172 pcic->mem_resource[1].start = io_base;
173 pcic->mem_resource[1].end = io_base + io_size - 1;
174 if (request_resource(&iomem_resource, &pcic->mem_resource[1]))
183 &pcic->mem_resource[1],
190 io_base = pcic->mem_resource[1].start;
193 pcic->mem_resource[0].flags = IORESOURCE_MEM;
194 if (pcic == &txx9_primary_pcic &&
197 set_io_port_base(IO_BASE + pcic->mem_resource[1].start);
198 pcic->io_resource->start = 0;
199 pcic->io_offset = 0; /* busaddr == ioaddr */
200 pcic->io_map_base = IO_BASE + pcic->mem_resource[1].start;
203 pcic->io_resource->start =
205 pcic->io_offset = io_base - (mips_io_port_base - IO_BASE);
206 pcic->io_map_base = mips_io_port_base;
208 pcic->io_resource->end = pcic->io_resource->start + io_size - 1;
210 pcic->mem_offset = 0; /* busaddr == physaddr */
212 pr_info("PCI: IO %pR MEM %pR\n", &pcic->mem_resource[1],
213 &pcic->mem_resource[0]);
216 release_resource(&pcic->mem_resource[0]);
217 return pcic;
219 release_resource(&pcic->mem_resource[0]);