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,
82 /* Access a virtual configuration space for a PCI device */
95 unsigned int domain, unsigned int bus,
98 unsigned int domain, unsigned int bus);
101 * vpci - BDFs start at 00
102 * passthrough - BDFs are exactly like in the host.
109 unsigned int *domain, unsigned int *bus,
117 unsigned int domain, unsigned int bus,
130 if (xen_pcibk_backend && xen_pcibk_backend->add) in xen_pcibk_add_pci_dev()
131 return xen_pcibk_backend->add(pdev, dev, devid, publish_cb); in xen_pcibk_add_pci_dev()
132 return -1; in xen_pcibk_add_pci_dev()
138 if (xen_pcibk_backend && xen_pcibk_backend->release) in xen_pcibk_release_pci_dev()
139 return xen_pcibk_backend->release(pdev, dev, lock); in xen_pcibk_release_pci_dev()
143 xen_pcibk_get_pci_dev(struct xen_pcibk_device *pdev, unsigned int domain, in xen_pcibk_get_pci_dev() argument
146 if (xen_pcibk_backend && xen_pcibk_backend->get) in xen_pcibk_get_pci_dev()
147 return xen_pcibk_backend->get(pdev, domain, bus, devfn); in xen_pcibk_get_pci_dev()
152 * Add for domain0 PCIE-AER handling. Get guest domain/bus/devfn in xen_pcibk
159 unsigned int *domain, in xen_pcibk_get_pcifront_dev() argument
163 if (xen_pcibk_backend && xen_pcibk_backend->find) in xen_pcibk_get_pcifront_dev()
164 return xen_pcibk_backend->find(pcidev, pdev, domain, bus, in xen_pcibk_get_pcifront_dev()
166 return -1; in xen_pcibk_get_pcifront_dev()
171 if (xen_pcibk_backend && xen_pcibk_backend->init) in xen_pcibk_init_devices()
172 return xen_pcibk_backend->init(pdev); in xen_pcibk_init_devices()
173 return -1; in xen_pcibk_init_devices()
179 if (xen_pcibk_backend && xen_pcibk_backend->publish) in xen_pcibk_publish_pci_roots()
180 return xen_pcibk_backend->publish(pdev, cb); in xen_pcibk_publish_pci_roots()
181 return -1; in xen_pcibk_publish_pci_roots()
186 if (xen_pcibk_backend && xen_pcibk_backend->free) in xen_pcibk_release_devices()
187 return xen_pcibk_backend->free(pdev); in xen_pcibk_release_devices()
190 /* Handles events from front-end */
197 if (test_and_clear_bit(_EOI_pending, &pdev->flags)) in xen_pcibk_lateeoi()
198 xen_irq_lateeoi(pdev->evtchn_irq, eoi_flag); in xen_pcibk_lateeoi()