Lines Matching +full:cfg +full:- +full:space
1 // SPDX-License-Identifier: GPL-2.0-only
3 * Code borrowed from powerpc/kernel/pci-common.c
17 #include <linux/pci-acpi.h>
18 #include <linux/pci-ecam.h>
35 * raw_pci_read/write - Platform-specific PCI config space access.
44 return b->ops->read(b, devfn, reg, len, val); in raw_pci_read()
54 return b->ops->write(b, devfn, reg, len, val); in raw_pci_write()
61 return dev_to_node(&bus->dev); in pcibus_to_node()
71 struct pci_config_window *cfg; /* config space mapping */ member
76 struct pci_config_window *cfg = bus->sysdata; in acpi_pci_bus_find_domain_nr() local
77 struct acpi_device *adev = to_acpi_device(cfg->parent); in acpi_pci_bus_find_domain_nr()
80 return root->segment; in acpi_pci_bus_find_domain_nr()
86 struct pci_config_window *cfg = bridge->bus->sysdata; in pcibios_root_bridge_prepare() local
87 struct acpi_device *adev = to_acpi_device(cfg->parent); in pcibios_root_bridge_prepare()
88 struct device *bus_dev = &bridge->bus->dev; in pcibios_root_bridge_prepare()
90 ACPI_COMPANION_SET(&bridge->dev, adev); in pcibios_root_bridge_prepare()
103 resource_list_for_each_entry_safe(entry, tmp, &ci->resources) { in pci_acpi_root_prepare_resources()
104 if (!(entry->res->flags & IORESOURCE_WINDOW)) in pci_acpi_root_prepare_resources()
111 * Lookup the bus range for the domain in MCFG, and set up config space
117 struct device *dev = &root->device->dev; in pci_acpi_setup_ecam_mapping()
118 struct resource *bus_res = &root->secondary; in pci_acpi_setup_ecam_mapping()
119 u16 seg = root->segment; in pci_acpi_setup_ecam_mapping()
123 struct pci_config_window *cfg; in pci_acpi_setup_ecam_mapping() local
135 dev_name(&adev->dev)); in pci_acpi_setup_ecam_mapping()
140 cfg = pci_ecam_create(dev, &cfgres, bus_res, ecam_ops); in pci_acpi_setup_ecam_mapping()
141 if (IS_ERR(cfg)) { in pci_acpi_setup_ecam_mapping()
143 PTR_ERR(cfg)); in pci_acpi_setup_ecam_mapping()
147 return cfg; in pci_acpi_setup_ecam_mapping()
156 pci_ecam_free(ri->cfg); in pci_acpi_generic_release_info()
157 kfree(ci->ops); in pci_acpi_generic_release_info()
179 ri->cfg = pci_acpi_setup_ecam_mapping(root); in pci_acpi_scan_root()
180 if (!ri->cfg) { in pci_acpi_scan_root()
186 root_ops->release_info = pci_acpi_generic_release_info; in pci_acpi_scan_root()
187 root_ops->prepare_resources = pci_acpi_root_prepare_resources; in pci_acpi_scan_root()
188 root_ops->pci_ops = (struct pci_ops *)&ri->cfg->ops->pci_ops; in pci_acpi_scan_root()
189 bus = acpi_pci_root_create(root, root_ops, &ri->common, ri->cfg); in pci_acpi_scan_root()
195 if (host->preserve_config) in pci_acpi_scan_root()
204 list_for_each_entry(child, &bus->children, node) in pci_acpi_scan_root()