Lines Matching +full:used +full:- +full:by +full:- +full:rtas
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
51 #include <machine/rtas.h>
114 if (OF_getproplen(ofw_bus_get_node(dev), "used-by-rtas") < 0) in rtaspci_probe()
119 device_set_desc(dev, "RTAS Host-PCI bridge"); in rtaspci_probe()
130 if (OF_getencprop(ofw_bus_get_node(dev), "reg", (pcell_t *)&sc->sc_pcir, in rtaspci_attach()
131 sizeof(sc->sc_pcir)) == -1) in rtaspci_attach()
134 sc->read_pci_config = rtas_token_lookup("read-pci-config"); in rtaspci_attach()
135 sc->write_pci_config = rtas_token_lookup("write-pci-config"); in rtaspci_attach()
136 sc->ex_read_pci_config = rtas_token_lookup("ibm,read-pci-config"); in rtaspci_attach()
137 sc->ex_write_pci_config = rtas_token_lookup("ibm,write-pci-config"); in rtaspci_attach()
139 sc->sc_extended_config = 0; in rtaspci_attach()
140 OF_getencprop(ofw_bus_get_node(dev), "ibm,pci-config-space-type", in rtaspci_attach()
141 &sc->sc_extended_config, sizeof(sc->sc_extended_config)); in rtaspci_attach()
159 if (sc->sc_extended_config) in rtaspci_read_config()
162 if (sc->ex_read_pci_config != -1) in rtaspci_read_config()
163 error = rtas_call_method(sc->ex_read_pci_config, 4, 2, in rtaspci_read_config()
164 config_addr, sc->sc_pcir.phys_hi, in rtaspci_read_config()
165 sc->sc_pcir.phys_mid, width, &pcierror, &retval); in rtaspci_read_config()
167 error = rtas_call_method(sc->read_pci_config, 2, 2, in rtaspci_read_config()
170 /* Sign-extend output */ in rtaspci_read_config()
198 if (sc->sc_extended_config) in rtaspci_write_config()
201 if (sc->ex_write_pci_config != -1) in rtaspci_write_config()
202 rtas_call_method(sc->ex_write_pci_config, 5, 1, config_addr, in rtaspci_write_config()
203 sc->sc_pcir.phys_hi, sc->sc_pcir.phys_mid, in rtaspci_write_config()
206 rtas_call_method(sc->write_pci_config, 3, 1, config_addr, in rtaspci_write_config()