Lines Matching +full:pci +full:- +full:domain

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * PCI Backend Common Data Structures & Function Declarations
10 #include <linux/pci.h>
20 #define DRV_NAME "xen-pciback"
55 unsigned int ack_intr:1; /* .. and ACK-ing */
57 unsigned int irq; /* Saved in case device transitions to MSI/MSI-X */
58 char irq_name[]; /* xen-pcibk[000:04:00.0] */
66 /* Get/Put PCI Devices that are hidden from the PCI Backend Domain */
68 int domain, int bus,
80 /* Access a virtual configuration space for a PCI device */
93 unsigned int domain, unsigned int bus,
96 unsigned int domain, unsigned int bus);
99 * vpci - BDFs start at 00
100 * passthrough - BDFs are exactly like in the host.
107 unsigned int *domain, unsigned int *bus,
115 unsigned int domain, unsigned int bus,
128 if (xen_pcibk_backend && xen_pcibk_backend->add) in xen_pcibk_add_pci_dev()
129 return xen_pcibk_backend->add(pdev, dev, devid, publish_cb); in xen_pcibk_add_pci_dev()
130 return -1; in xen_pcibk_add_pci_dev()
136 if (xen_pcibk_backend && xen_pcibk_backend->release) in xen_pcibk_release_pci_dev()
137 return xen_pcibk_backend->release(pdev, dev, lock); in xen_pcibk_release_pci_dev()
141 xen_pcibk_get_pci_dev(struct xen_pcibk_device *pdev, unsigned int domain, in xen_pcibk_get_pci_dev() argument
144 if (xen_pcibk_backend && xen_pcibk_backend->get) in xen_pcibk_get_pci_dev()
145 return xen_pcibk_backend->get(pdev, domain, bus, devfn); in xen_pcibk_get_pci_dev()
150 * Add for domain0 PCIE-AER handling. Get guest domain/bus/devfn in xen_pcibk
157 unsigned int *domain, in xen_pcibk_get_pcifront_dev() argument
161 if (xen_pcibk_backend && xen_pcibk_backend->find) in xen_pcibk_get_pcifront_dev()
162 return xen_pcibk_backend->find(pcidev, pdev, domain, bus, in xen_pcibk_get_pcifront_dev()
164 return -1; in xen_pcibk_get_pcifront_dev()
169 if (xen_pcibk_backend && xen_pcibk_backend->init) in xen_pcibk_init_devices()
170 return xen_pcibk_backend->init(pdev); in xen_pcibk_init_devices()
171 return -1; in xen_pcibk_init_devices()
177 if (xen_pcibk_backend && xen_pcibk_backend->publish) in xen_pcibk_publish_pci_roots()
178 return xen_pcibk_backend->publish(pdev, cb); in xen_pcibk_publish_pci_roots()
179 return -1; in xen_pcibk_publish_pci_roots()
184 if (xen_pcibk_backend && xen_pcibk_backend->free) in xen_pcibk_release_devices()
185 return xen_pcibk_backend->free(pdev); in xen_pcibk_release_devices()
188 /* Handles events from front-end */
195 if (test_and_clear_bit(_EOI_pending, &pdev->flags)) in xen_pcibk_lateeoi()
196 xen_irq_lateeoi(pdev->evtchn_irq, eoi_flag); in xen_pcibk_lateeoi()