Lines Matching full:pp

75 		struct pcie_port *pp = pcie_port + i;  in mv78xx0_pcie_preinit()  local
77 snprintf(pp->mem_space_name, sizeof(pp->mem_space_name), in mv78xx0_pcie_preinit()
78 "PCIe %d.%d MEM", pp->maj, pp->min); in mv78xx0_pcie_preinit()
79 pp->mem_space_name[sizeof(pp->mem_space_name) - 1] = 0; in mv78xx0_pcie_preinit()
80 pp->res.name = pp->mem_space_name; in mv78xx0_pcie_preinit()
81 pp->res.flags = IORESOURCE_MEM; in mv78xx0_pcie_preinit()
82 pp->res.start = start; in mv78xx0_pcie_preinit()
83 pp->res.end = start + size_each - 1; in mv78xx0_pcie_preinit()
86 if (request_resource(&iomem_resource, &pp->res)) in mv78xx0_pcie_preinit()
89 mvebu_mbus_add_window_by_id(MV78XX0_MBUS_PCIE_MEM_TARGET(pp->maj, pp->min), in mv78xx0_pcie_preinit()
90 MV78XX0_MBUS_PCIE_MEM_ATTR(pp->maj, pp->min), in mv78xx0_pcie_preinit()
91 pp->res.start, resource_size(&pp->res)); in mv78xx0_pcie_preinit()
92 mvebu_mbus_add_window_remap_by_id(MV78XX0_MBUS_PCIE_IO_TARGET(pp->maj, pp->min), in mv78xx0_pcie_preinit()
93 MV78XX0_MBUS_PCIE_IO_ATTR(pp->maj, pp->min), in mv78xx0_pcie_preinit()
100 struct pcie_port *pp; in mv78xx0_pcie_setup() local
106 pp = &pcie_port[nr]; in mv78xx0_pcie_setup()
107 sys->private_data = pp; in mv78xx0_pcie_setup()
108 pp->root_bus_nr = sys->busnr; in mv78xx0_pcie_setup()
113 orion_pcie_set_local_bus_nr(pp->base, sys->busnr); in mv78xx0_pcie_setup()
114 orion_pcie_setup(pp->base); in mv78xx0_pcie_setup()
120 pci_add_resource_offset(&sys->resources, &pp->res, sys->mem_offset); in mv78xx0_pcie_setup()
125 static int pcie_valid_config(struct pcie_port *pp, int bus, int dev) in pcie_valid_config() argument
131 if (bus == pp->root_bus_nr && dev > 1) in pcie_valid_config()
141 struct pcie_port *pp = sys->private_data; in pcie_rd_conf() local
145 if (pcie_valid_config(pp, bus->number, PCI_SLOT(devfn)) == 0) { in pcie_rd_conf()
150 spin_lock_irqsave(&pp->conf_lock, flags); in pcie_rd_conf()
151 ret = orion_pcie_rd_conf(pp->base, bus, devfn, where, size, val); in pcie_rd_conf()
152 spin_unlock_irqrestore(&pp->conf_lock, flags); in pcie_rd_conf()
161 struct pcie_port *pp = sys->private_data; in pcie_wr_conf() local
165 if (pcie_valid_config(pp, bus->number, PCI_SLOT(devfn)) == 0) in pcie_wr_conf()
168 spin_lock_irqsave(&pp->conf_lock, flags); in pcie_wr_conf()
169 ret = orion_pcie_wr_conf(pp->base, bus, devfn, where, size, val); in pcie_wr_conf()
170 spin_unlock_irqrestore(&pp->conf_lock, flags); in pcie_wr_conf()
224 struct pcie_port *pp = sys->private_data; in mv78xx0_pcie_map_irq() local
226 return IRQ_MV78XX0_PCIE_00 + (pp->maj << 2) + pp->min; in mv78xx0_pcie_map_irq()
242 struct pcie_port *pp = &pcie_port[num_pcie_ports++]; in add_pcie_port() local
246 pp->maj = maj; in add_pcie_port()
247 pp->min = min; in add_pcie_port()
248 pp->root_bus_nr = -1; in add_pcie_port()
249 pp->base = base; in add_pcie_port()
250 spin_lock_init(&pp->conf_lock); in add_pcie_port()
251 memset(&pp->res, 0, sizeof(pp->res)); in add_pcie_port()