Lines Matching refs:pcic
107 * pcic must be &txx9_primary_pcic or NULL.
110 txx9_alloc_pci_controller(struct pci_controller *pcic,
114 struct pcic {
121 if (!pcic) {
130 pcic = &new->c;
132 BUG_ON(pcic != &txx9_primary_pcic);
133 pcic->io_resource->flags = IORESOURCE_IO;
140 pcic->mem_resource[0].start = mem_base;
141 pcic->mem_resource[0].end = mem_base + mem_size - 1;
142 if (request_resource(&iomem_resource, &pcic->mem_resource[0]))
160 &pcic->mem_resource[0],
169 pcic->mem_resource[1].flags = IORESOURCE_MEM | IORESOURCE_BUSY;
171 pcic->mem_resource[1].start = io_base;
172 pcic->mem_resource[1].end = io_base + io_size - 1;
173 if (request_resource(&iomem_resource, &pcic->mem_resource[1]))
182 &pcic->mem_resource[1],
189 io_base = pcic->mem_resource[1].start;
192 pcic->mem_resource[0].flags = IORESOURCE_MEM;
193 if (pcic == &txx9_primary_pcic &&
196 set_io_port_base(IO_BASE + pcic->mem_resource[1].start);
197 pcic->io_resource->start = 0;
198 pcic->io_offset = 0; /* busaddr == ioaddr */
199 pcic->io_map_base = IO_BASE + pcic->mem_resource[1].start;
202 pcic->io_resource->start =
204 pcic->io_offset = io_base - (mips_io_port_base - IO_BASE);
205 pcic->io_map_base = mips_io_port_base;
207 pcic->io_resource->end = pcic->io_resource->start + io_size - 1;
209 pcic->mem_offset = 0; /* busaddr == physaddr */
211 pr_info("PCI: IO %pR MEM %pR\n", &pcic->mem_resource[1],
212 &pcic->mem_resource[0]);
215 release_resource(&pcic->mem_resource[0]);
216 return pcic;
218 release_resource(&pcic->mem_resource[0]);